Update protocol libs

Rename storage functions

// FREEBIE
This commit is contained in:
lilia 2016-04-21 15:40:43 -07:00
parent b5ddd41a5e
commit 1fe5d63015
11 changed files with 91 additions and 91 deletions

View file

@ -83,7 +83,7 @@
AxolotlStore.prototype = {
constructor: AxolotlStore,
getMyIdentityKey: function() {
getIdentityKeyPair: function() {
var item = new Item({id: 'identityKey'});
return new Promise(function(resolve) {
item.fetch().then(function() {
@ -91,7 +91,7 @@
});
});
},
getMyRegistrationId: function() {
getLocalRegistrationId: function() {
var item = new Item({id: 'registrationId'});
return new Promise(function(resolve) {
item.fetch().then(function() {
@ -101,7 +101,7 @@
},
/* Returns a prekeypair object or undefined */
getPreKey: function(keyId) {
loadPreKey: function(keyId) {
var prekey = new PreKey({id: keyId});
return new Promise(function(resolve) {
prekey.fetch().then(function() {
@ -112,7 +112,7 @@
}).fail(resolve);
});
},
putPreKey: function(keyId, keyPair) {
storePreKey: function(keyId, keyPair) {
var prekey = new PreKey({
id : keyId,
publicKey : keyPair.pubKey,
@ -139,7 +139,7 @@
},
/* Returns a signed keypair object or undefined */
getSignedPreKey: function(keyId) {
loadSignedPreKey: function(keyId) {
var prekey = new SignedPreKey({id: keyId});
return new Promise(function(resolve) {
prekey.fetch().then(function() {
@ -150,7 +150,7 @@
}).fail(resolve);
});
},
putSignedPreKey: function(keyId, keyPair) {
storeSignedPreKey: function(keyId, keyPair) {
var prekey = new SignedPreKey({
id : keyId,
publicKey : keyPair.pubKey,
@ -171,7 +171,7 @@
});
},
getSession: function(encodedNumber) {
loadSession: function(encodedNumber) {
if (encodedNumber === null || encodedNumber === undefined) {
throw new Error("Tried to get session for undefined/null number");
}
@ -183,7 +183,7 @@
});
},
putSession: function(encodedNumber, record) {
storeSession: function(encodedNumber, record) {
if (encodedNumber === null || encodedNumber === undefined) {
throw new Error("Tried to put session for undefined/null number");
}
@ -246,7 +246,7 @@
});
},
getIdentityKey: function(identifier) {
loadIdentityKey: function(identifier) {
if (identifier === null || identifier === undefined) {
throw new Error("Tried to get identity key for undefined/null key");
}

View file

@ -34330,7 +34330,7 @@ window.axolotl.protocol = function(storage_interface) {
var crypto_storage = {};
function getRecord(encodedNumber) {
return storage_interface.getSession(encodedNumber).then(function(serialized) {
return storage_interface.loadSession(encodedNumber).then(function(serialized) {
if (serialized === undefined) {
return undefined;
}
@ -34390,12 +34390,12 @@ window.axolotl.protocol = function(storage_interface) {
else if (record.registrationId === null)
throw new Error("Had open sessions on a record that had no registrationId set");
return storage_interface.getIdentityKey(encodedNumber).then(function(identityKey) {
return storage_interface.loadIdentityKey(encodedNumber).then(function(identityKey) {
if (identityKey !== undefined && toString(identityKey) !== toString(record.identityKey))
throw new Error("Tried to change identity key at save time");
return storage_interface.putIdentityKey(encodedNumber, record.identityKey).then(function() {
return storage_interface.putSession(encodedNumber, record.serialize());
return storage_interface.storeSession(encodedNumber, record.serialize());
});
});
});
@ -34462,7 +34462,7 @@ window.axolotl.protocol = function(storage_interface) {
crypto_storage.getSessionOrIdentityKeyByBaseKey = function(encodedNumber, baseKey) {
return getRecord(encodedNumber).then(function(record) {
if (record === undefined) {
return storage_interface.getIdentityKey(encodedNumber).then(function(identityKey) {
return storage_interface.loadIdentityKey(encodedNumber).then(function(identityKey) {
if (identityKey === undefined)
return undefined;
return { indexInfo: { remoteIdentityKey: identityKey } };
@ -34538,7 +34538,7 @@ window.axolotl.protocol = function(storage_interface) {
}
var initSession = function(isInitiator, ourEphemeralKey, ourSignedKey, encodedNumber, theirIdentityPubKey, theirEphemeralPubKey, theirSignedPubKey) {
return storage_interface.getMyIdentityKey().then(function(ourIdentityKey) {
return storage_interface.getIdentityKeyPair().then(function(ourIdentityKey) {
if (isInitiator) {
if (ourSignedKey !== undefined) {
throw new Error("Invalid call to initSession");
@ -34674,8 +34674,8 @@ window.axolotl.protocol = function(storage_interface) {
var initSessionFromPreKeyWhisperMessage = function(encodedNumber, message) {
var preKeyPair, signedPreKeyPair, session;
return Promise.all([
storage_interface.getPreKey(message.preKeyId),
storage_interface.getSignedPreKey(message.signedPreKeyId),
storage_interface.loadPreKey(message.preKeyId),
storage_interface.loadSignedPreKey(message.signedPreKeyId),
crypto_storage.getSessionOrIdentityKeyByBaseKey(encodedNumber, toArrayBuffer(message.baseKey))
]).then(function(results) {
preKeyPair = results[0];
@ -34839,7 +34839,7 @@ window.axolotl.protocol = function(storage_interface) {
return HKDF(toArrayBuffer(messageKey), '', "WhisperMessageKeys");
});
}).then(function(keys) {
return storage_interface.getMyIdentityKey().then(function(ourIdentityKey) {
return storage_interface.getIdentityKeyPair().then(function(ourIdentityKey) {
var macInput = new Uint8Array(messageProto.byteLength + 33*2 + 1);
macInput.set(new Uint8Array(toArrayBuffer(session.indexInfo.remoteIdentityKey)));
@ -34920,8 +34920,8 @@ window.axolotl.protocol = function(storage_interface) {
var ourIdentityKey, myRegistrationId, session, hadSession;
return Promise.all([
storage_interface.getMyIdentityKey(),
storage_interface.getMyRegistrationId(),
storage_interface.getIdentityKeyPair(),
storage_interface.getLocalRegistrationId(),
crypto_storage.getOpenSession(deviceObject.encodedNumber)
]).then(function(results) {
ourIdentityKey = results[0];
@ -35614,7 +35614,7 @@ axolotlInternal.RecipientRecord = function() {
window.textsecure.storage.devices = {
saveKeysToDeviceObject: function(deviceObject) {
var number = textsecure.utils.unencodeNumber(deviceObject.encodedNumber)[0];
return textsecure.storage.axolotl.getIdentityKey(number).then(function(identityKey) {
return textsecure.storage.axolotl.loadIdentityKey(number).then(function(identityKey) {
if (identityKey !== undefined && deviceObject.identityKey !== undefined && getString(identityKey) != getString(deviceObject.identityKey)) {
var error = new Error("Identity key changed");
error.identityKey = deviceObject.identityKey;
@ -35658,7 +35658,7 @@ axolotlInternal.RecipientRecord = function() {
});
},
getDeviceObjectsForNumber: function(number) {
return textsecure.storage.axolotl.getIdentityKey(number).then(function(identityKey) {
return textsecure.storage.axolotl.loadIdentityKey(number).then(function(identityKey) {
if (identityKey === undefined) {
return [];
}
@ -36856,14 +36856,14 @@ var TextSecureServer = (function() {
var store = textsecure.storage.axolotl;
return store.getMyIdentityKey().then(function(identityKey) {
return store.getIdentityKeyPair().then(function(identityKey) {
var result = { preKeys: [], identityKey: identityKey.pubKey };
var promises = [];
for (var keyId = startId; keyId < startId+count; ++keyId) {
promises.push(
axolotl.util.generatePreKey(keyId).then(function(res) {
store.putPreKey(res.keyId, res.keyPair);
store.storePreKey(res.keyId, res.keyPair);
result.preKeys.push({
keyId : res.keyId,
publicKey : res.keyPair.pubKey
@ -36875,7 +36875,7 @@ var TextSecureServer = (function() {
promises.push(
axolotl.util.generateSignedPreKey(identityKey, signedKeyId).then(function(res) {
store.putSignedPreKey(res.keyId, res.keyPair);
store.storeSignedPreKey(res.keyId, res.keyPair);
result.signedPreKey = {
keyId : res.keyId,
publicKey : res.keyPair.pubKey,

View file

@ -170,8 +170,8 @@
if (this.model.isPrivate()) {
var their_number = this.model.id;
var our_number = textsecure.storage.user.getNumber();
textsecure.storage.axolotl.getIdentityKey(their_number).then(function(their_key) {
textsecure.storage.axolotl.getIdentityKey(our_number).then(function(our_key) {
textsecure.storage.axolotl.loadIdentityKey(their_number).then(function(their_key) {
textsecure.storage.axolotl.loadIdentityKey(our_number).then(function(our_key) {
var view = new Whisper.KeyVerificationPanelView({
model: { their_key: their_key, your_key: our_key }
}).render();

View file

@ -12,11 +12,11 @@
initialize: function(options) {
this.contact = options.contact;
this.conversation = options.conversation;
textsecure.storage.axolotl.getIdentityKey(textsecure.storage.user.getNumber()).then(function(our_key) {
textsecure.storage.axolotl.loadIdentityKey(textsecure.storage.user.getNumber()).then(function(our_key) {
this.your_key = our_key;
this.render();
}.bind(this));
textsecure.storage.axolotl.getIdentityKey(textsecure.storage.user.getNumber()).then(function(our_key) {
textsecure.storage.axolotl.loadIdentityKey(textsecure.storage.user.getNumber()).then(function(our_key) {
var view = new Whisper.KeyVerificationView({
model: {
their_key : this.model.identityKey,

View file

@ -141,14 +141,14 @@
var store = textsecure.storage.axolotl;
return store.getMyIdentityKey().then(function(identityKey) {
return store.getIdentityKeyPair().then(function(identityKey) {
var result = { preKeys: [], identityKey: identityKey.pubKey };
var promises = [];
for (var keyId = startId; keyId < startId+count; ++keyId) {
promises.push(
axolotl.util.generatePreKey(keyId).then(function(res) {
store.putPreKey(res.keyId, res.keyPair);
store.storePreKey(res.keyId, res.keyPair);
result.preKeys.push({
keyId : res.keyId,
publicKey : res.keyPair.pubKey
@ -160,7 +160,7 @@
promises.push(
axolotl.util.generateSignedPreKey(identityKey, signedKeyId).then(function(res) {
store.putSignedPreKey(res.keyId, res.keyPair);
store.storeSignedPreKey(res.keyId, res.keyPair);
result.signedPreKey = {
keyId : res.keyId,
publicKey : res.keyPair.pubKey,

View file

@ -34216,7 +34216,7 @@ window.axolotl.protocol = function(storage_interface) {
var crypto_storage = {};
function getRecord(encodedNumber) {
return storage_interface.getSession(encodedNumber).then(function(serialized) {
return storage_interface.loadSession(encodedNumber).then(function(serialized) {
if (serialized === undefined) {
return undefined;
}
@ -34276,12 +34276,12 @@ window.axolotl.protocol = function(storage_interface) {
else if (record.registrationId === null)
throw new Error("Had open sessions on a record that had no registrationId set");
return storage_interface.getIdentityKey(encodedNumber).then(function(identityKey) {
return storage_interface.loadIdentityKey(encodedNumber).then(function(identityKey) {
if (identityKey !== undefined && toString(identityKey) !== toString(record.identityKey))
throw new Error("Tried to change identity key at save time");
return storage_interface.putIdentityKey(encodedNumber, record.identityKey).then(function() {
return storage_interface.putSession(encodedNumber, record.serialize());
return storage_interface.storeSession(encodedNumber, record.serialize());
});
});
});
@ -34348,7 +34348,7 @@ window.axolotl.protocol = function(storage_interface) {
crypto_storage.getSessionOrIdentityKeyByBaseKey = function(encodedNumber, baseKey) {
return getRecord(encodedNumber).then(function(record) {
if (record === undefined) {
return storage_interface.getIdentityKey(encodedNumber).then(function(identityKey) {
return storage_interface.loadIdentityKey(encodedNumber).then(function(identityKey) {
if (identityKey === undefined)
return undefined;
return { indexInfo: { remoteIdentityKey: identityKey } };
@ -34424,7 +34424,7 @@ window.axolotl.protocol = function(storage_interface) {
}
var initSession = function(isInitiator, ourEphemeralKey, ourSignedKey, encodedNumber, theirIdentityPubKey, theirEphemeralPubKey, theirSignedPubKey) {
return storage_interface.getMyIdentityKey().then(function(ourIdentityKey) {
return storage_interface.getIdentityKeyPair().then(function(ourIdentityKey) {
if (isInitiator) {
if (ourSignedKey !== undefined) {
throw new Error("Invalid call to initSession");
@ -34560,8 +34560,8 @@ window.axolotl.protocol = function(storage_interface) {
var initSessionFromPreKeyWhisperMessage = function(encodedNumber, message) {
var preKeyPair, signedPreKeyPair, session;
return Promise.all([
storage_interface.getPreKey(message.preKeyId),
storage_interface.getSignedPreKey(message.signedPreKeyId),
storage_interface.loadPreKey(message.preKeyId),
storage_interface.loadSignedPreKey(message.signedPreKeyId),
crypto_storage.getSessionOrIdentityKeyByBaseKey(encodedNumber, toArrayBuffer(message.baseKey))
]).then(function(results) {
preKeyPair = results[0];
@ -34725,7 +34725,7 @@ window.axolotl.protocol = function(storage_interface) {
return HKDF(toArrayBuffer(messageKey), '', "WhisperMessageKeys");
});
}).then(function(keys) {
return storage_interface.getMyIdentityKey().then(function(ourIdentityKey) {
return storage_interface.getIdentityKeyPair().then(function(ourIdentityKey) {
var macInput = new Uint8Array(messageProto.byteLength + 33*2 + 1);
macInput.set(new Uint8Array(toArrayBuffer(session.indexInfo.remoteIdentityKey)));
@ -34806,8 +34806,8 @@ window.axolotl.protocol = function(storage_interface) {
var ourIdentityKey, myRegistrationId, session, hadSession;
return Promise.all([
storage_interface.getMyIdentityKey(),
storage_interface.getMyRegistrationId(),
storage_interface.getIdentityKeyPair(),
storage_interface.getLocalRegistrationId(),
crypto_storage.getOpenSession(deviceObject.encodedNumber)
]).then(function(results) {
ourIdentityKey = results[0];

View file

@ -16,7 +16,7 @@
window.textsecure.storage.devices = {
saveKeysToDeviceObject: function(deviceObject) {
var number = textsecure.utils.unencodeNumber(deviceObject.encodedNumber)[0];
return textsecure.storage.axolotl.getIdentityKey(number).then(function(identityKey) {
return textsecure.storage.axolotl.loadIdentityKey(number).then(function(identityKey) {
if (identityKey !== undefined && deviceObject.identityKey !== undefined && getString(identityKey) != getString(deviceObject.identityKey)) {
var error = new Error("Identity key changed");
error.identityKey = deviceObject.identityKey;
@ -60,7 +60,7 @@
});
},
getDeviceObjectsForNumber: function(number) {
return textsecure.storage.axolotl.getIdentityKey(number).then(function(identityKey) {
return textsecure.storage.axolotl.loadIdentityKey(number).then(function(identityKey) {
if (identityKey === undefined) {
return [];
}

View file

@ -19,25 +19,25 @@ describe("Key generation", function() {
}
function itStoresPreKey(keyId) {
it('prekey ' + keyId + ' is valid', function(done) {
return textsecure.storage.axolotl.getPreKey(keyId).then(function(keyPair) {
return textsecure.storage.axolotl.loadPreKey(keyId).then(function(keyPair) {
validateStoredKeyPair(keyPair);
}).then(done,done);
});
}
function itStoresSignedPreKey(keyId) {
it('signed prekey ' + keyId + ' is valid', function(done) {
return textsecure.storage.axolotl.getSignedPreKey(keyId).then(function(keyPair) {
return textsecure.storage.axolotl.loadSignedPreKey(keyId).then(function(keyPair) {
validateStoredKeyPair(keyPair);
}).then(done,done);
});
}
function validateResultKey(resultKey) {
return textsecure.storage.axolotl.getPreKey(resultKey.keyId).then(function(keyPair) {
return textsecure.storage.axolotl.loadPreKey(resultKey.keyId).then(function(keyPair) {
assertEqualArrayBuffers(resultKey.publicKey, keyPair.pubKey);
});
}
function validateResultSignedKey(resultSignedKey) {
return textsecure.storage.axolotl.getSignedPreKey(resultSignedKey.keyId).then(function(keyPair) {
return textsecure.storage.axolotl.loadSignedPreKey(resultSignedKey.keyId).then(function(keyPair) {
assertEqualArrayBuffers(resultSignedKey.publicKey, keyPair.pubKey);
});
}
@ -164,7 +164,7 @@ describe("Key generation", function() {
validateResultSignedKey(result.signedPreKey).then(done,done);
});
it('deletes signed key 1', function() {
textsecure.storage.axolotl.getSignedPreKey(1).then(function(keyPair) {
textsecure.storage.axolotl.loadSignedPreKey(1).then(function(keyPair) {
assert.isUndefined(keyPair);
});
});

View file

@ -3,10 +3,10 @@ function AxolotlStore() {
}
AxolotlStore.prototype = {
getMyIdentityKey: function() {
getIdentityKeyPair: function() {
return Promise.resolve(this.get('identityKey'));
},
getMyRegistrationId: function() {
getLocalRegistrationId: function() {
return Promise.resolve(this.get('registrationId'));
},
put: function(key, value) {
@ -29,7 +29,7 @@ AxolotlStore.prototype = {
delete this.store[key];
},
getIdentityKey: function(identifier) {
loadIdentityKey: function(identifier) {
if (identifier === null || identifier === undefined)
throw new Error("Tried to get identity key for undefined/null key");
return new Promise(function(resolve) {
@ -45,13 +45,13 @@ AxolotlStore.prototype = {
},
/* Returns a prekeypair object or undefined */
getPreKey: function(keyId) {
loadPreKey: function(keyId) {
return new Promise(function(resolve) {
var res = this.get('25519KeypreKey' + keyId);
resolve(res);
}.bind(this));
},
putPreKey: function(keyId, keyPair) {
storePreKey: function(keyId, keyPair) {
return new Promise(function(resolve) {
resolve(this.put('25519KeypreKey' + keyId, keyPair));
}.bind(this));
@ -63,13 +63,13 @@ AxolotlStore.prototype = {
},
/* Returns a signed keypair object or undefined */
getSignedPreKey: function(keyId) {
loadSignedPreKey: function(keyId) {
return new Promise(function(resolve) {
var res = this.get('25519KeysignedKey' + keyId);
resolve(res);
}.bind(this));
},
putSignedPreKey: function(keyId, keyPair) {
storeSignedPreKey: function(keyId, keyPair) {
return new Promise(function(resolve) {
resolve(this.put('25519KeysignedKey' + keyId, keyPair));
}.bind(this));
@ -80,12 +80,12 @@ AxolotlStore.prototype = {
}.bind(this));
},
getSession: function(identifier) {
loadSession: function(identifier) {
return new Promise(function(resolve) {
resolve(this.get('session' + identifier));
}.bind(this));
},
putSession: function(identifier, record) {
storeSession: function(identifier, record) {
return new Promise(function(resolve) {
resolve(this.put('session' + identifier, record));
}.bind(this));

View file

@ -19,27 +19,27 @@ describe("AxolotlStore", function() {
};
it('retrieves my registration id', function(done) {
store.put('registrationId', 1337);
store.getMyRegistrationId().then(function(reg) {
store.getLocalRegistrationId().then(function(reg) {
assert.strictEqual(reg, 1337);
}).then(done, done);
});
it('retrieves my identity key', function(done) {
store.put('identityKey', identityKey);
store.getMyIdentityKey().then(function(key) {
store.getIdentityKeyPair().then(function(key) {
assertEqualArrayBuffers(key.pubKey, identityKey.pubKey);
assertEqualArrayBuffers(key.privKey, identityKey.privKey);
}).then(done,done);
});
it('stores identity keys', function(done) {
store.putIdentityKey(identifier, testKey.pubKey).then(function() {
return store.getIdentityKey(identifier).then(function(key) {
return store.loadIdentityKey(identifier).then(function(key) {
assertEqualArrayBuffers(key, testKey.pubKey);
});
}).then(done,done);
});
it('stores prekeys', function(done) {
store.putPreKey(1, testKey).then(function() {
return store.getPreKey(1).then(function(key) {
store.storePreKey(1, testKey).then(function() {
return store.loadPreKey(1).then(function(key) {
assertEqualArrayBuffers(key.pubKey, testKey.pubKey);
assertEqualArrayBuffers(key.privKey, testKey.privKey);
});
@ -47,17 +47,17 @@ describe("AxolotlStore", function() {
});
it('deletes prekeys', function(done) {
before(function(done) {
store.putPreKey(2, testKey).then(done);
store.storePreKey(2, testKey).then(done);
});
store.removePreKey(2, testKey).then(function() {
return store.getPreKey(2).then(function(key) {
return store.loadPreKey(2).then(function(key) {
assert.isUndefined(key);
});
}).then(done,done);
});
it('stores signed prekeys', function(done) {
store.putSignedPreKey(3, testKey).then(function() {
return store.getSignedPreKey(3).then(function(key) {
store.storeSignedPreKey(3, testKey).then(function() {
return store.loadSignedPreKey(3).then(function(key) {
assertEqualArrayBuffers(key.pubKey, testKey.pubKey);
assertEqualArrayBuffers(key.privKey, testKey.privKey);
});
@ -65,10 +65,10 @@ describe("AxolotlStore", function() {
});
it('deletes signed prekeys', function(done) {
before(function(done) {
store.putSignedPreKey(4, testKey).then(done);
store.storeSignedPreKey(4, testKey).then(done);
});
store.removeSignedPreKey(4, testKey).then(function() {
return store.getSignedPreKey(4).then(function(key) {
return store.loadSignedPreKey(4).then(function(key) {
assert.isUndefined(key);
});
}).then(done,done);
@ -81,11 +81,11 @@ describe("AxolotlStore", function() {
var promise = Promise.resolve();
devices.forEach(function(encodedNumber) {
promise = promise.then(function() {
return store.putSession(encodedNumber, testRecord + encodedNumber)
return store.storeSession(encodedNumber, testRecord + encodedNumber)
});
});
promise.then(function() {
return Promise.all(devices.map(store.getSession.bind(store))).then(function(records) {
return Promise.all(devices.map(store.loadSession.bind(store))).then(function(records) {
for (var i in records) {
assert.strictEqual(records[i], testRecord + devices[i]);
};
@ -100,12 +100,12 @@ describe("AxolotlStore", function() {
var promise = Promise.resolve();
devices.forEach(function(encodedNumber) {
promise = promise.then(function() {
return store.putSession(encodedNumber, testRecord + encodedNumber)
return store.storeSession(encodedNumber, testRecord + encodedNumber)
});
});
promise.then(function() {
return store.removeAllSessions(identifier).then(function(record) {
return Promise.all(devices.map(store.getSession.bind(store))).then(function(records) {
return Promise.all(devices.map(store.loadSession.bind(store))).then(function(records) {
for (var i in records) {
assert.isUndefined(records[i]);
};
@ -121,7 +121,7 @@ describe("AxolotlStore", function() {
var promise = Promise.resolve();
devices.forEach(function(encodedNumber) {
promise = promise.then(function() {
return store.putSession(encodedNumber, testRecord + encodedNumber)
return store.storeSession(encodedNumber, testRecord + encodedNumber)
});
});
promise.then(function() {

View file

@ -21,19 +21,19 @@ describe("AxolotlStore", function() {
privKey: textsecure.crypto.getRandomBytes(32),
};
it('retrieves my registration id', function(done) {
store.getMyRegistrationId().then(function(reg) {
store.getLocalRegistrationId().then(function(reg) {
assert.strictEqual(reg, 1337);
}).then(done, done);
});
it('retrieves my identity key', function(done) {
store.getMyIdentityKey().then(function(key) {
store.getIdentityKeyPair().then(function(key) {
assertEqualArrayBuffers(key.pubKey, identityKey.pubKey);
assertEqualArrayBuffers(key.privKey, identityKey.privKey);
}).then(done,done);
});
it('stores identity keys', function(done) {
store.putIdentityKey(identifier, testKey.pubKey).then(function() {
return store.getIdentityKey(identifier).then(function(key) {
return store.loadIdentityKey(identifier).then(function(key) {
assertEqualArrayBuffers(key, testKey.pubKey);
});
}).then(done,done);
@ -50,8 +50,8 @@ describe("AxolotlStore", function() {
});
});
it('stores prekeys', function(done) {
store.putPreKey(1, testKey).then(function() {
return store.getPreKey(1).then(function(key) {
store.storePreKey(1, testKey).then(function() {
return store.loadPreKey(1).then(function(key) {
assertEqualArrayBuffers(key.pubKey, testKey.pubKey);
assertEqualArrayBuffers(key.privKey, testKey.privKey);
});
@ -59,17 +59,17 @@ describe("AxolotlStore", function() {
});
it('deletes prekeys', function(done) {
before(function(done) {
store.putPreKey(2, testKey).then(done);
store.storePreKey(2, testKey).then(done);
});
store.removePreKey(2, testKey).then(function() {
return store.getPreKey(2).then(function(key) {
return store.loadPreKey(2).then(function(key) {
assert.isUndefined(key);
});
}).then(done,done);
});
it('stores signed prekeys', function(done) {
store.putSignedPreKey(3, testKey).then(function() {
return store.getSignedPreKey(3).then(function(key) {
store.storeSignedPreKey(3, testKey).then(function() {
return store.loadSignedPreKey(3).then(function(key) {
assertEqualArrayBuffers(key.pubKey, testKey.pubKey);
assertEqualArrayBuffers(key.privKey, testKey.privKey);
});
@ -77,18 +77,18 @@ describe("AxolotlStore", function() {
});
it('deletes signed prekeys', function(done) {
before(function(done) {
store.putSignedPreKey(4, testKey).then(done);
store.storeSignedPreKey(4, testKey).then(done);
});
store.removeSignedPreKey(4, testKey).then(function() {
return store.getSignedPreKey(4).then(function(key) {
return store.loadSignedPreKey(4).then(function(key) {
assert.isUndefined(key);
});
}).then(done,done);
});
it('stores sessions', function(done) {
var testRecord = "an opaque string";
store.putSession(identifier + '.1', testRecord).then(function() {
return store.getSession(identifier + '.1').then(function(record) {
store.storeSession(identifier + '.1', testRecord).then(function() {
return store.loadSession(identifier + '.1').then(function(record) {
assert.deepEqual(record, testRecord);
});
}).then(done,done);
@ -101,12 +101,12 @@ describe("AxolotlStore", function() {
var promise = Promise.resolve();
devices.forEach(function(encodedNumber) {
promise = promise.then(function() {
return store.putSession(encodedNumber, testRecord + encodedNumber);
return store.storeSession(encodedNumber, testRecord + encodedNumber);
});
});
promise.then(function() {
return store.removeAllSessions(identifier).then(function(record) {
return Promise.all(devices.map(store.getSession.bind(store))).then(function(records) {
return Promise.all(devices.map(store.loadSession.bind(store))).then(function(records) {
for (var i in records) {
assert.isUndefined(records[i]);
};
@ -116,9 +116,9 @@ describe("AxolotlStore", function() {
});
it ('clears the session store', function(done) {
var testRecord = "an opaque string";
store.putSession(identifier + '.1', testRecord).then(function() {
store.storeSession(identifier + '.1', testRecord).then(function() {
return store.clearSessionStore().then(function() {
return store.getSession(identifier + '.1').then(function(record) {
return store.loadSession(identifier + '.1').then(function(record) {
assert.isUndefined(record);
});
});
@ -133,7 +133,7 @@ describe("AxolotlStore", function() {
var promise = Promise.resolve();
devices.forEach(function(encodedNumber) {
promise = promise.then(function() {
return store.putSession(encodedNumber, testRecord + encodedNumber);
return store.storeSession(encodedNumber, testRecord + encodedNumber);
});
});
promise.then(function() {