buffet: Add D-Bus API to change GCD service settings
Added function UpdateServiceConfig that can be used to switch servers
for testing. Function modifies client_id, client_secret, api_key,
oauth_url and service_url.
BUG=brillo:1058
TEST='FEATURES=test emerge-gizmo buffet'
Change-Id: Ia8f8ba3ad57372ecedbff2819ce1991ba391a41d
Reviewed-on: https://chromium-review.googlesource.com/271387
Tested-by: Vitaly Buka <vitalybuka@chromium.org>
Reviewed-by: Alex Vakulenko <avakulenko@chromium.org>
Commit-Queue: Vitaly Buka <vitalybuka@chromium.org>
diff --git a/buffet/buffet_config_unittest.cc b/buffet/buffet_config_unittest.cc
index cec8bbe..e1b4b30 100644
--- a/buffet/buffet_config_unittest.cc
+++ b/buffet/buffet_config_unittest.cc
@@ -122,30 +122,40 @@
change.Commit();
auto expected = R"({
- 'description': 'conf_description',
- 'device_id': '',
- 'local_anonymous_access_role': 'user',
- 'local_discovery_enabled': false,
- 'local_pairing_enabled': false,
- 'location': 'conf_location',
- 'name': 'conf_name',
- 'refresh_token': '',
- 'robot_account': ''
+ 'api_key': 'conf_api_key',
+ 'client_id': 'conf_client_id',
+ 'client_secret': 'conf_client_secret',
+ 'description': 'conf_description',
+ 'device_id': '',
+ 'local_anonymous_access_role': 'user',
+ 'local_discovery_enabled': false,
+ 'local_pairing_enabled': false,
+ 'location': 'conf_location',
+ 'name': 'conf_name',
+ 'oauth_url': 'conf_oauth_url',
+ 'refresh_token': '',
+ 'robot_account': '',
+ 'service_url': 'conf_service_url'
})";
EXPECT_JSON_EQ(expected, *storage_->Load());
}
TEST_F(BuffetConfigTest, LoadState) {
auto state = R"({
- 'description': 'state_description',
- 'device_id': 'state_device_id',
- 'local_anonymous_access_role': 'user',
- 'local_discovery_enabled': false,
- 'local_pairing_enabled': false,
- 'location': 'state_location',
- 'name': 'state_name',
- 'refresh_token': 'state_refresh_token',
- 'robot_account': 'state_robot_account'
+ 'api_key': 'state_api_key',
+ 'client_id': 'state_client_id',
+ 'client_secret': 'state_client_secret',
+ 'description': 'state_description',
+ 'device_id': 'state_device_id',
+ 'local_anonymous_access_role': 'user',
+ 'local_discovery_enabled': false,
+ 'local_pairing_enabled': false,
+ 'location': 'state_location',
+ 'name': 'state_name',
+ 'oauth_url': 'state_oauth_url',
+ 'refresh_token': 'state_refresh_token',
+ 'robot_account': 'state_robot_account',
+ 'service_url': 'state_service_url'
})";
storage_->Save(*buffet::unittests::CreateDictionaryValue(state));
@@ -156,11 +166,11 @@
// Clear storage.
storage_->Save(base::DictionaryValue());
- EXPECT_EQ(default_.client_id(), config_->client_id());
- EXPECT_EQ(default_.client_secret(), config_->client_secret());
- EXPECT_EQ(default_.api_key(), config_->api_key());
- EXPECT_EQ(default_.oauth_url(), config_->oauth_url());
- EXPECT_EQ(default_.service_url(), config_->service_url());
+ EXPECT_EQ("state_client_id", config_->client_id());
+ EXPECT_EQ("state_client_secret", config_->client_secret());
+ EXPECT_EQ("state_api_key", config_->api_key());
+ EXPECT_EQ("state_oauth_url", config_->oauth_url());
+ EXPECT_EQ("state_service_url", config_->service_url());
EXPECT_EQ(default_.oem_name(), config_->oem_name());
EXPECT_EQ(default_.model_name(), config_->model_name());
EXPECT_EQ(default_.model_id(), config_->model_id());
@@ -189,6 +199,21 @@
TEST_F(BuffetConfigTest, Setters) {
BuffetConfig::Transaction change{config_.get()};
+ change.set_client_id("set_client_id");
+ EXPECT_EQ("set_client_id", config_->client_id());
+
+ change.set_client_secret("set_client_secret");
+ EXPECT_EQ("set_client_secret", config_->client_secret());
+
+ change.set_api_key("set_api_key");
+ EXPECT_EQ("set_api_key", config_->api_key());
+
+ change.set_oauth_url("set_oauth_url");
+ EXPECT_EQ("set_oauth_url", config_->oauth_url());
+
+ change.set_service_url("set_service_url");
+ EXPECT_EQ("set_service_url", config_->service_url());
+
change.set_name("set_name");
EXPECT_EQ("set_name", config_->name());
@@ -232,6 +257,9 @@
change.Commit();
auto expected = R"({
+ 'api_key': 'set_api_key',
+ 'client_id': 'set_client_id',
+ 'client_secret': 'set_client_secret',
'description': 'set_description',
'device_id': 'set_id',
'local_anonymous_access_role': 'user',
@@ -239,8 +267,10 @@
'local_pairing_enabled': true,
'location': 'set_location',
'name': 'set_name',
+ 'oauth_url': 'set_oauth_url',
'refresh_token': 'set_token',
- 'robot_account': 'set_account'
+ 'robot_account': 'set_account',
+ 'service_url': 'set_service_url'
})";
EXPECT_JSON_EQ(expected, *storage_->Load());
}