mirror of
https://github.com/signalapp/Signal-Desktop.git
synced 2026-04-24 02:18:15 +01:00
Refactor api.js into web_api, which encapsulates all web access
This commit is contained in:
@@ -2,15 +2,6 @@
|
||||
|
||||
describe('AccountManager', function() {
|
||||
let accountManager;
|
||||
let originalServer;
|
||||
|
||||
before(function() {
|
||||
originalServer = window.TextSecureServer;
|
||||
window.TextSecureServer = function() {};
|
||||
});
|
||||
after(function() {
|
||||
window.TextSecureServer = originalServer;
|
||||
});
|
||||
|
||||
beforeEach(function() {
|
||||
accountManager = new window.textsecure.AccountManager();
|
||||
|
||||
@@ -1,29 +0,0 @@
|
||||
var getKeysForNumberMap = {};
|
||||
TextSecureServer.getKeysForNumber = function(number, deviceId) {
|
||||
var res = getKeysForNumberMap[number];
|
||||
if (res !== undefined) {
|
||||
delete getKeysForNumberMap[number];
|
||||
return Promise.resolve(res);
|
||||
} else throw new Error('getKeysForNumber of unknown/used number');
|
||||
};
|
||||
|
||||
var messagesSentMap = {};
|
||||
TextSecureServer.sendMessages = function(destination, messageArray) {
|
||||
for (i in messageArray) {
|
||||
var msg = messageArray[i];
|
||||
if (
|
||||
(msg.type != 1 && msg.type != 3) ||
|
||||
msg.destinationDeviceId === undefined ||
|
||||
msg.destinationRegistrationId === undefined ||
|
||||
msg.body === undefined ||
|
||||
msg.timestamp == undefined ||
|
||||
msg.relay !== undefined ||
|
||||
msg.destination !== undefined
|
||||
)
|
||||
throw new Error('Invalid message');
|
||||
|
||||
messagesSentMap[
|
||||
destination + '.' + messageArray[i].destinationDeviceId
|
||||
] = msg;
|
||||
}
|
||||
};
|
||||
56
libtextsecure/test/fake_web_api.js
Normal file
56
libtextsecure/test/fake_web_api.js
Normal file
@@ -0,0 +1,56 @@
|
||||
window.setImmediate = window.nodeSetImmediate;
|
||||
|
||||
const getKeysForNumberMap = {};
|
||||
const messagesSentMap = {};
|
||||
|
||||
const fakeCall = () => Promise.resolve();
|
||||
|
||||
const fakeAPI = {
|
||||
confirmCode: fakeCall,
|
||||
getAttachment: fakeCall,
|
||||
getAvatar: fakeCall,
|
||||
getDevices: fakeCall,
|
||||
// getKeysForNumber: fakeCall,
|
||||
getMessageSocket: fakeCall,
|
||||
getMyKeys: fakeCall,
|
||||
getProfile: fakeCall,
|
||||
getProvisioningSocket: fakeCall,
|
||||
putAttachment: fakeCall,
|
||||
registerKeys: fakeCall,
|
||||
requestVerificationSMS: fakeCall,
|
||||
requestVerificationVoice: fakeCall,
|
||||
// sendMessages: fakeCall,
|
||||
setSignedPreKey: fakeCall,
|
||||
|
||||
getKeysForNumber: function(number, deviceId) {
|
||||
var res = getKeysForNumberMap[number];
|
||||
if (res !== undefined) {
|
||||
delete getKeysForNumberMap[number];
|
||||
return Promise.resolve(res);
|
||||
} else throw new Error('getKeysForNumber of unknown/used number');
|
||||
},
|
||||
|
||||
sendMessages: function(destination, messageArray) {
|
||||
for (i in messageArray) {
|
||||
var msg = messageArray[i];
|
||||
if (
|
||||
(msg.type != 1 && msg.type != 3) ||
|
||||
msg.destinationDeviceId === undefined ||
|
||||
msg.destinationRegistrationId === undefined ||
|
||||
msg.body === undefined ||
|
||||
msg.timestamp == undefined ||
|
||||
msg.relay !== undefined ||
|
||||
msg.destination !== undefined
|
||||
)
|
||||
throw new Error('Invalid message');
|
||||
|
||||
messagesSentMap[
|
||||
destination + '.' + messageArray[i].destinationDeviceId
|
||||
] = msg;
|
||||
}
|
||||
},
|
||||
};
|
||||
|
||||
window.WebAPI = {
|
||||
connect: () => fakeAPI,
|
||||
};
|
||||
@@ -12,6 +12,8 @@
|
||||
<div id="tests">
|
||||
</div>
|
||||
|
||||
<script type="text/javascript" src="fake_web_api.js"></script>
|
||||
|
||||
<script type="text/javascript" src="test.js"></script>
|
||||
<script type="text/javascript" src="in_memory_signal_protocol_store.js"></script>
|
||||
|
||||
@@ -33,8 +35,6 @@
|
||||
<script type="text/javascript" src="../contacts_parser.js" data-cover></script>
|
||||
<script type="text/javascript" src="../task_with_timeout.js" data-cover></script>
|
||||
|
||||
<script type="text/javascript" src="fake_api.js"></script>
|
||||
|
||||
<script type="text/javascript" src="errors_test.js"></script>
|
||||
<script type="text/javascript" src="helpers_test.js"></script>
|
||||
<script type="text/javascript" src="storage_test.js"></script>
|
||||
@@ -47,11 +47,12 @@
|
||||
<script type="text/javascript" src="account_manager_test.js"></script>
|
||||
|
||||
<!-- Comment out to turn off code coverage. Useful for getting real callstacks. -->
|
||||
<script type="text/javascript" src="blanket_mocha.js"></script>
|
||||
<!-- NOTE: blanket doesn't support modern syntax and will choke until we find a replacement. :0( -->
|
||||
<!-- <script type="text/javascript" src="blanket_mocha.js"></script> -->
|
||||
|
||||
<!-- Uncomment to start tests without code coverage enabled -->
|
||||
<!-- <script type="text/javascript">
|
||||
<script type="text/javascript">
|
||||
mocha.run();
|
||||
</script> -->
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
@@ -33,6 +33,4 @@ describe('Protocol', function() {
|
||||
.catch(done);
|
||||
});
|
||||
});
|
||||
|
||||
// TODO: Use fake_api's hiding of api.sendMessage to test sendmessage.js' maze
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user