diff options
Diffstat (limited to 'src/config_unittest.cc')
-rw-r--r-- | src/config_unittest.cc | 105 |
1 files changed, 67 insertions, 38 deletions
diff --git a/src/config_unittest.cc b/src/config_unittest.cc index 3c020f4..18d2aac 100644 --- a/src/config_unittest.cc +++ b/src/config_unittest.cc @@ -66,6 +66,7 @@ TEST_F(ConfigTest, Defaults) { EXPECT_EQ("", GetSettings().model_id); EXPECT_FALSE(GetSettings().device_id.empty()); EXPECT_EQ("", GetSettings().firmware_version); + EXPECT_EQ("", GetSettings().serial_number); EXPECT_TRUE(GetSettings().wifi_auto_setup_enabled); EXPECT_EQ("", GetSettings().test_privet_ssid); EXPECT_EQ(std::set<PairingType>{PairingType::kPinCode}, @@ -75,8 +76,7 @@ TEST_F(ConfigTest, Defaults) { EXPECT_EQ("", GetSettings().description); EXPECT_EQ("", GetSettings().location); EXPECT_EQ(AuthScope::kViewer, GetSettings().local_anonymous_access_role); - EXPECT_TRUE(GetSettings().local_pairing_enabled); - EXPECT_TRUE(GetSettings().local_discovery_enabled); + EXPECT_TRUE(GetSettings().local_access_enabled); EXPECT_EQ("", GetSettings().cloud_id); EXPECT_EQ("", GetSettings().refresh_token); EXPECT_EQ("", GetSettings().robot_account); @@ -127,7 +127,7 @@ TEST_F(ConfigTest, LoadStateNamed) { TEST_F(ConfigTest, LoadState) { auto state = R"({ - "version": 1, + "version": 2, "api_key": "state_api_key", "client_id": "state_client_id", "client_secret": "state_client_secret", @@ -137,8 +137,7 @@ TEST_F(ConfigTest, LoadState) { "last_configured_ssid": "state_last_configured_ssid", "local_anonymous_access_role": "user", "root_client_token_owner": "client", - "local_discovery_enabled": false, - "local_pairing_enabled": false, + "local_access_enabled": false, "location": "state_location", "name": "state_name", "oauth_url": "state_oauth_url", @@ -172,8 +171,7 @@ TEST_F(ConfigTest, LoadState) { EXPECT_EQ("state_description", GetSettings().description); EXPECT_EQ("state_location", GetSettings().location); EXPECT_EQ(AuthScope::kUser, GetSettings().local_anonymous_access_role); - EXPECT_FALSE(GetSettings().local_pairing_enabled); - EXPECT_FALSE(GetSettings().local_discovery_enabled); + EXPECT_FALSE(GetSettings().local_access_enabled); EXPECT_EQ("state_cloud_id", GetSettings().cloud_id); EXPECT_EQ("state_refresh_token", GetSettings().refresh_token); EXPECT_EQ("state_robot_account", GetSettings().robot_account); @@ -183,6 +181,44 @@ TEST_F(ConfigTest, LoadState) { GetSettings().root_client_token_owner); } +TEST_F(ConfigTest, LoadStateV1) { + auto state = R"({ + "version": 1, + "local_discovery_enabled": false, + "local_pairing_enabled": false + })"; + EXPECT_CALL(config_store_, LoadSettings(kConfigName)).WillOnce(Return(state)); + Reload(); + EXPECT_FALSE(GetSettings().local_access_enabled); + + state = R"({ + "version": 1, + "local_discovery_enabled": true, + "local_pairing_enabled": false + })"; + EXPECT_CALL(config_store_, LoadSettings(kConfigName)).WillOnce(Return(state)); + Reload(); + EXPECT_TRUE(GetSettings().local_access_enabled); + + state = R"({ + "version": 1, + "local_discovery_enabled": false, + "local_pairing_enabled": true + })"; + EXPECT_CALL(config_store_, LoadSettings(kConfigName)).WillOnce(Return(state)); + Reload(); + EXPECT_FALSE(GetSettings().local_access_enabled); + + state = R"({ + "version": 1, + "local_discovery_enabled": true, + "local_pairing_enabled": true + })"; + EXPECT_CALL(config_store_, LoadSettings(kConfigName)).WillOnce(Return(state)); + Reload(); + EXPECT_TRUE(GetSettings().local_access_enabled); +} + TEST_F(ConfigTest, Setters) { Config::Transaction change{config_.get()}; @@ -222,17 +258,11 @@ TEST_F(ConfigTest, Setters) { change.set_local_anonymous_access_role(AuthScope::kUser); EXPECT_EQ(AuthScope::kUser, GetSettings().local_anonymous_access_role); - change.set_local_discovery_enabled(false); - EXPECT_FALSE(GetSettings().local_discovery_enabled); - - change.set_local_pairing_enabled(false); - EXPECT_FALSE(GetSettings().local_pairing_enabled); - - change.set_local_discovery_enabled(true); - EXPECT_TRUE(GetSettings().local_discovery_enabled); + change.set_local_access_enabled(false); + EXPECT_FALSE(GetSettings().local_access_enabled); - change.set_local_pairing_enabled(true); - EXPECT_TRUE(GetSettings().local_pairing_enabled); + change.set_local_access_enabled(true); + EXPECT_TRUE(GetSettings().local_access_enabled); change.set_cloud_id("set_cloud_id"); EXPECT_EQ("set_cloud_id", GetSettings().cloud_id); @@ -263,27 +293,26 @@ TEST_F(ConfigTest, Setters) { .WillOnce(WithArgs<1, 2>( Invoke([](const std::string& json, const DoneCallback& callback) { auto expected = R"({ - 'version': 1, - 'api_key': 'set_api_key', - 'client_id': 'set_client_id', - 'client_secret': 'set_client_secret', - 'cloud_id': 'set_cloud_id', - 'description': 'set_description', - 'device_id': 'set_device_id', - 'last_configured_ssid': 'set_last_configured_ssid', - 'local_anonymous_access_role': 'user', - 'root_client_token_owner': 'cloud', - 'local_discovery_enabled': true, - 'local_pairing_enabled': true, - 'location': 'set_location', - 'name': 'set_name', - 'oauth_url': 'set_oauth_url', - 'refresh_token': 'set_token', - 'robot_account': 'set_account', - 'secret': 'AQIDBAU=', - 'service_url': 'set_service_url', - 'xmpp_endpoint': 'set_xmpp_endpoint' - })"; + 'version': 2, + 'api_key': 'set_api_key', + 'client_id': 'set_client_id', + 'client_secret': 'set_client_secret', + 'cloud_id': 'set_cloud_id', + 'description': 'set_description', + 'device_id': 'set_device_id', + 'last_configured_ssid': 'set_last_configured_ssid', + 'local_anonymous_access_role': 'user', + 'root_client_token_owner': 'cloud', + 'local_access_enabled': true, + 'location': 'set_location', + 'name': 'set_name', + 'oauth_url': 'set_oauth_url', + 'refresh_token': 'set_token', + 'robot_account': 'set_account', + 'secret': 'AQIDBAU=', + 'service_url': 'set_service_url', + 'xmpp_endpoint': 'set_xmpp_endpoint' + })"; EXPECT_JSON_EQ(expected, *test::CreateValue(json)); callback.Run(nullptr); }))); |