#import #import "InitiatorSessionDescriptor.h" #import "ResponderSessionDescriptor.h" #import "TestUtil.h" #import "Util.h" @interface SessionDescriptorTest : XCTestCase @end @implementation SessionDescriptorTest -(void) testInitiatorSessionDescriptionJson { InitiatorSessionDescriptor* d = [InitiatorSessionDescriptor initiatorSessionDescriptorWithSessionId:5 andRelayServerName:@"example.com" andRelayPort:6]; test([d sessionId] == 5); test([d relayUdpPort] == 6); test([d.relayServerName isEqualToString:@"example.com"]); // roundtrip InitiatorSessionDescriptor* d2 = [InitiatorSessionDescriptor initiatorSessionDescriptorFromJson:d.toJson]; test([d2 sessionId] == 5); test([d2 relayUdpPort] == 6); test([d2.relayServerName isEqualToString:@"example.com"]); // constant InitiatorSessionDescriptor* d3 = [InitiatorSessionDescriptor initiatorSessionDescriptorFromJson:@"{\"sessionId\":5,\"serverName\":\"example.com\",\"relayPort\":6}"]; test([d3 sessionId] == 5); test([d3 relayUdpPort] == 6); test([d3.relayServerName isEqualToString:@"example.com"]); } -(void) testResponderSessionDescriptorFromEncryptedRemoteNotification2 { // todo: Rewrite test to support keychain storage with NSData // NSDictionary* notification = @{ // @"aps":@{@"alert":@"Incoming Call!"}, // @"m":@"AJV74NzwSbZ1KeV4pRwPfMZQ3a5n0V0/HV7eABUUCJvRVqGe3qFO/2XHKv1nEDwNg2naQDmd/nLOlvk=" // }; // // [Environment setCurrent:testEnv]; // [[UICKeyChainStore keyChainStore]setValue:[@"0000000000000000000000000000000000000000" decodedAsHexString]forKey:@"Signaling Mac Key"]; // // [[UICKeyChainStore keyChainStore] setValue:[@"00000000000000000000000000000000" decodedAsHexString] forKey:@"Signaling Cipher Key"]; // // ResponderSessionDescriptor* d = [ResponderSessionDescriptor responderSessionDescriptorFromEncryptedRemoteNotification:notification]; // // test(d.interopVersion == 1); // test(d.relayUdpPort == 11235); // test(d.sessionId == 2357); // test([d.relayServerName isEqualToString:@"Test"]); // test([d.initiatorNumber.toE164 isEqualToString:@"+19027777777"]); } @end