Vitaly Buka | 1175a9b | 2015-08-15 10:42:17 -0700 | [diff] [blame] | 1 | // Copyright 2014 The Chromium OS Authors. All rights reserved. |
| 2 | // Use of this source code is governed by a BSD-style license that can be |
| 3 | // found in the LICENSE file. |
| 4 | |
| 5 | #include "buffet/buffet_config.h" |
| 6 | |
| 7 | #include <set> |
| 8 | |
| 9 | #include <base/bind.h> |
| 10 | #include <gtest/gtest.h> |
| 11 | |
| 12 | namespace buffet { |
| 13 | |
| 14 | TEST(BuffetConfigTest, LoadConfig) { |
| 15 | chromeos::KeyValueStore config_store; |
| 16 | config_store.SetString("client_id", "conf_client_id"); |
| 17 | config_store.SetString("client_secret", "conf_client_secret"); |
| 18 | config_store.SetString("api_key", "conf_api_key"); |
| 19 | config_store.SetString("oauth_url", "conf_oauth_url"); |
| 20 | config_store.SetString("service_url", "conf_service_url"); |
| 21 | config_store.SetString("oem_name", "conf_oem_name"); |
| 22 | config_store.SetString("model_name", "conf_model_name"); |
| 23 | config_store.SetString("model_id", "ABCDE"); |
| 24 | config_store.SetString("polling_period_ms", "12345"); |
| 25 | config_store.SetString("backup_polling_period_ms", "6589"); |
| 26 | config_store.SetBoolean("wifi_auto_setup_enabled", false); |
| 27 | config_store.SetBoolean("ble_setup_enabled", true); |
| 28 | config_store.SetString("pairing_modes", |
| 29 | "pinCode,embeddedCode,ultrasound32,audible32"); |
| 30 | config_store.SetString("embedded_code", "567"); |
| 31 | config_store.SetString("name", "conf_name"); |
| 32 | config_store.SetString("description", "conf_description"); |
| 33 | config_store.SetString("location", "conf_location"); |
| 34 | config_store.SetString("local_anonymous_access_role", "user"); |
| 35 | config_store.SetBoolean("local_pairing_enabled", false); |
| 36 | config_store.SetBoolean("local_discovery_enabled", false); |
| 37 | |
| 38 | // Following will be ignored. |
| 39 | config_store.SetString("device_kind", "conf_device_kind"); |
| 40 | config_store.SetString("device_id", "conf_device_id"); |
| 41 | config_store.SetString("refresh_token", "conf_refresh_token"); |
| 42 | config_store.SetString("robot_account", "conf_robot_account"); |
| 43 | config_store.SetString("last_configured_ssid", "conf_last_configured_ssid"); |
| 44 | |
| 45 | weave::Settings settings; |
Vitaly Buka | becd461 | 2015-08-16 23:31:55 -0700 | [diff] [blame] | 46 | BuffetConfig config{{}}; |
Vitaly Buka | 1175a9b | 2015-08-15 10:42:17 -0700 | [diff] [blame] | 47 | EXPECT_TRUE(config.LoadDefaults(config_store, &settings)); |
| 48 | |
| 49 | EXPECT_EQ("conf_client_id", settings.client_id); |
| 50 | EXPECT_EQ("conf_client_secret", settings.client_secret); |
| 51 | EXPECT_EQ("conf_api_key", settings.api_key); |
| 52 | EXPECT_EQ("conf_oauth_url", settings.oauth_url); |
| 53 | EXPECT_EQ("conf_service_url", settings.service_url); |
| 54 | EXPECT_EQ("conf_oem_name", settings.oem_name); |
| 55 | EXPECT_EQ("conf_model_name", settings.model_name); |
| 56 | EXPECT_EQ("ABCDE", settings.model_id); |
| 57 | EXPECT_EQ(base::TimeDelta::FromMilliseconds(12345), settings.polling_period); |
| 58 | EXPECT_EQ(base::TimeDelta::FromMilliseconds(6589), |
| 59 | settings.backup_polling_period); |
| 60 | EXPECT_FALSE(settings.wifi_auto_setup_enabled); |
| 61 | EXPECT_TRUE(settings.ble_setup_enabled); |
| 62 | std::set<weave::PairingType> pairing_types{ |
| 63 | weave::PairingType::kPinCode, weave::PairingType::kEmbeddedCode, |
| 64 | weave::PairingType::kUltrasound32, weave::PairingType::kAudible32}; |
| 65 | EXPECT_EQ(pairing_types, settings.pairing_modes); |
| 66 | EXPECT_EQ("567", settings.embedded_code); |
| 67 | EXPECT_EQ("conf_name", settings.name); |
| 68 | EXPECT_EQ("conf_description", settings.description); |
| 69 | EXPECT_EQ("conf_location", settings.location); |
| 70 | EXPECT_EQ("user", settings.local_anonymous_access_role); |
| 71 | EXPECT_FALSE(settings.local_pairing_enabled); |
| 72 | EXPECT_FALSE(settings.local_discovery_enabled); |
| 73 | } |
| 74 | |
| 75 | } // namespace buffet |