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); } }
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); } }
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); } }
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); } }
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); } }