|
@@ -1,6 +1,6 @@ |
|
|
var assert = chai.assert; |
|
|
var assert = chai.assert; |
|
|
|
|
|
|
|
|
describe('LessPass', function () { |
|
|
|
|
|
|
|
|
describe('LessPass v1', function () { |
|
|
describe('encryptLogin', function () { |
|
|
describe('encryptLogin', function () { |
|
|
it('should use pbkdf2 with 8192 iterations and sha256', function (done) { |
|
|
it('should use pbkdf2 with 8192 iterations and sha256', function (done) { |
|
|
LessPass.encryptLogin('test@example.org', 'password').then(function (encryptedLogin) { |
|
|
LessPass.encryptLogin('test@example.org', 'password').then(function (encryptedLogin) { |
|
@@ -39,81 +39,73 @@ describe('LessPass', function () { |
|
|
}); |
|
|
}); |
|
|
}); |
|
|
}); |
|
|
|
|
|
|
|
|
it('auto generated encrypt login tests', function () { |
|
|
|
|
|
this.timeout(10000); |
|
|
|
|
|
var promises = []; |
|
|
|
|
|
var passwords = [ |
|
|
|
|
|
{ |
|
|
|
|
|
login: 'contact@lesspass.com', |
|
|
|
|
|
masterPassword: 'password', |
|
|
|
|
|
encryptedLogin: '63d850713d0b2f7f2c4396fe93f4ac0c6bc7485f9e7473c4b8c4a33ec12199c0', |
|
|
|
|
|
}, |
|
|
|
|
|
{ |
|
|
|
|
|
login: 'contact@lesspass.com', |
|
|
|
|
|
masterPassword: 'password', |
|
|
|
|
|
encryptedLogin: '63d850713d0b2f7f2c4396fe93f4ac0c6bc7485f9e7473c4b8c4a33ec12199c0', |
|
|
|
|
|
}, |
|
|
|
|
|
{ |
|
|
|
|
|
login: 'contact@lesspass.com', |
|
|
|
|
|
masterPassword: 'password', |
|
|
|
|
|
encryptedLogin: '63d850713d0b2f7f2c4396fe93f4ac0c6bc7485f9e7473c4b8c4a33ec12199c0', |
|
|
|
|
|
}, |
|
|
|
|
|
{ |
|
|
|
|
|
login: 'contact@lesspass.com', |
|
|
|
|
|
masterPassword: 'password', |
|
|
|
|
|
encryptedLogin: '63d850713d0b2f7f2c4396fe93f4ac0c6bc7485f9e7473c4b8c4a33ec12199c0', |
|
|
|
|
|
}, |
|
|
|
|
|
{ |
|
|
|
|
|
login: 'contact@lesspass.com', |
|
|
|
|
|
masterPassword: 'password', |
|
|
|
|
|
encryptedLogin: '63d850713d0b2f7f2c4396fe93f4ac0c6bc7485f9e7473c4b8c4a33ec12199c0', |
|
|
|
|
|
}, |
|
|
|
|
|
{ |
|
|
|
|
|
login: 'contact@lesspass.com', |
|
|
|
|
|
masterPassword: 'password', |
|
|
|
|
|
encryptedLogin: '63d850713d0b2f7f2c4396fe93f4ac0c6bc7485f9e7473c4b8c4a33ec12199c0', |
|
|
|
|
|
}, |
|
|
|
|
|
{ |
|
|
|
|
|
login: 'contact@lesspass.com', |
|
|
|
|
|
masterPassword: 'password', |
|
|
|
|
|
encryptedLogin: '63d850713d0b2f7f2c4396fe93f4ac0c6bc7485f9e7473c4b8c4a33ec12199c0', |
|
|
|
|
|
}, |
|
|
|
|
|
{ |
|
|
|
|
|
login: 'contact@lesspass.com', |
|
|
|
|
|
masterPassword: 'password', |
|
|
|
|
|
encryptedLogin: '63d850713d0b2f7f2c4396fe93f4ac0c6bc7485f9e7473c4b8c4a33ec12199c0', |
|
|
|
|
|
}, |
|
|
|
|
|
{ |
|
|
|
|
|
login: 'contact@lesspass.com', |
|
|
|
|
|
masterPassword: 'password', |
|
|
|
|
|
encryptedLogin: '63d850713d0b2f7f2c4396fe93f4ac0c6bc7485f9e7473c4b8c4a33ec12199c0', |
|
|
|
|
|
}, |
|
|
|
|
|
{ |
|
|
|
|
|
login: 'lesspass', |
|
|
|
|
|
masterPassword: 'password', |
|
|
|
|
|
encryptedLogin: '7d05ee25597dcc3ac16d082aa910e7707f75be620ed8db5bef7245e2a8579116', |
|
|
|
|
|
}, |
|
|
|
|
|
{ |
|
|
|
|
|
login: 'contact@lesspass.com', |
|
|
|
|
|
masterPassword: 'password2', |
|
|
|
|
|
encryptedLogin: 'ce853092fc54fe88c281e38df97bd5826d64e6bee315dc94939cbba8930df0e4', |
|
|
|
|
|
} |
|
|
|
|
|
]; |
|
|
|
|
|
|
|
|
it('encryptLogin auto generated test 0', function () { |
|
|
|
|
|
return LessPass.encryptLogin('contact@lesspass.com', 'password').then(function (encryptedLogin) { |
|
|
|
|
|
assert.equal('63d850713d0b2f7f2c4396fe93f4ac0c6bc7485f9e7473c4b8c4a33ec12199c0', encryptedLogin); |
|
|
|
|
|
}); |
|
|
|
|
|
}); |
|
|
|
|
|
|
|
|
passwords.forEach(function (entry) { |
|
|
|
|
|
promises.push(LessPass.encryptLogin(entry.login, entry.masterPassword)); |
|
|
|
|
|
|
|
|
it('encryptLogin auto generated test 1', function () { |
|
|
|
|
|
return LessPass.encryptLogin('contact@lesspass.com', 'password').then(function (encryptedLogin) { |
|
|
|
|
|
assert.equal('63d850713d0b2f7f2c4396fe93f4ac0c6bc7485f9e7473c4b8c4a33ec12199c0', encryptedLogin); |
|
|
}); |
|
|
}); |
|
|
|
|
|
}); |
|
|
|
|
|
|
|
|
return Promise.all(promises).then(function (values) { |
|
|
|
|
|
for (var i = 0; i < values.length; i++) { |
|
|
|
|
|
assert.equal(passwords[i].encryptedLogin, values[i]); |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
it('encryptLogin auto generated test 2', function () { |
|
|
|
|
|
return LessPass.encryptLogin('contact@lesspass.com', 'password').then(function (encryptedLogin) { |
|
|
|
|
|
assert.equal('63d850713d0b2f7f2c4396fe93f4ac0c6bc7485f9e7473c4b8c4a33ec12199c0', encryptedLogin); |
|
|
|
|
|
}); |
|
|
|
|
|
}); |
|
|
|
|
|
|
|
|
|
|
|
it('encryptLogin auto generated test 3', function () { |
|
|
|
|
|
return LessPass.encryptLogin('contact@lesspass.com', 'password').then(function (encryptedLogin) { |
|
|
|
|
|
assert.equal('63d850713d0b2f7f2c4396fe93f4ac0c6bc7485f9e7473c4b8c4a33ec12199c0', encryptedLogin); |
|
|
|
|
|
}); |
|
|
|
|
|
}); |
|
|
|
|
|
|
|
|
|
|
|
it('encryptLogin auto generated test 4', function () { |
|
|
|
|
|
return LessPass.encryptLogin('contact@lesspass.com', 'password').then(function (encryptedLogin) { |
|
|
|
|
|
assert.equal('63d850713d0b2f7f2c4396fe93f4ac0c6bc7485f9e7473c4b8c4a33ec12199c0', encryptedLogin); |
|
|
|
|
|
}); |
|
|
|
|
|
}); |
|
|
|
|
|
|
|
|
|
|
|
it('encryptLogin auto generated test 5', function () { |
|
|
|
|
|
return LessPass.encryptLogin('contact@lesspass.com', 'password').then(function (encryptedLogin) { |
|
|
|
|
|
assert.equal('63d850713d0b2f7f2c4396fe93f4ac0c6bc7485f9e7473c4b8c4a33ec12199c0', encryptedLogin); |
|
|
|
|
|
}); |
|
|
|
|
|
}); |
|
|
|
|
|
|
|
|
|
|
|
it('encryptLogin auto generated test 6', function () { |
|
|
|
|
|
return LessPass.encryptLogin('contact@lesspass.com', 'password').then(function (encryptedLogin) { |
|
|
|
|
|
assert.equal('63d850713d0b2f7f2c4396fe93f4ac0c6bc7485f9e7473c4b8c4a33ec12199c0', encryptedLogin); |
|
|
|
|
|
}); |
|
|
|
|
|
}); |
|
|
|
|
|
|
|
|
|
|
|
it('encryptLogin auto generated test 7', function () { |
|
|
|
|
|
return LessPass.encryptLogin('contact@lesspass.com', 'password').then(function (encryptedLogin) { |
|
|
|
|
|
assert.equal('63d850713d0b2f7f2c4396fe93f4ac0c6bc7485f9e7473c4b8c4a33ec12199c0', encryptedLogin); |
|
|
|
|
|
}); |
|
|
|
|
|
}); |
|
|
|
|
|
|
|
|
|
|
|
it('encryptLogin auto generated test 8', function () { |
|
|
|
|
|
return LessPass.encryptLogin('contact@lesspass.com', 'password').then(function (encryptedLogin) { |
|
|
|
|
|
assert.equal('63d850713d0b2f7f2c4396fe93f4ac0c6bc7485f9e7473c4b8c4a33ec12199c0', encryptedLogin); |
|
|
|
|
|
}); |
|
|
|
|
|
}); |
|
|
|
|
|
|
|
|
|
|
|
it('encryptLogin auto generated test 9', function () { |
|
|
|
|
|
return LessPass.encryptLogin('lesspass', 'password').then(function (encryptedLogin) { |
|
|
|
|
|
assert.equal('7d05ee25597dcc3ac16d082aa910e7707f75be620ed8db5bef7245e2a8579116', encryptedLogin); |
|
|
|
|
|
}); |
|
|
|
|
|
}); |
|
|
|
|
|
|
|
|
|
|
|
it('encryptLogin auto generated test 10', function () { |
|
|
|
|
|
return LessPass.encryptLogin('contact@lesspass.com', 'password2').then(function (encryptedLogin) { |
|
|
|
|
|
assert.equal('ce853092fc54fe88c281e38df97bd5826d64e6bee315dc94939cbba8930df0e4', encryptedLogin); |
|
|
}); |
|
|
}); |
|
|
}); |
|
|
}); |
|
|
}); |
|
|
}); |
|
|
}); |
|
|
|
|
|
|
|
|
|
|
|
describe('LessPass', function () { |
|
|
|
|
|
describe('renderPassword', function () { |
|
|
describe('renderPassword', function () { |
|
|
it('render password', function (done) { |
|
|
it('render password', function (done) { |
|
|
var site = 'lesspass.com'; |
|
|
var site = 'lesspass.com'; |
|
@@ -186,154 +178,184 @@ describe('LessPass', function () { |
|
|
}) |
|
|
}) |
|
|
}); |
|
|
}); |
|
|
|
|
|
|
|
|
it('auto generated render password tests', function () { |
|
|
|
|
|
var promises = []; |
|
|
|
|
|
var passwords = [ |
|
|
|
|
|
{ |
|
|
|
|
|
encryptedLogin: '63d850713d0b2f7f2c4396fe93f4ac0c6bc7485f9e7473c4b8c4a33ec12199c0', |
|
|
|
|
|
site: 'lesspass.com', |
|
|
|
|
|
counter: 1, |
|
|
|
|
|
length: 12, |
|
|
|
|
|
lowercase: true, |
|
|
|
|
|
uppercase: true, |
|
|
|
|
|
numbers: true, |
|
|
|
|
|
symbols: true, |
|
|
|
|
|
generatedPassword: 'azYS7,olOL2]' |
|
|
|
|
|
}, |
|
|
|
|
|
{ |
|
|
|
|
|
encryptedLogin: '63d850713d0b2f7f2c4396fe93f4ac0c6bc7485f9e7473c4b8c4a33ec12199c0', |
|
|
|
|
|
site: 'lesspass.com', |
|
|
|
|
|
counter: 1, |
|
|
|
|
|
length: 14, |
|
|
|
|
|
lowercase: true, |
|
|
|
|
|
uppercase: true, |
|
|
|
|
|
numbers: true, |
|
|
|
|
|
symbols: true, |
|
|
|
|
|
generatedPassword: 'azYS7,olOL2]iz' |
|
|
|
|
|
}, |
|
|
|
|
|
{ |
|
|
|
|
|
encryptedLogin: '63d850713d0b2f7f2c4396fe93f4ac0c6bc7485f9e7473c4b8c4a33ec12199c0', |
|
|
|
|
|
site: 'lesspass.com', |
|
|
|
|
|
counter: 1, |
|
|
|
|
|
length: 12, |
|
|
|
|
|
lowercase: true, |
|
|
|
|
|
uppercase: false, |
|
|
|
|
|
numbers: false, |
|
|
|
|
|
symbols: false, |
|
|
|
|
|
generatedPassword: 'azyseqololat' |
|
|
|
|
|
}, |
|
|
|
|
|
{ |
|
|
|
|
|
encryptedLogin: '63d850713d0b2f7f2c4396fe93f4ac0c6bc7485f9e7473c4b8c4a33ec12199c0', |
|
|
|
|
|
site: 'lesspass.com', |
|
|
|
|
|
counter: 1, |
|
|
|
|
|
length: 12, |
|
|
|
|
|
lowercase: false, |
|
|
|
|
|
uppercase: true, |
|
|
|
|
|
numbers: true, |
|
|
|
|
|
symbols: true, |
|
|
|
|
|
generatedPassword: 'AZ3[EQ7@OL2]' |
|
|
|
|
|
}, |
|
|
|
|
|
{ |
|
|
|
|
|
encryptedLogin: '63d850713d0b2f7f2c4396fe93f4ac0c6bc7485f9e7473c4b8c4a33ec12199c0', |
|
|
|
|
|
site: 'lesspass.com', |
|
|
|
|
|
counter: 1, |
|
|
|
|
|
length: 12, |
|
|
|
|
|
lowercase: false, |
|
|
|
|
|
uppercase: false, |
|
|
|
|
|
numbers: true, |
|
|
|
|
|
symbols: true, |
|
|
|
|
|
generatedPassword: '4?3[7,7@7@2]' |
|
|
|
|
|
}, |
|
|
|
|
|
{ |
|
|
|
|
|
encryptedLogin: '63d850713d0b2f7f2c4396fe93f4ac0c6bc7485f9e7473c4b8c4a33ec12199c0', |
|
|
|
|
|
site: 'lesspass.com', |
|
|
|
|
|
counter: 1, |
|
|
|
|
|
length: 12, |
|
|
|
|
|
lowercase: false, |
|
|
|
|
|
uppercase: false, |
|
|
|
|
|
numbers: false, |
|
|
|
|
|
symbols: true, |
|
|
|
|
|
generatedPassword: '[?=[&,:@:@[]' |
|
|
|
|
|
}, |
|
|
|
|
|
{ |
|
|
|
|
|
encryptedLogin: '63d850713d0b2f7f2c4396fe93f4ac0c6bc7485f9e7473c4b8c4a33ec12199c0', |
|
|
|
|
|
site: 'lesspass.com', |
|
|
|
|
|
counter: 1, |
|
|
|
|
|
length: 12, |
|
|
|
|
|
lowercase: true, |
|
|
|
|
|
uppercase: true, |
|
|
|
|
|
numbers: true, |
|
|
|
|
|
symbols: false, |
|
|
|
|
|
generatedPassword: 'azYS7uwAW8at' |
|
|
|
|
|
}, |
|
|
|
|
|
{ |
|
|
|
|
|
encryptedLogin: '63d850713d0b2f7f2c4396fe93f4ac0c6bc7485f9e7473c4b8c4a33ec12199c0', |
|
|
|
|
|
site: 'lesspass.com', |
|
|
|
|
|
counter: 1, |
|
|
|
|
|
length: 12, |
|
|
|
|
|
lowercase: true, |
|
|
|
|
|
uppercase: true, |
|
|
|
|
|
numbers: false, |
|
|
|
|
|
symbols: false, |
|
|
|
|
|
generatedPassword: 'azYSeqOLolAT' |
|
|
|
|
|
}, |
|
|
|
|
|
{ |
|
|
|
|
|
encryptedLogin: '63d850713d0b2f7f2c4396fe93f4ac0c6bc7485f9e7473c4b8c4a33ec12199c0', |
|
|
|
|
|
site: 'lesspass.com', |
|
|
|
|
|
counter: 2, |
|
|
|
|
|
length: 12, |
|
|
|
|
|
lowercase: true, |
|
|
|
|
|
uppercase: true, |
|
|
|
|
|
numbers: true, |
|
|
|
|
|
symbols: true, |
|
|
|
|
|
generatedPassword: 'obYT2=olOV9=' |
|
|
|
|
|
}, |
|
|
|
|
|
{ |
|
|
|
|
|
encryptedLogin: '7d05ee25597dcc3ac16d082aa910e7707f75be620ed8db5bef7245e2a8579116', |
|
|
|
|
|
site: 'lesspass.com', |
|
|
|
|
|
counter: 1, |
|
|
|
|
|
length: 12, |
|
|
|
|
|
lowercase: true, |
|
|
|
|
|
uppercase: true, |
|
|
|
|
|
numbers: true, |
|
|
|
|
|
symbols: true, |
|
|
|
|
|
generatedPassword: 'erOC1%imIW3,' |
|
|
|
|
|
}, |
|
|
|
|
|
{ |
|
|
|
|
|
encryptedLogin: 'ce853092fc54fe88c281e38df97bd5826d64e6bee315dc94939cbba8930df0e4', |
|
|
|
|
|
site: 'lesspass.com', |
|
|
|
|
|
counter: 1, |
|
|
|
|
|
length: 12, |
|
|
|
|
|
lowercase: true, |
|
|
|
|
|
uppercase: true, |
|
|
|
|
|
numbers: true, |
|
|
|
|
|
symbols: true, |
|
|
|
|
|
generatedPassword: 'uvUM5_ucUP5=' |
|
|
|
|
|
} |
|
|
|
|
|
]; |
|
|
|
|
|
|
|
|
|
|
|
passwords.forEach(function (entry) { |
|
|
|
|
|
var passwordOption = { |
|
|
|
|
|
counter: entry.counter, |
|
|
|
|
|
length: entry.length, |
|
|
|
|
|
lowercase: entry.lowercase, |
|
|
|
|
|
uppercase: entry.uppercase, |
|
|
|
|
|
numbers: entry.numbers, |
|
|
|
|
|
symbols: entry.symbols, |
|
|
|
|
|
}; |
|
|
|
|
|
promises.push(LessPass.renderPassword(entry.encryptedLogin, entry.site, passwordOption)); |
|
|
|
|
|
}); |
|
|
|
|
|
|
|
|
it('render password auto generated test 0', function () { |
|
|
|
|
|
var site = 'lesspass.com'; |
|
|
|
|
|
var encryptedLogin = '63d850713d0b2f7f2c4396fe93f4ac0c6bc7485f9e7473c4b8c4a33ec12199c0'; |
|
|
|
|
|
var passwordOptions = { |
|
|
|
|
|
counter: 1, |
|
|
|
|
|
length: 12, |
|
|
|
|
|
lowercase: true, |
|
|
|
|
|
uppercase: true, |
|
|
|
|
|
numbers: true, |
|
|
|
|
|
symbols: true |
|
|
|
|
|
}; |
|
|
|
|
|
return LessPass.renderPassword(encryptedLogin, site, passwordOptions).then(function (generatedPassword) { |
|
|
|
|
|
assert.equal('azYS7,olOL2]', generatedPassword); |
|
|
|
|
|
}) |
|
|
|
|
|
}); |
|
|
|
|
|
|
|
|
return Promise.all(promises).then(function(values) { |
|
|
|
|
|
for (var i = 0; i < values.length; i++) { |
|
|
|
|
|
assert.equal(passwords[i].generatedPassword, values[i]); |
|
|
|
|
|
} |
|
|
|
|
|
}); |
|
|
|
|
|
|
|
|
it('render password auto generated test 1', function () { |
|
|
|
|
|
var site = 'lesspass.com'; |
|
|
|
|
|
var encryptedLogin = '63d850713d0b2f7f2c4396fe93f4ac0c6bc7485f9e7473c4b8c4a33ec12199c0'; |
|
|
|
|
|
var passwordOptions = { |
|
|
|
|
|
counter: 1, |
|
|
|
|
|
length: 14, |
|
|
|
|
|
lowercase: true, |
|
|
|
|
|
uppercase: true, |
|
|
|
|
|
numbers: true, |
|
|
|
|
|
symbols: true |
|
|
|
|
|
}; |
|
|
|
|
|
return LessPass.renderPassword(encryptedLogin, site, passwordOptions).then(function (generatedPassword) { |
|
|
|
|
|
assert.equal('azYS7,olOL2]iz', generatedPassword); |
|
|
|
|
|
}) |
|
|
}); |
|
|
}); |
|
|
}); |
|
|
|
|
|
}); |
|
|
|
|
|
|
|
|
|
|
|
describe('LessPass', function () { |
|
|
|
|
|
|
|
|
it('render password auto generated test 2', function () { |
|
|
|
|
|
var site = 'lesspass.com'; |
|
|
|
|
|
var encryptedLogin = '63d850713d0b2f7f2c4396fe93f4ac0c6bc7485f9e7473c4b8c4a33ec12199c0'; |
|
|
|
|
|
var passwordOptions = { |
|
|
|
|
|
counter: 1, |
|
|
|
|
|
length: 12, |
|
|
|
|
|
lowercase: true, |
|
|
|
|
|
uppercase: false, |
|
|
|
|
|
numbers: false, |
|
|
|
|
|
symbols: false, |
|
|
|
|
|
}; |
|
|
|
|
|
return LessPass.renderPassword(encryptedLogin, site, passwordOptions).then(function (generatedPassword) { |
|
|
|
|
|
assert.equal('azyseqololat', generatedPassword); |
|
|
|
|
|
}) |
|
|
|
|
|
}); |
|
|
|
|
|
|
|
|
|
|
|
it('render password auto generated test 3', function () { |
|
|
|
|
|
var site = 'lesspass.com'; |
|
|
|
|
|
var encryptedLogin = '63d850713d0b2f7f2c4396fe93f4ac0c6bc7485f9e7473c4b8c4a33ec12199c0'; |
|
|
|
|
|
var passwordOptions = { |
|
|
|
|
|
counter: 1, |
|
|
|
|
|
length: 12, |
|
|
|
|
|
lowercase: false, |
|
|
|
|
|
uppercase: true, |
|
|
|
|
|
numbers: true, |
|
|
|
|
|
symbols: true |
|
|
|
|
|
}; |
|
|
|
|
|
return LessPass.renderPassword(encryptedLogin, site, passwordOptions).then(function (generatedPassword) { |
|
|
|
|
|
assert.equal('AZ3[EQ7@OL2]', generatedPassword); |
|
|
|
|
|
}) |
|
|
|
|
|
}); |
|
|
|
|
|
|
|
|
|
|
|
it('render password auto generated test 4', function () { |
|
|
|
|
|
var site = 'lesspass.com'; |
|
|
|
|
|
var encryptedLogin = '63d850713d0b2f7f2c4396fe93f4ac0c6bc7485f9e7473c4b8c4a33ec12199c0'; |
|
|
|
|
|
var passwordOptions = { |
|
|
|
|
|
counter: 1, |
|
|
|
|
|
length: 12, |
|
|
|
|
|
lowercase: false, |
|
|
|
|
|
uppercase: false, |
|
|
|
|
|
numbers: true, |
|
|
|
|
|
symbols: true |
|
|
|
|
|
}; |
|
|
|
|
|
return LessPass.renderPassword(encryptedLogin, site, passwordOptions).then(function (generatedPassword) { |
|
|
|
|
|
assert.equal('4?3[7,7@7@2]', generatedPassword); |
|
|
|
|
|
}) |
|
|
|
|
|
}); |
|
|
|
|
|
|
|
|
|
|
|
it('render password auto generated test 5', function () { |
|
|
|
|
|
var site = 'lesspass.com'; |
|
|
|
|
|
var encryptedLogin = '63d850713d0b2f7f2c4396fe93f4ac0c6bc7485f9e7473c4b8c4a33ec12199c0'; |
|
|
|
|
|
var passwordOptions = { |
|
|
|
|
|
counter: 1, |
|
|
|
|
|
length: 12, |
|
|
|
|
|
lowercase: false, |
|
|
|
|
|
uppercase: false, |
|
|
|
|
|
numbers: false, |
|
|
|
|
|
symbols: true |
|
|
|
|
|
}; |
|
|
|
|
|
return LessPass.renderPassword(encryptedLogin, site, passwordOptions).then(function (generatedPassword) { |
|
|
|
|
|
assert.equal('[?=[&,:@:@[]', generatedPassword); |
|
|
|
|
|
}) |
|
|
|
|
|
}); |
|
|
|
|
|
|
|
|
|
|
|
it('render password auto generated test 6', function () { |
|
|
|
|
|
var site = 'lesspass.com'; |
|
|
|
|
|
var encryptedLogin = '63d850713d0b2f7f2c4396fe93f4ac0c6bc7485f9e7473c4b8c4a33ec12199c0'; |
|
|
|
|
|
var passwordOptions = { |
|
|
|
|
|
counter: 1, |
|
|
|
|
|
length: 12, |
|
|
|
|
|
lowercase: true, |
|
|
|
|
|
uppercase: true, |
|
|
|
|
|
numbers: true, |
|
|
|
|
|
symbols: false |
|
|
|
|
|
}; |
|
|
|
|
|
return LessPass.renderPassword(encryptedLogin, site, passwordOptions).then(function (generatedPassword) { |
|
|
|
|
|
assert.equal('azYS7uwAW8at', generatedPassword); |
|
|
|
|
|
}) |
|
|
|
|
|
}); |
|
|
|
|
|
|
|
|
|
|
|
it('render password auto generated test 7', function () { |
|
|
|
|
|
var site = 'lesspass.com'; |
|
|
|
|
|
var encryptedLogin = '63d850713d0b2f7f2c4396fe93f4ac0c6bc7485f9e7473c4b8c4a33ec12199c0'; |
|
|
|
|
|
var passwordOptions = { |
|
|
|
|
|
counter: 1, |
|
|
|
|
|
length: 12, |
|
|
|
|
|
lowercase: true, |
|
|
|
|
|
uppercase: true, |
|
|
|
|
|
numbers: false, |
|
|
|
|
|
symbols: false |
|
|
|
|
|
}; |
|
|
|
|
|
return LessPass.renderPassword(encryptedLogin, site, passwordOptions).then(function (generatedPassword) { |
|
|
|
|
|
assert.equal('azYSeqOLolAT', generatedPassword); |
|
|
|
|
|
}) |
|
|
|
|
|
}); |
|
|
|
|
|
|
|
|
|
|
|
it('render password auto generated test 8', function () { |
|
|
|
|
|
var site = 'lesspass.com'; |
|
|
|
|
|
var encryptedLogin = '63d850713d0b2f7f2c4396fe93f4ac0c6bc7485f9e7473c4b8c4a33ec12199c0'; |
|
|
|
|
|
var passwordOptions = { |
|
|
|
|
|
counter: 2, |
|
|
|
|
|
length: 12, |
|
|
|
|
|
lowercase: true, |
|
|
|
|
|
uppercase: true, |
|
|
|
|
|
numbers: true, |
|
|
|
|
|
symbols: true |
|
|
|
|
|
}; |
|
|
|
|
|
return LessPass.renderPassword(encryptedLogin, site, passwordOptions).then(function (generatedPassword) { |
|
|
|
|
|
assert.equal('obYT2=olOV9=', generatedPassword); |
|
|
|
|
|
}) |
|
|
|
|
|
}); |
|
|
|
|
|
|
|
|
|
|
|
it('render password auto generated test 9', function () { |
|
|
|
|
|
var site = 'lesspass.com'; |
|
|
|
|
|
var encryptedLogin = '7d05ee25597dcc3ac16d082aa910e7707f75be620ed8db5bef7245e2a8579116'; |
|
|
|
|
|
var passwordOptions = { |
|
|
|
|
|
counter: 1, |
|
|
|
|
|
length: 12, |
|
|
|
|
|
lowercase: true, |
|
|
|
|
|
uppercase: true, |
|
|
|
|
|
numbers: true, |
|
|
|
|
|
symbols: true |
|
|
|
|
|
}; |
|
|
|
|
|
return LessPass.renderPassword(encryptedLogin, site, passwordOptions).then(function (generatedPassword) { |
|
|
|
|
|
assert.equal('erOC1%imIW3,', generatedPassword); |
|
|
|
|
|
}) |
|
|
|
|
|
}); |
|
|
|
|
|
|
|
|
|
|
|
it('render password auto generated test 10', function () { |
|
|
|
|
|
var site = 'lesspass.com'; |
|
|
|
|
|
var encryptedLogin = 'ce853092fc54fe88c281e38df97bd5826d64e6bee315dc94939cbba8930df0e4'; |
|
|
|
|
|
var passwordOptions = { |
|
|
|
|
|
counter: 1, |
|
|
|
|
|
length: 12, |
|
|
|
|
|
lowercase: true, |
|
|
|
|
|
uppercase: true, |
|
|
|
|
|
numbers: true, |
|
|
|
|
|
symbols: true |
|
|
|
|
|
}; |
|
|
|
|
|
return LessPass.renderPassword(encryptedLogin, site, passwordOptions).then(function (generatedPassword) { |
|
|
|
|
|
assert.equal('uvUM5_ucUP5=', generatedPassword); |
|
|
|
|
|
}) |
|
|
|
|
|
}); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
}); |
|
|
describe('fingerprint', function () { |
|
|
describe('fingerprint', function () { |
|
|
it('createFingerprint', function () { |
|
|
it('createFingerprint', function () { |
|
|
return LessPass.createFingerprint('password').then(function (fingerprint) { |
|
|
return LessPass.createFingerprint('password').then(function (fingerprint) { |
|
@@ -341,5 +363,222 @@ describe('LessPass', function () { |
|
|
}) |
|
|
}) |
|
|
}); |
|
|
}); |
|
|
}); |
|
|
}); |
|
|
|
|
|
|
|
|
|
|
|
describe('generatePassword', function () { |
|
|
|
|
|
it('generate password', function () { |
|
|
|
|
|
var site = 'example.org'; |
|
|
|
|
|
var login = 'contact@example.org'; |
|
|
|
|
|
var masterPassword = 'password'; |
|
|
|
|
|
var passwordProfile = { |
|
|
|
|
|
lowercase: true, |
|
|
|
|
|
uppercase: true, |
|
|
|
|
|
digits: true, |
|
|
|
|
|
symbols: true, |
|
|
|
|
|
length: 12, |
|
|
|
|
|
index: 1, |
|
|
|
|
|
version: 1, |
|
|
|
|
|
}; |
|
|
|
|
|
return LessPass.generatePassword(site, login, masterPassword, passwordProfile).then(function (generatedPassword) { |
|
|
|
|
|
assert.equal('izIS5@ozYM2?', generatedPassword); |
|
|
|
|
|
}); |
|
|
|
|
|
}); |
|
|
|
|
|
it('generate password auto generated test 0', function () { |
|
|
|
|
|
var site = 'lesspass.com'; |
|
|
|
|
|
var login = 'contact@lesspass.com'; |
|
|
|
|
|
var masterPassword = 'password'; |
|
|
|
|
|
var passwordProfile = { |
|
|
|
|
|
lowercase: true, |
|
|
|
|
|
uppercase: true, |
|
|
|
|
|
digits: true, |
|
|
|
|
|
symbols: true, |
|
|
|
|
|
length: 12, |
|
|
|
|
|
index: 1, |
|
|
|
|
|
version: 1, |
|
|
|
|
|
}; |
|
|
|
|
|
return LessPass.generatePassword(site, login, masterPassword, passwordProfile).then(function (generatedPassword) { |
|
|
|
|
|
assert.equal('azYS7,olOL2]', generatedPassword); |
|
|
|
|
|
}); |
|
|
|
|
|
}); |
|
|
|
|
|
|
|
|
|
|
|
it('generate password auto generated test 1', function () { |
|
|
|
|
|
var site = 'lesspass.com'; |
|
|
|
|
|
var login = 'contact@lesspass.com'; |
|
|
|
|
|
var masterPassword = 'password'; |
|
|
|
|
|
var passwordProfile = { |
|
|
|
|
|
lowercase: true, |
|
|
|
|
|
uppercase: true, |
|
|
|
|
|
digits: true, |
|
|
|
|
|
symbols: true, |
|
|
|
|
|
length: 14, |
|
|
|
|
|
index: 1, |
|
|
|
|
|
version: 1, |
|
|
|
|
|
}; |
|
|
|
|
|
return LessPass.generatePassword(site, login, masterPassword, passwordProfile).then(function (generatedPassword) { |
|
|
|
|
|
assert.equal('azYS7,olOL2]iz', generatedPassword); |
|
|
|
|
|
}); |
|
|
|
|
|
}); |
|
|
|
|
|
|
|
|
|
|
|
it('generate password auto generated test 2', function () { |
|
|
|
|
|
var site = 'lesspass.com'; |
|
|
|
|
|
var login = 'contact@lesspass.com'; |
|
|
|
|
|
var masterPassword = 'password'; |
|
|
|
|
|
var passwordProfile = { |
|
|
|
|
|
lowercase: true, |
|
|
|
|
|
uppercase: false, |
|
|
|
|
|
digits: false, |
|
|
|
|
|
symbols: false, |
|
|
|
|
|
length: 12, |
|
|
|
|
|
index: 1, |
|
|
|
|
|
version: 1, |
|
|
|
|
|
}; |
|
|
|
|
|
return LessPass.generatePassword(site, login, masterPassword, passwordProfile).then(function (generatedPassword) { |
|
|
|
|
|
assert.equal('azyseqololat', generatedPassword); |
|
|
|
|
|
}); |
|
|
|
|
|
}); |
|
|
|
|
|
|
|
|
|
|
|
it('generate password auto generated test 3', function () { |
|
|
|
|
|
var site = 'lesspass.com'; |
|
|
|
|
|
var login = 'contact@lesspass.com'; |
|
|
|
|
|
var masterPassword = 'password'; |
|
|
|
|
|
var passwordProfile = { |
|
|
|
|
|
lowercase: false, |
|
|
|
|
|
uppercase: true, |
|
|
|
|
|
digits: true, |
|
|
|
|
|
symbols: true, |
|
|
|
|
|
length: 12, |
|
|
|
|
|
index: 1, |
|
|
|
|
|
version: 1, |
|
|
|
|
|
}; |
|
|
|
|
|
return LessPass.generatePassword(site, login, masterPassword, passwordProfile).then(function (generatedPassword) { |
|
|
|
|
|
assert.equal('AZ3[EQ7@OL2]', generatedPassword); |
|
|
|
|
|
}); |
|
|
|
|
|
}); |
|
|
|
|
|
|
|
|
|
|
|
it('generate password auto generated test 4', function () { |
|
|
|
|
|
var site = 'lesspass.com'; |
|
|
|
|
|
var login = 'contact@lesspass.com'; |
|
|
|
|
|
var masterPassword = 'password'; |
|
|
|
|
|
var passwordProfile = { |
|
|
|
|
|
lowercase: false, |
|
|
|
|
|
uppercase: false, |
|
|
|
|
|
digits: true, |
|
|
|
|
|
symbols: true, |
|
|
|
|
|
length: 12, |
|
|
|
|
|
index: 1, |
|
|
|
|
|
version: 1, |
|
|
|
|
|
}; |
|
|
|
|
|
return LessPass.generatePassword(site, login, masterPassword, passwordProfile).then(function (generatedPassword) { |
|
|
|
|
|
assert.equal('4?3[7,7@7@2]', generatedPassword); |
|
|
|
|
|
}); |
|
|
|
|
|
}); |
|
|
|
|
|
|
|
|
|
|
|
it('generate password auto generated test 5', function () { |
|
|
|
|
|
var site = 'lesspass.com'; |
|
|
|
|
|
var login = 'contact@lesspass.com'; |
|
|
|
|
|
var masterPassword = 'password'; |
|
|
|
|
|
var passwordProfile = { |
|
|
|
|
|
lowercase: false, |
|
|
|
|
|
uppercase: false, |
|
|
|
|
|
digits: false, |
|
|
|
|
|
symbols: true, |
|
|
|
|
|
length: 12, |
|
|
|
|
|
index: 1, |
|
|
|
|
|
version: 1, |
|
|
|
|
|
}; |
|
|
|
|
|
return LessPass.generatePassword(site, login, masterPassword, passwordProfile).then(function (generatedPassword) { |
|
|
|
|
|
assert.equal('[?=[&,:@:@[]', generatedPassword); |
|
|
|
|
|
}); |
|
|
|
|
|
}); |
|
|
|
|
|
|
|
|
|
|
|
it('generate password auto generated test 6', function () { |
|
|
|
|
|
var site = 'lesspass.com'; |
|
|
|
|
|
var login = 'contact@lesspass.com'; |
|
|
|
|
|
var masterPassword = 'password'; |
|
|
|
|
|
var passwordProfile = { |
|
|
|
|
|
lowercase: true, |
|
|
|
|
|
uppercase: true, |
|
|
|
|
|
digits: true, |
|
|
|
|
|
symbols: false, |
|
|
|
|
|
length: 12, |
|
|
|
|
|
index: 1, |
|
|
|
|
|
version: 1, |
|
|
|
|
|
}; |
|
|
|
|
|
return LessPass.generatePassword(site, login, masterPassword, passwordProfile).then(function (generatedPassword) { |
|
|
|
|
|
assert.equal('azYS7uwAW8at', generatedPassword); |
|
|
|
|
|
}); |
|
|
|
|
|
}); |
|
|
|
|
|
|
|
|
|
|
|
it('generate password auto generated test 7', function () { |
|
|
|
|
|
var site = 'lesspass.com'; |
|
|
|
|
|
var login = 'contact@lesspass.com'; |
|
|
|
|
|
var masterPassword = 'password'; |
|
|
|
|
|
var passwordProfile = { |
|
|
|
|
|
lowercase: true, |
|
|
|
|
|
uppercase: true, |
|
|
|
|
|
digits: false, |
|
|
|
|
|
symbols: false, |
|
|
|
|
|
length: 12, |
|
|
|
|
|
index: 1, |
|
|
|
|
|
version: 1, |
|
|
|
|
|
}; |
|
|
|
|
|
return LessPass.generatePassword(site, login, masterPassword, passwordProfile).then(function (generatedPassword) { |
|
|
|
|
|
assert.equal('azYSeqOLolAT', generatedPassword); |
|
|
|
|
|
}); |
|
|
|
|
|
}); |
|
|
|
|
|
|
|
|
|
|
|
it('generate password auto generated test 8', function () { |
|
|
|
|
|
var site = 'lesspass.com'; |
|
|
|
|
|
var login = 'contact@lesspass.com'; |
|
|
|
|
|
var masterPassword = 'password'; |
|
|
|
|
|
var passwordProfile = { |
|
|
|
|
|
lowercase: true, |
|
|
|
|
|
uppercase: true, |
|
|
|
|
|
digits: true, |
|
|
|
|
|
symbols: true, |
|
|
|
|
|
length: 12, |
|
|
|
|
|
index: 2, |
|
|
|
|
|
version: 1, |
|
|
|
|
|
}; |
|
|
|
|
|
return LessPass.generatePassword(site, login, masterPassword, passwordProfile).then(function (generatedPassword) { |
|
|
|
|
|
assert.equal('obYT2=olOV9=', generatedPassword); |
|
|
|
|
|
}); |
|
|
|
|
|
}); |
|
|
|
|
|
|
|
|
|
|
|
it('generate password auto generated test 9', function () { |
|
|
|
|
|
var site = 'lesspass.com'; |
|
|
|
|
|
var login = 'lesspass'; |
|
|
|
|
|
var masterPassword = 'password'; |
|
|
|
|
|
var passwordProfile = { |
|
|
|
|
|
lowercase: true, |
|
|
|
|
|
uppercase: true, |
|
|
|
|
|
digits: true, |
|
|
|
|
|
symbols: true, |
|
|
|
|
|
length: 12, |
|
|
|
|
|
index: 1, |
|
|
|
|
|
version: 1, |
|
|
|
|
|
}; |
|
|
|
|
|
return LessPass.generatePassword(site, login, masterPassword, passwordProfile).then(function (generatedPassword) { |
|
|
|
|
|
assert.equal('erOC1%imIW3,', generatedPassword); |
|
|
|
|
|
}); |
|
|
|
|
|
}); |
|
|
|
|
|
|
|
|
|
|
|
it('generate password auto generated test 10', function () { |
|
|
|
|
|
var site = 'lesspass.com'; |
|
|
|
|
|
var login = 'contact@lesspass.com'; |
|
|
|
|
|
var masterPassword = 'password2'; |
|
|
|
|
|
var passwordProfile = { |
|
|
|
|
|
lowercase: true, |
|
|
|
|
|
uppercase: true, |
|
|
|
|
|
digits: true, |
|
|
|
|
|
symbols: true, |
|
|
|
|
|
length: 12, |
|
|
|
|
|
index: 1, |
|
|
|
|
|
version: 1, |
|
|
|
|
|
}; |
|
|
|
|
|
return LessPass.generatePassword(site, login, masterPassword, passwordProfile).then(function (generatedPassword) { |
|
|
|
|
|
assert.equal('uvUM5_ucUP5=', generatedPassword); |
|
|
|
|
|
}); |
|
|
|
|
|
}); |
|
|
|
|
|
}); |
|
|
}); |
|
|
}); |
|
|
|
|
|
|