public async Task InvokeConnectionAsync_WritesToConnection_Output() { using (var client = new TestClient()) { var manager = new OrleansHubLifetimeManager <MyHub>(new LoggerFactory().CreateLogger <OrleansHubLifetimeManager <MyHub> >(), _fixture.ClientProvider); var connection = HubConnectionContextUtils.Create(client.Connection); await manager.OnConnectedAsync(connection); await manager.SendConnectionAsync(connection.ConnectionId, "Hello", new object[] { "World" }); await AssertMessageAsync(client); } }
public async Task InvokeConnectionAsync_ForLocalConnection_DoesNotPublish() { var manager1 = new OrleansHubLifetimeManager <MyHub>(new LoggerFactory().CreateLogger <OrleansHubLifetimeManager <MyHub> >(), this._fixture.ClientProvider); var manager2 = new OrleansHubLifetimeManager <MyHub>(new LoggerFactory().CreateLogger <OrleansHubLifetimeManager <MyHub> >(), this._fixture.ClientProvider); using (var client = new TestClient()) { var connection = HubConnectionContextUtils.Create(client.Connection); // Add connection to both "servers" to see if connection receives message twice await manager1.OnConnectedAsync(connection); await manager2.OnConnectedAsync(connection); await manager1.SendConnectionAsync(connection.ConnectionId, "Hello", new object[] { "World" }); await AssertMessageAsync(client); Assert.Null(client.TryRead()); } }
public async Task InvokeConnectionAsync_OnNonExistentConnection_WithoutCalling_OnConnect_ThrowsException() { var manager = new OrleansHubLifetimeManager <MyHub>(new LoggerFactory().CreateLogger <OrleansHubLifetimeManager <MyHub> >(), this._fixture.ClientProvider); await Assert.ThrowsAsync <InvalidOperationException>(() => manager.SendConnectionAsync("NotARealConnectionIdV2", "Hello", new object[] { "World" })); }