public static Transporter getTransporterInConnectedState(string authToken, TestMessagePipe testMessagePipe = null) { if (testMessagePipe == null) { testMessagePipe = new TestMessagePipe(); } Transporter transporter = new Transporter(testMessagePipe); transporter.notifyOnReady(); Assert.AreEqual(1, testMessagePipe.messageCount()); string handshakeRequestJson = testMessagePipe.sendMessageList[0]; Message.HandshakeRequest handshakeRequest = Message.HandshakeRequest.create(handshakeRequestJson); Assert.AreNotEqual(null, handshakeRequest); handshakeRequest.handshake.authToken = authToken; // Create test config SimCapiConfig config = createTestConfig(); handshakeRequest.handshake.config = config; string handshakeResposeMessage = SimCapiJsonMaker.DebugReciveMessages.create_HANDSHAKE_RESPONSE(handshakeRequest.handshake); transporter.reciveJsonMessage(handshakeResposeMessage); return(transporter); }
public static void setUpTransporterInConnectedState(Transporter transporter, TestMessagePipe testMessagePipe) { transporter.notifyOnReady(); Assert.AreEqual(1, testMessagePipe.messageCount()); string handshakeRequestJson = testMessagePipe.sendMessageList[0]; Message.HandshakeRequest handshakeRequest = Message.HandshakeRequest.create(handshakeRequestJson); Assert.AreNotEqual(null, handshakeRequest); handshakeRequest.handshake.authToken = "testToken"; // Create test config SimCapiConfig config = TestHelpers.createTestConfig(); handshakeRequest.handshake.config = config; string handshakeResposeMessage = SimCapiJsonMaker.DebugReciveMessages.create_HANDSHAKE_RESPONSE(handshakeRequest.handshake); transporter.reciveJsonMessage(handshakeResposeMessage); transporter.update(delayToGuaranteeMessageProceed()); Assert.AreEqual(3, testMessagePipe.messageCount()); string onReadyJson = testMessagePipe.sendMessageList[1]; // deserialize first message Message.OnReady onReady = Message.OnReady.create(onReadyJson); // Verify valid OnReady message Assert.AreNotEqual(null, onReady); string valueChangeJson = testMessagePipe.sendMessageList[2]; // deserialize second message SimCapiMessageType messageType = SimCapiMessageType.ALLOW_INTERNAL_ACCESS; object message = Message.deserialize(valueChangeJson, ref messageType); // Verify valid ValueChange message Assert.AreNotEqual(null, message); Assert.AreEqual(typeof(Message.ValueChange), message.GetType()); // Send INITIAL_SETUP_COMPLETE message string initialSetupCompleteJson = SimCapiJsonMaker.DebugReciveMessages.create_INITIAL_SETUP_COMPLETE(transporter.getHandshake()); transporter.reciveJsonMessage(initialSetupCompleteJson); }
public static SimCapiConfig createTestConfig() { // Create test config SimCapiConfig config = new SimCapiConfig(); config.context = "TEST_MODE"; config.lessonAttempt = 0; config.lessonId = "TEST_LESSION_ID"; config.questionId = "TEST_QUESTION_ID"; config.servicesBaseUrl = "TEST_URL"; config.userData = new SimCapiUserData(); config.userData.givenName = "Test NAME"; config.userData.id = "TEST_ID"; config.userData.surname = "Test Surname"; return(config); }