Test cleanup Added NotifyNetworkChanged to reuse repeating code. Added flags argument into InitMdnsPublishing for flexibility. BUG: 24267885 Change-Id: I376a014c727ab134f501aba06bca99e406922d8c Reviewed-on: https://weave-review.googlesource.com/1100 Reviewed-by: Alex Vakulenko <avakulenko@google.com>
diff --git a/libweave/src/weave_unittest.cc b/libweave/src/weave_unittest.cc index cc3ace3..d6418c3 100644 --- a/libweave/src/weave_unittest.cc +++ b/libweave/src/weave_unittest.cc
@@ -238,12 +238,11 @@ void InitMdns() { EXPECT_CALL(mdns_, GetId()).WillRepeatedly(Return("TEST_ID")); - InitMdnsPublishing(false); EXPECT_CALL(mdns_, StopPublishing("_privet._tcp")).WillOnce(Return()); } - void InitMdnsPublishing(bool registered) { - std::vector<std::string> txt{{"id=TEST_ID"}, {"flags=DB"}, + void InitMdnsPublishing(bool registered, const std::string& flags) { + std::vector<std::string> txt{{"id=TEST_ID"}, {"flags=" + flags}, {"mmid=ABCDE"}, {"services=_base"}, {"txtvers=3"}, {"ty=DEVICE_NAME"}}; if (registered) { @@ -306,13 +305,19 @@ EXPECT_TRUE(error->HasError("gcd", "device_not_registered")); })); - for (const auto& cb : http_server_changed_cb_) { + for (const auto& cb : http_server_changed_cb_) cb.Run(http_server_); - } task_runner_.Run(); } + void NotifyNetworkChanged(NetworkState state, base::TimeDelta delay) { + EXPECT_CALL(network_, GetConnectionState()).WillRepeatedly(Return(state)); + for (const auto& cb : network_callbacks_) { + task_runner_.PostDelayedTask(FROM_HERE, cb, delay); + } + } + std::vector<HttpServer::OnStateChangedCallback> http_server_changed_cb_; std::vector<HttpServer::OnRequestCallback> http_server_request_cb_; @@ -350,7 +355,9 @@ public: void SetUp() override { WeaveTest::SetUp(); + InitDefaultExpectations(); + InitMdnsPublishing(false, "DB"); } }; @@ -381,7 +388,7 @@ ExpectRequest("POST", "https://accounts.google.com/o/oauth2/token", kAuthTokenResponse); - InitMdnsPublishing(true); + InitMdnsPublishing(true, "DB"); EXPECT_EQ("DEVICE_ID", cloud_->RegisterDevice("TEST_ID", nullptr)); } @@ -405,25 +412,13 @@ StartDevice(); // Short disconnect. - EXPECT_CALL(network_, GetConnectionState()) - .WillRepeatedly(Return(NetworkState::kOffline)); - for (const auto& cb : network_callbacks_) { - task_runner_.PostDelayedTask(FROM_HERE, base::Bind(cb), {}); - } - EXPECT_CALL(network_, GetConnectionState()) - .WillRepeatedly(Return(NetworkState::kConnected)); - for (const auto& cb : network_callbacks_) { - task_runner_.PostDelayedTask(FROM_HERE, base::Bind(cb), - base::TimeDelta::FromSeconds(10)); - } + NotifyNetworkChanged(NetworkState::kOffline, {}); + NotifyNetworkChanged(NetworkState::kConnected, + base::TimeDelta::FromSeconds(10)); task_runner_.Run(); // Long disconnect. - EXPECT_CALL(network_, GetConnectionState()) - .WillRepeatedly(Return(NetworkState::kOffline)); - for (const auto& cb : network_callbacks_) { - task_runner_.PostDelayedTask(FROM_HERE, base::Bind(cb), {}); - } + NotifyNetworkChanged(NetworkState::kOffline, {}); auto offline_from = task_runner_.GetClock()->Now(); EXPECT_CALL(network_, EnableAccessPoint(MatchesRegex("DEVICE_NAME.*prv"))) .WillOnce(InvokeWithoutArgs([this, offline_from]() { @@ -442,11 +437,7 @@ StartDevice(); // Long disconnect. - EXPECT_CALL(network_, GetConnectionState()) - .WillRepeatedly(Return(NetworkState::kOffline)); - for (const auto& cb : network_callbacks_) { - task_runner_.PostDelayedTask(FROM_HERE, base::Bind(cb), {}); - } + NotifyNetworkChanged(NetworkState::kOffline, {}); for (int i = 0; i < 5; ++i) { auto offline_from = task_runner_.GetClock()->Now(); @@ -470,10 +461,7 @@ task_runner_.Run(); } - EXPECT_CALL(network_, GetConnectionState()) - .WillRepeatedly(Return(NetworkState::kConnected)); - for (const auto& cb : network_callbacks_) - task_runner_.PostDelayedTask(FROM_HERE, base::Bind(cb), {}); + NotifyNetworkChanged(NetworkState::kConnected, {}); task_runner_.Run(); }