| Index: google_apis/google_api_keys_unittest.cc
|
| diff --git a/google_apis/google_api_keys_unittest.cc b/google_apis/google_api_keys_unittest.cc
|
| index 5ce1fb31622d454e1099f49a73cb6f669487adf0..74765ecaefe2747c79eed074233c5a8b0403d93c 100644
|
| --- a/google_apis/google_api_keys_unittest.cc
|
| +++ b/google_apis/google_api_keys_unittest.cc
|
| @@ -481,4 +481,94 @@ TEST_F(GoogleAPIKeysTest, OverrideAllKeysUsingEnvironment) {
|
| EXPECT_EQ("env-SECRET_REMOTING_HOST", secret_remoting_host);
|
| }
|
|
|
| +#if defined(OS_IOS)
|
| +// Override all keys using both preprocessor defines and setters.
|
| +// Setters should win.
|
| +namespace override_all_keys_setters {
|
| +
|
| +// We start every test by creating a clean environment for the
|
| +// preprocessor defines used in google_api_keys.cc
|
| +#undef DUMMY_API_TOKEN
|
| +#undef GOOGLE_API_KEY
|
| +#undef GOOGLE_CLIENT_ID_MAIN
|
| +#undef GOOGLE_CLIENT_SECRET_MAIN
|
| +#undef GOOGLE_CLIENT_ID_CLOUD_PRINT
|
| +#undef GOOGLE_CLIENT_SECRET_CLOUD_PRINT
|
| +#undef GOOGLE_CLIENT_ID_REMOTING
|
| +#undef GOOGLE_CLIENT_SECRET_REMOTING
|
| +#undef GOOGLE_CLIENT_ID_REMOTING_HOST
|
| +#undef GOOGLE_CLIENT_SECRET_REMOTING_HOST
|
| +#undef GOOGLE_DEFAULT_CLIENT_ID
|
| +#undef GOOGLE_DEFAULT_CLIENT_SECRET
|
| +
|
| +#define GOOGLE_API_KEY "API_KEY"
|
| +#define GOOGLE_CLIENT_ID_MAIN "ID_MAIN"
|
| +#define GOOGLE_CLIENT_SECRET_MAIN "SECRET_MAIN"
|
| +#define GOOGLE_CLIENT_ID_CLOUD_PRINT "ID_CLOUD_PRINT"
|
| +#define GOOGLE_CLIENT_SECRET_CLOUD_PRINT "SECRET_CLOUD_PRINT"
|
| +#define GOOGLE_CLIENT_ID_REMOTING "ID_REMOTING"
|
| +#define GOOGLE_CLIENT_SECRET_REMOTING "SECRET_REMOTING"
|
| +#define GOOGLE_CLIENT_ID_REMOTING_HOST "ID_REMOTING_HOST"
|
| +#define GOOGLE_CLIENT_SECRET_REMOTING_HOST "SECRET_REMOTING_HOST"
|
| +
|
| +// Undef include guard so things get defined again, within this namespace.
|
| +#undef GOOGLE_APIS_GOOGLE_API_KEYS_H_
|
| +#undef GOOGLE_APIS_INTERNAL_GOOGLE_CHROME_API_KEYS_
|
| +#include "google_apis/google_api_keys.cc"
|
| +
|
| +} // namespace override_all_keys_setters
|
| +
|
| +TEST_F(GoogleAPIKeysTest, OverrideAllKeysUsingSetters) {
|
| + namespace testcase = override_all_keys_setters::google_apis;
|
| +
|
| + std::string api_key("setter-API_KEY");
|
| + testcase::SetAPIKey(api_key);
|
| +
|
| + std::string id_main("setter-ID_MAIN");
|
| + std::string secret_main("setter-SECRET_MAIN");
|
| + testcase::SetOAuth2ClientID(testcase::CLIENT_MAIN, id_main);
|
| + testcase::SetOAuth2ClientSecret(testcase::CLIENT_MAIN, secret_main);
|
| +
|
| + std::string id_cloud_print("setter-ID_CLOUD_PRINT");
|
| + std::string secret_cloud_print("setter-SECRET_CLOUD_PRINT");
|
| + testcase::SetOAuth2ClientID(testcase::CLIENT_CLOUD_PRINT, id_cloud_print);
|
| + testcase::SetOAuth2ClientSecret(testcase::CLIENT_CLOUD_PRINT,
|
| + secret_cloud_print);
|
| +
|
| + std::string id_remoting("setter-ID_REMOTING");
|
| + std::string secret_remoting("setter-SECRET_REMOTING");
|
| + testcase::SetOAuth2ClientID(testcase::CLIENT_REMOTING, id_remoting);
|
| + testcase::SetOAuth2ClientSecret(testcase::CLIENT_REMOTING, secret_remoting);
|
| +
|
| + std::string id_remoting_host("setter-ID_REMOTING_HOST");
|
| + std::string secret_remoting_host("setter-SECRET_REMOTING_HOST");
|
| + testcase::SetOAuth2ClientID(testcase::CLIENT_REMOTING_HOST, id_remoting_host);
|
| + testcase::SetOAuth2ClientSecret(testcase::CLIENT_REMOTING_HOST,
|
| + secret_remoting_host);
|
| +
|
| + EXPECT_TRUE(testcase::HasKeysConfigured());
|
| +
|
| + EXPECT_EQ(api_key, testcase::GetAPIKey());
|
| +
|
| + EXPECT_EQ(id_main, testcase::GetOAuth2ClientID(testcase::CLIENT_MAIN));
|
| + EXPECT_EQ(secret_main,
|
| + testcase::GetOAuth2ClientSecret(testcase::CLIENT_MAIN));
|
| +
|
| + EXPECT_EQ(id_cloud_print,
|
| + testcase::GetOAuth2ClientID(testcase::CLIENT_CLOUD_PRINT));
|
| + EXPECT_EQ(secret_cloud_print,
|
| + testcase::GetOAuth2ClientSecret(testcase::CLIENT_CLOUD_PRINT));
|
| +
|
| + EXPECT_EQ(id_remoting,
|
| + testcase::GetOAuth2ClientID(testcase::CLIENT_REMOTING));
|
| + EXPECT_EQ(secret_remoting,
|
| + testcase::GetOAuth2ClientSecret(testcase::CLIENT_REMOTING));
|
| +
|
| + EXPECT_EQ(id_remoting_host,
|
| + testcase::GetOAuth2ClientID(testcase::CLIENT_REMOTING_HOST));
|
| + EXPECT_EQ(secret_remoting_host,
|
| + testcase::GetOAuth2ClientSecret(testcase::CLIENT_REMOTING_HOST));
|
| +}
|
| +#endif // defined(OS_IOS)
|
| +
|
| #endif // defined(OS_LINUX) || defined(OS_MACOSX)
|
|
|