public async Task UsesFactoryToAddNewServersFromGroups() { // Arrange var connections = CreateConnections(2); foreach (var connection in connections) { connection .SendAsync(Arg.Any <GroupCoordinatorRequest>(), Arg.Any <CancellationToken>(), Arg.Any <IRequestContext>()) .Returns(_ => RoutingScenario.DefaultGroupCoordinatorResponse(1)); } var factory = CreateFactory(connections); var router = new Router(new Endpoint(new IPEndPoint(IPAddress.Loopback, 1)), factory); // Act var testTopic = RoutingScenario.TestTopic; await router.GetGroupConnectionAsync(testTopic, CancellationToken.None); var broker = router.GetGroupConnection(testTopic); // Assert factory.Received() .Create(Arg.Is <Endpoint>(e => e.Ip.Port == 2), Arg.Any <IConnectionConfiguration>(), Arg.Any <ILog>()); }