Пример #1
0
        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>());
        }