Esempio n. 1
0
        public async Task Ping__ping_the_server_when_it_is_down()
        {
            using (var service = new MockService(_logger))
            {
                var client1 = new ApolloClient(new MockServiceCommunicator("Client1", service, _logger));
                var result  = await client1.GetPlugin <ClientCorePlugin>().PingServer();

                result.RethrowCaughtException();
                result.Result.Should().Be(PingStats.PingResult.Timeout);
            }
        }
Esempio n. 2
0
        public async Task Ping__ping_self()
        {
            using (var service = new MockService(_logger))
            {
                var client1 = new ApolloClient(new MockServiceCommunicator("Client1", service, _logger));

                var result = await client1.GetPlugin <ClientCorePlugin>().PingClient(client1.Identifier);

                result.RethrowCaughtException();
                result.Result.Should().Be(PingStats.PingResult.Success);
            }
        }
Esempio n. 3
0
        public async Task Ping__ping_the_server()
        {
            using (var service = new MockService(_logger))
            {
                var serverStorage = new InMemoryApolloServerRepository();
                var client1       = new ApolloClient(new MockServiceCommunicator("Client1", service, _logger));
                var server        = new ApolloServer(new MockServiceCommunicator("Server1", service, _logger), serverStorage);
                (await client1.RegisterAsync()).Should().NotBeNullOrEmpty();

                var result = await client1.GetPlugin <ClientCorePlugin>().PingServer();

                result.RethrowCaughtException();
                result.Result.Should().Be(PingStats.PingResult.Success);
            }
        }
Esempio n. 4
0
        public async Task Ping__ping_an_unowned_alias()
        {
            var practiceId = "UK123";

            using (var service = new MockService(_logger))
            {
                var serverStorage = new InMemoryApolloServerRepository();
                var client1       = new ApolloClient(new MockServiceCommunicator("Client1", service, _logger));
                var client2       = new ApolloClient(new MockServiceCommunicator("Client2", service, _logger));
                var server        = new ApolloServer(new MockServiceCommunicator("Server1", service, _logger), serverStorage);
                (await client1.RegisterAsync()).Should().NotBeNullOrEmpty();
                (await client2.RegisterAsync()).Should().NotBeNullOrEmpty();

                var result = await client1.GetPlugin <ClientCorePlugin>().PingAlias(practiceId);

                result.RethrowCaughtException();
                result.Result.Should().Be(PingStats.PingResult.AddresseeNotFound);
            }
        }
Esempio n. 5
0
        public async Task Ping__ping_an_alias()
        {
            var client1Token = Guid.NewGuid();
            var practiceId   = "UK123";

            using (var service = new MockService(_logger))
            {
                var serverStorage = new InMemoryApolloServerRepository();
                var client1       = new ApolloClient(new MockServiceCommunicator("Client1", service, _logger));
                var client2       = new ApolloClient(new MockServiceCommunicator("Client2", service, _logger));
                var server        = new ApolloServer(new MockServiceCommunicator("Server1", service, _logger), serverStorage);
                (await client1.RegisterAsync()).Should().NotBeNullOrEmpty();
                (await client2.RegisterAsync()).Should().NotBeNullOrEmpty();

                (await client1.RequestOwnershipOfAliasAsync(practiceId, client1Token)).Should().Be(client1Token, "client 1 was the first to request ownership of UK123");

                var result = await client1.GetPlugin <ClientCorePlugin>().PingAlias(practiceId);

                result.RethrowCaughtException();
                result.Result.Should().Be(PingStats.PingResult.Success);
            }
        }