From e465265f3a3ff07570cf407b70a7068ef9797c4d Mon Sep 17 00:00:00 2001 From: Falk Werner Date: Thu, 25 Jun 2020 21:52:20 +0200 Subject: [PATCH] added tests for connect failure --- test/webfuse_provider/provider/test_client.cc | 45 +++++++++++++++++++ 1 file changed, 45 insertions(+) diff --git a/test/webfuse_provider/provider/test_client.cc b/test/webfuse_provider/provider/test_client.cc index 7024598..86388c8 100644 --- a/test/webfuse_provider/provider/test_client.cc +++ b/test/webfuse_provider/provider/test_client.cc @@ -44,6 +44,51 @@ TEST(Client, Connect) wfp_client_config_dispose(config); } +TEST(Client, ConnectFailWithInvalidUrl) +{ + MockProviderClient provider; + + EXPECT_CALL(provider, OnConnected()).Times(0); + + std::promise disconnected; + EXPECT_CALL(provider, OnDisconnected()).Times(1) + .WillOnce(Invoke([&]() { disconnected.set_value(); })); + + wfp_client_config * config = wfp_client_config_create(); + provider.AttachTo(config); + + { + Client client(config, "invalid_url"); + + ASSERT_EQ(std::future_status::ready, disconnected.get_future().wait_for(TIMEOUT)); + } + + wfp_client_config_dispose(config); +} + +TEST(Client, ConnectFailNotReachable) +{ + MockProviderClient provider; + + EXPECT_CALL(provider, OnConnected()).Times(0); + + std::promise disconnected; + EXPECT_CALL(provider, OnDisconnected()).Times(1) + .WillOnce(Invoke([&]() { disconnected.set_value(); })); + + wfp_client_config * config = wfp_client_config_create(); + provider.AttachTo(config); + + { + Client client(config, "ws://localhost:4/"); + + ASSERT_EQ(std::future_status::ready, disconnected.get_future().wait_for(TIMEOUT)); + } + + wfp_client_config_dispose(config); +} + + TEST(Client, Lookup) { MockProviderClient provider;