Esempio n. 1
0
            public async Task TryGetConnectionIdReturningFalseCausesResponseToEndWithProvidedMessageAndStatusCode()
            {
                var manager    = new TestTransportManager();
                var connection = new TokenValidatingPersistentConnection();
                var req        = new TestRequest();
                var resp       = new TestResponse();

                req.QueryString["connectionToken"] = "wrongToken";
                req.QueryString["transport"]       = TestTransportManager.TestTransportName;
                req.LocalPath = "/connect";

                var resolver = new DefaultDependencyResolver();

                resolver.Register(typeof(ITransportManager), () => manager);

                // Initialize the connection
                connection.Initialize(resolver);

                // Run the request
                var context = new HostContext(req, resp);
                await connection.ProcessRequest(context);

                // Check the connection ID wasn't set and ProcessRequest wasn't called on the transport.
                Assert.Null(manager.TestTransport.ConnectionId);
                Assert.Equal(0, manager.TestTransport.ProcessRequestCalls);

                // Check the response
                Assert.Equal(TokenValidatingPersistentConnection.ExpectedErrorStatusCode, resp.StatusCode);
                Assert.Equal(TokenValidatingPersistentConnection.ExpectedErrorMessage, resp.GetBodyAsString());
            }
Esempio n. 2
0
            public async Task TryGetConnectionIdIsUsedToExtractConnectionIdFromToken()
            {
                var manager    = new TestTransportManager();
                var connection = new TokenValidatingPersistentConnection();
                var req        = new TestRequest();
                var resp       = new TestResponse();

                req.QueryString["connectionToken"] = TokenValidatingPersistentConnection.ExpectedConnectionToken;
                req.QueryString["transport"]       = TestTransportManager.TestTransportName;
                req.LocalPath = "/connect";

                var resolver = new DefaultDependencyResolver();

                resolver.Register(typeof(ITransportManager), () => manager);

                // Initialize the connection
                connection.Initialize(resolver);

                // Run the request
                var context = new HostContext(req, resp);
                await connection.ProcessRequest(context);

                // Check the connection ID and that the transport was called
                Assert.Equal(TokenValidatingPersistentConnection.ExpectedConnectionId, manager.TestTransport.ConnectionId);
                Assert.Equal(1, manager.TestTransport.ProcessRequestCalls);
            }