public async Task RemoveGroupAsync_ForConnection_OnDifferentServer_Works() { var manager1 = new OrleansHubLifetimeManager <MyHub>(new LoggerFactory().CreateLogger <OrleansHubLifetimeManager <MyHub> >(), this._fixture.Client); var manager2 = new OrleansHubLifetimeManager <MyHub>(new LoggerFactory().CreateLogger <OrleansHubLifetimeManager <MyHub> >(), this._fixture.Client); using (var client = new TestClient()) { var output = Channel.CreateUnbounded <HubMessage>(); var connection = new HubConnectionContext(output, client.Connection); await manager1.OnConnectedAsync(connection); await manager1.AddGroupAsync(connection.ConnectionId, "snoop"); await manager2.InvokeGroupAsync("snoop", "Hello", new object[] { "World" }); AssertMessage(output); await manager2.RemoveGroupAsync(connection.ConnectionId, "snoop"); await manager2.InvokeGroupAsync("snoop", "Hello", new object[] { "World" }); Assert.False(output.In.TryRead(out var item)); } }
public async Task RemoveGroup_FromLocalConnection_NotInGroup_DoesNothing() { var manager = new OrleansHubLifetimeManager <MyHub>(new LoggerFactory().CreateLogger <OrleansHubLifetimeManager <MyHub> >(), this._fixture.Client); using (var client = new TestClient()) { var output = Channel.CreateUnbounded <HubMessage>(); var connection = new HubConnectionContext(output, client.Connection); await manager.OnConnectedAsync(connection); await manager.RemoveGroupAsync(connection.ConnectionId, "does-not-exists"); } }