|  |  |  | /* global assert */ | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | describe('Loki Messages', () => { | 
					
						
							|  |  |  |   describe('#backgroundMessage', () => { | 
					
						
							|  |  |  |     it('structure is valid', () => { | 
					
						
							|  |  |  |       const pubkey = | 
					
						
							|  |  |  |         '05050505050505050505050505050505050505050505050505050505050505050'; | 
					
						
							|  |  |  |       const backgroundMessage = window.textsecure.OutgoingMessage.buildBackgroundMessage( | 
					
						
							|  |  |  |         pubkey | 
					
						
							|  |  |  |       ); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |       const validBackgroundObject = { | 
					
						
							|  |  |  |         server: null, | 
					
						
							|  |  |  |         numbers: [pubkey], | 
					
						
							|  |  |  |         // For now, a background message contains only a loki address message as
 | 
					
						
							|  |  |  |         // it must not be an empty message for android
 | 
					
						
							|  |  |  |       }; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |       const validBgMessage = { | 
					
						
							|  |  |  |         dataMessage: null, | 
					
						
							|  |  |  |         syncMessage: null, | 
					
						
							|  |  |  |         callMessage: null, | 
					
						
							|  |  |  |         nullMessage: null, | 
					
						
							|  |  |  |         receiptMessage: null, | 
					
						
							|  |  |  |         typingMessage: null, | 
					
						
							|  |  |  |         preKeyBundleMessage: null, | 
					
						
							|  |  |  |         pairingAuthorisation: null, | 
					
						
							|  |  |  |       }; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |       const lokiAddressMessage = { | 
					
						
							|  |  |  |         p2pAddress: null, | 
					
						
							|  |  |  |         p2pPort: null, | 
					
						
							|  |  |  |         type: 1, | 
					
						
							|  |  |  |       }; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |       assert.isNumber(backgroundMessage.timestamp); | 
					
						
							|  |  |  |       assert.isFunction(backgroundMessage.callback); | 
					
						
							|  |  |  |       assert.deepInclude(backgroundMessage, validBackgroundObject); | 
					
						
							|  |  |  |       assert.deepInclude(backgroundMessage.message, validBgMessage); | 
					
						
							|  |  |  |       assert.deepInclude( | 
					
						
							|  |  |  |         backgroundMessage.message.lokiAddressMessage, | 
					
						
							|  |  |  |         lokiAddressMessage | 
					
						
							|  |  |  |       ); | 
					
						
							|  |  |  |     }); | 
					
						
							|  |  |  |   }); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |   describe('#autoFriendRequestMessage', () => { | 
					
						
							|  |  |  |     it('structure is valid', () => { | 
					
						
							|  |  |  |       const pubkey = | 
					
						
							|  |  |  |         '05050505050505050505050505050505050505050505050505050505050505050'; | 
					
						
							|  |  |  |       const autoFrMessage = window.textsecure.OutgoingMessage.buildAutoFriendRequestMessage( | 
					
						
							|  |  |  |         pubkey | 
					
						
							|  |  |  |       ); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |       const validAutoFrObject = { | 
					
						
							|  |  |  |         server: null, | 
					
						
							|  |  |  |         numbers: [pubkey], | 
					
						
							|  |  |  |       }; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |       const validAutoFrMessage = { | 
					
						
							|  |  |  |         syncMessage: null, | 
					
						
							|  |  |  |         callMessage: null, | 
					
						
							|  |  |  |         nullMessage: null, | 
					
						
							|  |  |  |         receiptMessage: null, | 
					
						
							|  |  |  |         typingMessage: null, | 
					
						
							|  |  |  |         preKeyBundleMessage: null, | 
					
						
							|  |  |  |         lokiAddressMessage: null, | 
					
						
							|  |  |  |         pairingAuthorisation: null, | 
					
						
							|  |  |  |       }; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |       assert.isNumber(autoFrMessage.timestamp); | 
					
						
							|  |  |  |       assert.isFunction(autoFrMessage.callback); | 
					
						
							|  |  |  |       assert.deepInclude(autoFrMessage.message, validAutoFrMessage); | 
					
						
							|  |  |  |       assert.isObject(autoFrMessage.message.dataMessage); | 
					
						
							|  |  |  |       assert.deepInclude(autoFrMessage, validAutoFrObject); | 
					
						
							|  |  |  |     }); | 
					
						
							|  |  |  |   }); | 
					
						
							|  |  |  | }); |