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