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()); }
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); }