示例#1
0
        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);
        }
示例#2
0
        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);
        }
示例#3
0
        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);
        }