| OLD | NEW |
| 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 // Unit tests for implementation of google_api_keys namespace. | 5 // Unit tests for implementation of google_api_keys namespace. |
| 6 // | 6 // |
| 7 // Because the file deals with a lot of preprocessor defines and | 7 // Because the file deals with a lot of preprocessor defines and |
| 8 // optionally includes an internal header, the way we test is by | 8 // optionally includes an internal header, the way we test is by |
| 9 // including the .cc file multiple times with different defines set. | 9 // including the .cc file multiple times with different defines set. |
| 10 // This is a little unorthodox, but it lets us test the behavior as | 10 // This is a little unorthodox, but it lets us test the behavior as |
| (...skipping 41 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 52 class GoogleAPIKeysTest : public testing::Test { | 52 class GoogleAPIKeysTest : public testing::Test { |
| 53 public: | 53 public: |
| 54 GoogleAPIKeysTest() : env_(base::Environment::Create()) { | 54 GoogleAPIKeysTest() : env_(base::Environment::Create()) { |
| 55 env_cache_[0].variable_name = "GOOGLE_API_KEY"; | 55 env_cache_[0].variable_name = "GOOGLE_API_KEY"; |
| 56 env_cache_[1].variable_name = "GOOGLE_CLIENT_ID_MAIN"; | 56 env_cache_[1].variable_name = "GOOGLE_CLIENT_ID_MAIN"; |
| 57 env_cache_[2].variable_name = "GOOGLE_CLIENT_SECRET_MAIN"; | 57 env_cache_[2].variable_name = "GOOGLE_CLIENT_SECRET_MAIN"; |
| 58 env_cache_[3].variable_name = "GOOGLE_CLIENT_ID_CLOUD_PRINT"; | 58 env_cache_[3].variable_name = "GOOGLE_CLIENT_ID_CLOUD_PRINT"; |
| 59 env_cache_[4].variable_name = "GOOGLE_CLIENT_SECRET_CLOUD_PRINT"; | 59 env_cache_[4].variable_name = "GOOGLE_CLIENT_SECRET_CLOUD_PRINT"; |
| 60 env_cache_[5].variable_name = "GOOGLE_CLIENT_ID_REMOTING"; | 60 env_cache_[5].variable_name = "GOOGLE_CLIENT_ID_REMOTING"; |
| 61 env_cache_[6].variable_name = "GOOGLE_CLIENT_SECRET_REMOTING"; | 61 env_cache_[6].variable_name = "GOOGLE_CLIENT_SECRET_REMOTING"; |
| 62 env_cache_[7].variable_name = "GOOGLE_DEFAULT_CLIENT_ID"; | 62 env_cache_[7].variable_name = "GOOGLE_CLIENT_ID_REMOTING_HOST"; |
| 63 env_cache_[8].variable_name = "GOOGLE_DEFAULT_CLIENT_SECRET"; | 63 env_cache_[8].variable_name = "GOOGLE_CLIENT_SECRET_REMOTING_HOST"; |
| 64 env_cache_[9].variable_name = "GOOGLE_DEFAULT_CLIENT_ID"; |
| 65 env_cache_[10].variable_name = "GOOGLE_DEFAULT_CLIENT_SECRET"; |
| 64 } | 66 } |
| 65 | 67 |
| 66 virtual void SetUp() { | 68 virtual void SetUp() { |
| 67 // Unset all environment variables that can affect these tests, | 69 // Unset all environment variables that can affect these tests, |
| 68 // for the duration of the tests. | 70 // for the duration of the tests. |
| 69 for (size_t i = 0; i < arraysize(env_cache_); ++i) { | 71 for (size_t i = 0; i < arraysize(env_cache_); ++i) { |
| 70 EnvironmentCache& cache = env_cache_[i]; | 72 EnvironmentCache& cache = env_cache_[i]; |
| 71 cache.was_set = env_->HasVar(cache.variable_name); | 73 cache.was_set = env_->HasVar(cache.variable_name); |
| 72 cache.value.clear(); | 74 cache.value.clear(); |
| 73 if (cache.was_set) { | 75 if (cache.was_set) { |
| (...skipping 33 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 107 // We start every test by creating a clean environment for the | 109 // We start every test by creating a clean environment for the |
| 108 // preprocessor defines used in google_api_keys.cc | 110 // preprocessor defines used in google_api_keys.cc |
| 109 #undef DUMMY_API_TOKEN | 111 #undef DUMMY_API_TOKEN |
| 110 #undef GOOGLE_API_KEY | 112 #undef GOOGLE_API_KEY |
| 111 #undef GOOGLE_CLIENT_ID_MAIN | 113 #undef GOOGLE_CLIENT_ID_MAIN |
| 112 #undef GOOGLE_CLIENT_SECRET_MAIN | 114 #undef GOOGLE_CLIENT_SECRET_MAIN |
| 113 #undef GOOGLE_CLIENT_ID_CLOUD_PRINT | 115 #undef GOOGLE_CLIENT_ID_CLOUD_PRINT |
| 114 #undef GOOGLE_CLIENT_SECRET_CLOUD_PRINT | 116 #undef GOOGLE_CLIENT_SECRET_CLOUD_PRINT |
| 115 #undef GOOGLE_CLIENT_ID_REMOTING | 117 #undef GOOGLE_CLIENT_ID_REMOTING |
| 116 #undef GOOGLE_CLIENT_SECRET_REMOTING | 118 #undef GOOGLE_CLIENT_SECRET_REMOTING |
| 119 #undef GOOGLE_CLIENT_ID_REMOTING_HOST |
| 120 #undef GOOGLE_CLIENT_SECRET_REMOTING_HOST |
| 117 #undef GOOGLE_DEFAULT_CLIENT_ID | 121 #undef GOOGLE_DEFAULT_CLIENT_ID |
| 118 #undef GOOGLE_DEFAULT_CLIENT_SECRET | 122 #undef GOOGLE_DEFAULT_CLIENT_SECRET |
| 119 | 123 |
| 120 // Try setting some keys, these should be ignored since it's a build | 124 // Try setting some keys, these should be ignored since it's a build |
| 121 // with official keys. | 125 // with official keys. |
| 122 #define GOOGLE_API_KEY "bogus api_key" | 126 #define GOOGLE_API_KEY "bogus api_key" |
| 123 #define GOOGLE_CLIENT_ID_MAIN "bogus client_id_main" | 127 #define GOOGLE_CLIENT_ID_MAIN "bogus client_id_main" |
| 124 | 128 |
| 125 // Undef include guard so things get defined again, within this namespace. | 129 // Undef include guard so things get defined again, within this namespace. |
| 126 #undef GOOGLE_APIS_GOOGLE_API_KEYS_H_ | 130 #undef GOOGLE_APIS_GOOGLE_API_KEYS_H_ |
| (...skipping 16 matching lines...) Expand all Loading... |
| 143 testcase::g_api_key_cache.Get().GetClientID( | 147 testcase::g_api_key_cache.Get().GetClientID( |
| 144 testcase::CLIENT_CLOUD_PRINT); | 148 testcase::CLIENT_CLOUD_PRINT); |
| 145 std::string secret_cloud_print = | 149 std::string secret_cloud_print = |
| 146 testcase::g_api_key_cache.Get().GetClientSecret( | 150 testcase::g_api_key_cache.Get().GetClientSecret( |
| 147 testcase::CLIENT_CLOUD_PRINT); | 151 testcase::CLIENT_CLOUD_PRINT); |
| 148 std::string id_remoting = testcase::g_api_key_cache.Get().GetClientID( | 152 std::string id_remoting = testcase::g_api_key_cache.Get().GetClientID( |
| 149 testcase::CLIENT_REMOTING); | 153 testcase::CLIENT_REMOTING); |
| 150 std::string secret_remoting = | 154 std::string secret_remoting = |
| 151 testcase::g_api_key_cache.Get().GetClientSecret( | 155 testcase::g_api_key_cache.Get().GetClientSecret( |
| 152 testcase::CLIENT_REMOTING); | 156 testcase::CLIENT_REMOTING); |
| 157 std::string id_remoting_host = testcase::g_api_key_cache.Get().GetClientID( |
| 158 testcase::CLIENT_REMOTING_HOST); |
| 159 std::string secret_remoting_host = |
| 160 testcase::g_api_key_cache.Get().GetClientSecret( |
| 161 testcase::CLIENT_REMOTING_HOST); |
| 153 | 162 |
| 154 EXPECT_NE(0u, api_key.size()); | 163 EXPECT_NE(0u, api_key.size()); |
| 155 EXPECT_NE(DUMMY_API_TOKEN, api_key); | 164 EXPECT_NE(DUMMY_API_TOKEN, api_key); |
| 156 EXPECT_NE("bogus api_key", api_key); | 165 EXPECT_NE("bogus api_key", api_key); |
| 157 EXPECT_NE(kDummyToken, api_key); | 166 EXPECT_NE(kDummyToken, api_key); |
| 158 | 167 |
| 159 EXPECT_NE(0u, id_main.size()); | 168 EXPECT_NE(0u, id_main.size()); |
| 160 EXPECT_NE(DUMMY_API_TOKEN, id_main); | 169 EXPECT_NE(DUMMY_API_TOKEN, id_main); |
| 161 EXPECT_NE("bogus client_id_main", id_main); | 170 EXPECT_NE("bogus client_id_main", id_main); |
| 162 EXPECT_NE(kDummyToken, id_main); | 171 EXPECT_NE(kDummyToken, id_main); |
| (...skipping 10 matching lines...) Expand all Loading... |
| 173 EXPECT_NE(DUMMY_API_TOKEN, secret_cloud_print); | 182 EXPECT_NE(DUMMY_API_TOKEN, secret_cloud_print); |
| 174 EXPECT_NE(kDummyToken, secret_cloud_print); | 183 EXPECT_NE(kDummyToken, secret_cloud_print); |
| 175 | 184 |
| 176 EXPECT_NE(0u, id_remoting.size()); | 185 EXPECT_NE(0u, id_remoting.size()); |
| 177 EXPECT_NE(DUMMY_API_TOKEN, id_remoting); | 186 EXPECT_NE(DUMMY_API_TOKEN, id_remoting); |
| 178 EXPECT_NE(kDummyToken, id_remoting); | 187 EXPECT_NE(kDummyToken, id_remoting); |
| 179 | 188 |
| 180 EXPECT_NE(0u, secret_remoting.size()); | 189 EXPECT_NE(0u, secret_remoting.size()); |
| 181 EXPECT_NE(DUMMY_API_TOKEN, secret_remoting); | 190 EXPECT_NE(DUMMY_API_TOKEN, secret_remoting); |
| 182 EXPECT_NE(kDummyToken, secret_remoting); | 191 EXPECT_NE(kDummyToken, secret_remoting); |
| 192 |
| 193 EXPECT_NE(0u, id_remoting_host.size()); |
| 194 EXPECT_NE(DUMMY_API_TOKEN, id_remoting_host); |
| 195 EXPECT_NE(kDummyToken, id_remoting_host); |
| 196 |
| 197 EXPECT_NE(0u, secret_remoting_host.size()); |
| 198 EXPECT_NE(DUMMY_API_TOKEN, secret_remoting_host); |
| 199 EXPECT_NE(kDummyToken, secret_remoting_host); |
| 183 } | 200 } |
| 184 #endif // defined(GOOGLE_CHROME_BUILD) || defined(USE_OFFICIAL_GOOGLE_API_KEYS) | 201 #endif // defined(GOOGLE_CHROME_BUILD) || defined(USE_OFFICIAL_GOOGLE_API_KEYS) |
| 185 | 202 |
| 186 // After this test, for the remainder of this compilation unit, we | 203 // After this test, for the remainder of this compilation unit, we |
| 187 // need official keys to not be used. | 204 // need official keys to not be used. |
| 188 #undef GOOGLE_CHROME_BUILD | 205 #undef GOOGLE_CHROME_BUILD |
| 189 #undef USE_OFFICIAL_GOOGLE_API_KEYS | 206 #undef USE_OFFICIAL_GOOGLE_API_KEYS |
| 190 | 207 |
| 191 // Test the set of keys temporarily baked into Chromium by default. | 208 // Test the set of keys temporarily baked into Chromium by default. |
| 192 namespace default_keys { | 209 namespace default_keys { |
| 193 | 210 |
| 194 // We start every test by creating a clean environment for the | 211 // We start every test by creating a clean environment for the |
| 195 // preprocessor defines used in google_api_keys.cc | 212 // preprocessor defines used in google_api_keys.cc |
| 196 #undef DUMMY_API_TOKEN | 213 #undef DUMMY_API_TOKEN |
| 197 #undef GOOGLE_API_KEY | 214 #undef GOOGLE_API_KEY |
| 198 #undef GOOGLE_CLIENT_ID_MAIN | 215 #undef GOOGLE_CLIENT_ID_MAIN |
| 199 #undef GOOGLE_CLIENT_SECRET_MAIN | 216 #undef GOOGLE_CLIENT_SECRET_MAIN |
| 200 #undef GOOGLE_CLIENT_ID_CLOUD_PRINT | 217 #undef GOOGLE_CLIENT_ID_CLOUD_PRINT |
| 201 #undef GOOGLE_CLIENT_SECRET_CLOUD_PRINT | 218 #undef GOOGLE_CLIENT_SECRET_CLOUD_PRINT |
| 202 #undef GOOGLE_CLIENT_ID_REMOTING | 219 #undef GOOGLE_CLIENT_ID_REMOTING |
| 203 #undef GOOGLE_CLIENT_SECRET_REMOTING | 220 #undef GOOGLE_CLIENT_SECRET_REMOTING |
| 221 #undef GOOGLE_CLIENT_ID_REMOTING_HOST |
| 222 #undef GOOGLE_CLIENT_SECRET_REMOTING_HOST |
| 204 #undef GOOGLE_DEFAULT_CLIENT_ID | 223 #undef GOOGLE_DEFAULT_CLIENT_ID |
| 205 #undef GOOGLE_DEFAULT_CLIENT_SECRET | 224 #undef GOOGLE_DEFAULT_CLIENT_SECRET |
| 206 | 225 |
| 207 // Undef include guard so things get defined again, within this namespace. | 226 // Undef include guard so things get defined again, within this namespace. |
| 208 #undef GOOGLE_APIS_GOOGLE_API_KEYS_H_ | 227 #undef GOOGLE_APIS_GOOGLE_API_KEYS_H_ |
| 209 #undef GOOGLE_APIS_INTERNAL_GOOGLE_CHROME_API_KEYS_ | 228 #undef GOOGLE_APIS_INTERNAL_GOOGLE_CHROME_API_KEYS_ |
| 210 #include "google_apis/google_api_keys.cc" | 229 #include "google_apis/google_api_keys.cc" |
| 211 | 230 |
| 212 } // namespace default_keys | 231 } // namespace default_keys |
| 213 | 232 |
| (...skipping 11 matching lines...) Expand all Loading... |
| 225 testcase::g_api_key_cache.Get().GetClientID( | 244 testcase::g_api_key_cache.Get().GetClientID( |
| 226 testcase::CLIENT_CLOUD_PRINT); | 245 testcase::CLIENT_CLOUD_PRINT); |
| 227 std::string secret_cloud_print = | 246 std::string secret_cloud_print = |
| 228 testcase::g_api_key_cache.Get().GetClientSecret( | 247 testcase::g_api_key_cache.Get().GetClientSecret( |
| 229 testcase::CLIENT_CLOUD_PRINT); | 248 testcase::CLIENT_CLOUD_PRINT); |
| 230 std::string id_remoting = testcase::g_api_key_cache.Get().GetClientID( | 249 std::string id_remoting = testcase::g_api_key_cache.Get().GetClientID( |
| 231 testcase::CLIENT_REMOTING); | 250 testcase::CLIENT_REMOTING); |
| 232 std::string secret_remoting = | 251 std::string secret_remoting = |
| 233 testcase::g_api_key_cache.Get().GetClientSecret( | 252 testcase::g_api_key_cache.Get().GetClientSecret( |
| 234 testcase::CLIENT_REMOTING); | 253 testcase::CLIENT_REMOTING); |
| 254 std::string id_remoting_host = testcase::g_api_key_cache.Get().GetClientID( |
| 255 testcase::CLIENT_REMOTING_HOST); |
| 256 std::string secret_remoting_host = |
| 257 testcase::g_api_key_cache.Get().GetClientSecret( |
| 258 testcase::CLIENT_REMOTING_HOST); |
| 235 | 259 |
| 236 EXPECT_EQ(kDummyToken, api_key); | 260 EXPECT_EQ(kDummyToken, api_key); |
| 237 EXPECT_EQ(kDummyToken, id_main); | 261 EXPECT_EQ(kDummyToken, id_main); |
| 238 EXPECT_EQ(kDummyToken, secret_main); | 262 EXPECT_EQ(kDummyToken, secret_main); |
| 239 EXPECT_EQ(kDummyToken, id_cloud_print); | 263 EXPECT_EQ(kDummyToken, id_cloud_print); |
| 240 EXPECT_EQ(kDummyToken, secret_cloud_print); | 264 EXPECT_EQ(kDummyToken, secret_cloud_print); |
| 241 EXPECT_EQ(kDummyToken, id_remoting); | 265 EXPECT_EQ(kDummyToken, id_remoting); |
| 242 EXPECT_EQ(kDummyToken, secret_remoting); | 266 EXPECT_EQ(kDummyToken, secret_remoting); |
| 267 EXPECT_EQ(kDummyToken, id_remoting_host); |
| 268 EXPECT_EQ(kDummyToken, secret_remoting_host); |
| 243 } | 269 } |
| 244 | 270 |
| 245 // Override a couple of keys, leave the rest default. | 271 // Override a couple of keys, leave the rest default. |
| 246 namespace override_some_keys { | 272 namespace override_some_keys { |
| 247 | 273 |
| 248 // We start every test by creating a clean environment for the | 274 // We start every test by creating a clean environment for the |
| 249 // preprocessor defines used in google_api_keys.cc | 275 // preprocessor defines used in google_api_keys.cc |
| 250 #undef DUMMY_API_TOKEN | 276 #undef DUMMY_API_TOKEN |
| 251 #undef GOOGLE_API_KEY | 277 #undef GOOGLE_API_KEY |
| 252 #undef GOOGLE_CLIENT_ID_MAIN | 278 #undef GOOGLE_CLIENT_ID_MAIN |
| 253 #undef GOOGLE_CLIENT_SECRET_MAIN | 279 #undef GOOGLE_CLIENT_SECRET_MAIN |
| 254 #undef GOOGLE_CLIENT_ID_CLOUD_PRINT | 280 #undef GOOGLE_CLIENT_ID_CLOUD_PRINT |
| 255 #undef GOOGLE_CLIENT_SECRET_CLOUD_PRINT | 281 #undef GOOGLE_CLIENT_SECRET_CLOUD_PRINT |
| 256 #undef GOOGLE_CLIENT_ID_REMOTING | 282 #undef GOOGLE_CLIENT_ID_REMOTING |
| 257 #undef GOOGLE_CLIENT_SECRET_REMOTING | 283 #undef GOOGLE_CLIENT_SECRET_REMOTING |
| 284 #undef GOOGLE_CLIENT_ID_REMOTING_HOST |
| 285 #undef GOOGLE_CLIENT_SECRET_REMOTING_HOST |
| 258 #undef GOOGLE_DEFAULT_CLIENT_ID | 286 #undef GOOGLE_DEFAULT_CLIENT_ID |
| 259 #undef GOOGLE_DEFAULT_CLIENT_SECRET | 287 #undef GOOGLE_DEFAULT_CLIENT_SECRET |
| 260 | 288 |
| 261 #define GOOGLE_API_KEY "API_KEY override" | 289 #define GOOGLE_API_KEY "API_KEY override" |
| 262 #define GOOGLE_CLIENT_ID_REMOTING "CLIENT_ID_REMOTING override" | 290 #define GOOGLE_CLIENT_ID_REMOTING "CLIENT_ID_REMOTING override" |
| 263 | 291 |
| 264 // Undef include guard so things get defined again, within this namespace. | 292 // Undef include guard so things get defined again, within this namespace. |
| 265 #undef GOOGLE_APIS_GOOGLE_API_KEYS_H_ | 293 #undef GOOGLE_APIS_GOOGLE_API_KEYS_H_ |
| 266 #undef GOOGLE_APIS_INTERNAL_GOOGLE_CHROME_API_KEYS_ | 294 #undef GOOGLE_APIS_INTERNAL_GOOGLE_CHROME_API_KEYS_ |
| 267 #include "google_apis/google_api_keys.cc" | 295 #include "google_apis/google_api_keys.cc" |
| (...skipping 14 matching lines...) Expand all Loading... |
| 282 testcase::g_api_key_cache.Get().GetClientID( | 310 testcase::g_api_key_cache.Get().GetClientID( |
| 283 testcase::CLIENT_CLOUD_PRINT); | 311 testcase::CLIENT_CLOUD_PRINT); |
| 284 std::string secret_cloud_print = | 312 std::string secret_cloud_print = |
| 285 testcase::g_api_key_cache.Get().GetClientSecret( | 313 testcase::g_api_key_cache.Get().GetClientSecret( |
| 286 testcase::CLIENT_CLOUD_PRINT); | 314 testcase::CLIENT_CLOUD_PRINT); |
| 287 std::string id_remoting = testcase::g_api_key_cache.Get().GetClientID( | 315 std::string id_remoting = testcase::g_api_key_cache.Get().GetClientID( |
| 288 testcase::CLIENT_REMOTING); | 316 testcase::CLIENT_REMOTING); |
| 289 std::string secret_remoting = | 317 std::string secret_remoting = |
| 290 testcase::g_api_key_cache.Get().GetClientSecret( | 318 testcase::g_api_key_cache.Get().GetClientSecret( |
| 291 testcase::CLIENT_REMOTING); | 319 testcase::CLIENT_REMOTING); |
| 320 std::string id_remoting_host = testcase::g_api_key_cache.Get().GetClientID( |
| 321 testcase::CLIENT_REMOTING_HOST); |
| 322 std::string secret_remoting_host = |
| 323 testcase::g_api_key_cache.Get().GetClientSecret( |
| 324 testcase::CLIENT_REMOTING_HOST); |
| 292 | 325 |
| 293 EXPECT_EQ("API_KEY override", api_key); | 326 EXPECT_EQ("API_KEY override", api_key); |
| 294 EXPECT_EQ(kDummyToken, id_main); | 327 EXPECT_EQ(kDummyToken, id_main); |
| 295 EXPECT_EQ(kDummyToken, secret_main); | 328 EXPECT_EQ(kDummyToken, secret_main); |
| 296 EXPECT_EQ(kDummyToken, id_cloud_print); | 329 EXPECT_EQ(kDummyToken, id_cloud_print); |
| 297 EXPECT_EQ(kDummyToken, secret_cloud_print); | 330 EXPECT_EQ(kDummyToken, secret_cloud_print); |
| 298 EXPECT_EQ("CLIENT_ID_REMOTING override", id_remoting); | 331 EXPECT_EQ("CLIENT_ID_REMOTING override", id_remoting); |
| 299 EXPECT_EQ(kDummyToken, secret_remoting); | 332 EXPECT_EQ(kDummyToken, secret_remoting); |
| 333 EXPECT_EQ(kDummyToken, id_remoting_host); |
| 334 EXPECT_EQ(kDummyToken, secret_remoting_host); |
| 300 } | 335 } |
| 301 | 336 |
| 302 // Override all keys. | 337 // Override all keys. |
| 303 namespace override_all_keys { | 338 namespace override_all_keys { |
| 304 | 339 |
| 305 // We start every test by creating a clean environment for the | 340 // We start every test by creating a clean environment for the |
| 306 // preprocessor defines used in google_api_keys.cc | 341 // preprocessor defines used in google_api_keys.cc |
| 307 #undef DUMMY_API_TOKEN | 342 #undef DUMMY_API_TOKEN |
| 308 #undef GOOGLE_API_KEY | 343 #undef GOOGLE_API_KEY |
| 309 #undef GOOGLE_CLIENT_ID_MAIN | 344 #undef GOOGLE_CLIENT_ID_MAIN |
| 310 #undef GOOGLE_CLIENT_SECRET_MAIN | 345 #undef GOOGLE_CLIENT_SECRET_MAIN |
| 311 #undef GOOGLE_CLIENT_ID_CLOUD_PRINT | 346 #undef GOOGLE_CLIENT_ID_CLOUD_PRINT |
| 312 #undef GOOGLE_CLIENT_SECRET_CLOUD_PRINT | 347 #undef GOOGLE_CLIENT_SECRET_CLOUD_PRINT |
| 313 #undef GOOGLE_CLIENT_ID_REMOTING | 348 #undef GOOGLE_CLIENT_ID_REMOTING |
| 314 #undef GOOGLE_CLIENT_SECRET_REMOTING | 349 #undef GOOGLE_CLIENT_SECRET_REMOTING |
| 350 #undef GOOGLE_CLIENT_ID_REMOTING_HOST |
| 351 #undef GOOGLE_CLIENT_SECRET_REMOTING_HOST |
| 315 #undef GOOGLE_DEFAULT_CLIENT_ID | 352 #undef GOOGLE_DEFAULT_CLIENT_ID |
| 316 #undef GOOGLE_DEFAULT_CLIENT_SECRET | 353 #undef GOOGLE_DEFAULT_CLIENT_SECRET |
| 317 | 354 |
| 318 #define GOOGLE_API_KEY "API_KEY" | 355 #define GOOGLE_API_KEY "API_KEY" |
| 319 #define GOOGLE_CLIENT_ID_MAIN "ID_MAIN" | 356 #define GOOGLE_CLIENT_ID_MAIN "ID_MAIN" |
| 320 #define GOOGLE_CLIENT_SECRET_MAIN "SECRET_MAIN" | 357 #define GOOGLE_CLIENT_SECRET_MAIN "SECRET_MAIN" |
| 321 #define GOOGLE_CLIENT_ID_CLOUD_PRINT "ID_CLOUD_PRINT" | 358 #define GOOGLE_CLIENT_ID_CLOUD_PRINT "ID_CLOUD_PRINT" |
| 322 #define GOOGLE_CLIENT_SECRET_CLOUD_PRINT "SECRET_CLOUD_PRINT" | 359 #define GOOGLE_CLIENT_SECRET_CLOUD_PRINT "SECRET_CLOUD_PRINT" |
| 323 #define GOOGLE_CLIENT_ID_REMOTING "ID_REMOTING" | 360 #define GOOGLE_CLIENT_ID_REMOTING "ID_REMOTING" |
| 324 #define GOOGLE_CLIENT_SECRET_REMOTING "SECRET_REMOTING" | 361 #define GOOGLE_CLIENT_SECRET_REMOTING "SECRET_REMOTING" |
| 362 #define GOOGLE_CLIENT_ID_REMOTING_HOST "ID_REMOTING_HOST" |
| 363 #define GOOGLE_CLIENT_SECRET_REMOTING_HOST "SECRET_REMOTING_HOST" |
| 325 | 364 |
| 326 // Undef include guard so things get defined again, within this namespace. | 365 // Undef include guard so things get defined again, within this namespace. |
| 327 #undef GOOGLE_APIS_GOOGLE_API_KEYS_H_ | 366 #undef GOOGLE_APIS_GOOGLE_API_KEYS_H_ |
| 328 #undef GOOGLE_APIS_INTERNAL_GOOGLE_CHROME_API_KEYS_ | 367 #undef GOOGLE_APIS_INTERNAL_GOOGLE_CHROME_API_KEYS_ |
| 329 #include "google_apis/google_api_keys.cc" | 368 #include "google_apis/google_api_keys.cc" |
| 330 | 369 |
| 331 } // namespace override_all_keys | 370 } // namespace override_all_keys |
| 332 | 371 |
| 333 TEST_F(GoogleAPIKeysTest, OverrideAllKeys) { | 372 TEST_F(GoogleAPIKeysTest, OverrideAllKeys) { |
| 334 namespace testcase = override_all_keys::google_apis; | 373 namespace testcase = override_all_keys::google_apis; |
| 335 | 374 |
| 336 EXPECT_TRUE(testcase::HasKeysConfigured()); | 375 EXPECT_TRUE(testcase::HasKeysConfigured()); |
| 337 | 376 |
| 338 std::string api_key = testcase::g_api_key_cache.Get().api_key(); | 377 std::string api_key = testcase::g_api_key_cache.Get().api_key(); |
| 339 std::string id_main = testcase::g_api_key_cache.Get().GetClientID( | 378 std::string id_main = testcase::g_api_key_cache.Get().GetClientID( |
| 340 testcase::CLIENT_MAIN); | 379 testcase::CLIENT_MAIN); |
| 341 std::string secret_main = testcase::g_api_key_cache.Get().GetClientSecret( | 380 std::string secret_main = testcase::g_api_key_cache.Get().GetClientSecret( |
| 342 testcase::CLIENT_MAIN); | 381 testcase::CLIENT_MAIN); |
| 343 std::string id_cloud_print = | 382 std::string id_cloud_print = |
| 344 testcase::g_api_key_cache.Get().GetClientID( | 383 testcase::g_api_key_cache.Get().GetClientID( |
| 345 testcase::CLIENT_CLOUD_PRINT); | 384 testcase::CLIENT_CLOUD_PRINT); |
| 346 std::string secret_cloud_print = | 385 std::string secret_cloud_print = |
| 347 testcase::g_api_key_cache.Get().GetClientSecret( | 386 testcase::g_api_key_cache.Get().GetClientSecret( |
| 348 testcase::CLIENT_CLOUD_PRINT); | 387 testcase::CLIENT_CLOUD_PRINT); |
| 349 std::string id_remoting = testcase::g_api_key_cache.Get().GetClientID( | 388 std::string id_remoting = testcase::g_api_key_cache.Get().GetClientID( |
| 350 testcase::CLIENT_REMOTING); | 389 testcase::CLIENT_REMOTING); |
| 351 std::string secret_remoting = | 390 std::string secret_remoting = |
| 352 testcase::g_api_key_cache.Get().GetClientSecret( | 391 testcase::g_api_key_cache.Get().GetClientSecret( |
| 353 testcase::CLIENT_REMOTING); | 392 testcase::CLIENT_REMOTING); |
| 393 std::string id_remoting_host = testcase::g_api_key_cache.Get().GetClientID( |
| 394 testcase::CLIENT_REMOTING_HOST); |
| 395 std::string secret_remoting_host = |
| 396 testcase::g_api_key_cache.Get().GetClientSecret( |
| 397 testcase::CLIENT_REMOTING_HOST); |
| 354 | 398 |
| 355 EXPECT_EQ("API_KEY", api_key); | 399 EXPECT_EQ("API_KEY", api_key); |
| 356 EXPECT_EQ("ID_MAIN", id_main); | 400 EXPECT_EQ("ID_MAIN", id_main); |
| 357 EXPECT_EQ("SECRET_MAIN", secret_main); | 401 EXPECT_EQ("SECRET_MAIN", secret_main); |
| 358 EXPECT_EQ("ID_CLOUD_PRINT", id_cloud_print); | 402 EXPECT_EQ("ID_CLOUD_PRINT", id_cloud_print); |
| 359 EXPECT_EQ("SECRET_CLOUD_PRINT", secret_cloud_print); | 403 EXPECT_EQ("SECRET_CLOUD_PRINT", secret_cloud_print); |
| 360 EXPECT_EQ("ID_REMOTING", id_remoting); | 404 EXPECT_EQ("ID_REMOTING", id_remoting); |
| 361 EXPECT_EQ("SECRET_REMOTING", secret_remoting); | 405 EXPECT_EQ("SECRET_REMOTING", secret_remoting); |
| 406 EXPECT_EQ("ID_REMOTING_HOST", id_remoting_host); |
| 407 EXPECT_EQ("SECRET_REMOTING_HOST", secret_remoting_host); |
| 362 } | 408 } |
| 363 | 409 |
| 364 // Override all keys using both preprocessor defines and environment | 410 // Override all keys using both preprocessor defines and environment |
| 365 // variables. The environment variables should win. | 411 // variables. The environment variables should win. |
| 366 namespace override_all_keys_env { | 412 namespace override_all_keys_env { |
| 367 | 413 |
| 368 // We start every test by creating a clean environment for the | 414 // We start every test by creating a clean environment for the |
| 369 // preprocessor defines used in google_api_keys.cc | 415 // preprocessor defines used in google_api_keys.cc |
| 370 #undef DUMMY_API_TOKEN | 416 #undef DUMMY_API_TOKEN |
| 371 #undef GOOGLE_API_KEY | 417 #undef GOOGLE_API_KEY |
| 372 #undef GOOGLE_CLIENT_ID_MAIN | 418 #undef GOOGLE_CLIENT_ID_MAIN |
| 373 #undef GOOGLE_CLIENT_SECRET_MAIN | 419 #undef GOOGLE_CLIENT_SECRET_MAIN |
| 374 #undef GOOGLE_CLIENT_ID_CLOUD_PRINT | 420 #undef GOOGLE_CLIENT_ID_CLOUD_PRINT |
| 375 #undef GOOGLE_CLIENT_SECRET_CLOUD_PRINT | 421 #undef GOOGLE_CLIENT_SECRET_CLOUD_PRINT |
| 376 #undef GOOGLE_CLIENT_ID_REMOTING | 422 #undef GOOGLE_CLIENT_ID_REMOTING |
| 377 #undef GOOGLE_CLIENT_SECRET_REMOTING | 423 #undef GOOGLE_CLIENT_SECRET_REMOTING |
| 424 #undef GOOGLE_CLIENT_ID_REMOTING_HOST |
| 425 #undef GOOGLE_CLIENT_SECRET_REMOTING_HOST |
| 378 #undef GOOGLE_DEFAULT_CLIENT_ID | 426 #undef GOOGLE_DEFAULT_CLIENT_ID |
| 379 #undef GOOGLE_DEFAULT_CLIENT_SECRET | 427 #undef GOOGLE_DEFAULT_CLIENT_SECRET |
| 380 | 428 |
| 381 #define GOOGLE_API_KEY "API_KEY" | 429 #define GOOGLE_API_KEY "API_KEY" |
| 382 #define GOOGLE_CLIENT_ID_MAIN "ID_MAIN" | 430 #define GOOGLE_CLIENT_ID_MAIN "ID_MAIN" |
| 383 #define GOOGLE_CLIENT_SECRET_MAIN "SECRET_MAIN" | 431 #define GOOGLE_CLIENT_SECRET_MAIN "SECRET_MAIN" |
| 384 #define GOOGLE_CLIENT_ID_CLOUD_PRINT "ID_CLOUD_PRINT" | 432 #define GOOGLE_CLIENT_ID_CLOUD_PRINT "ID_CLOUD_PRINT" |
| 385 #define GOOGLE_CLIENT_SECRET_CLOUD_PRINT "SECRET_CLOUD_PRINT" | 433 #define GOOGLE_CLIENT_SECRET_CLOUD_PRINT "SECRET_CLOUD_PRINT" |
| 386 #define GOOGLE_CLIENT_ID_REMOTING "ID_REMOTING" | 434 #define GOOGLE_CLIENT_ID_REMOTING "ID_REMOTING" |
| 387 #define GOOGLE_CLIENT_SECRET_REMOTING "SECRET_REMOTING" | 435 #define GOOGLE_CLIENT_SECRET_REMOTING "SECRET_REMOTING" |
| 436 #define GOOGLE_CLIENT_ID_REMOTING_HOST "ID_REMOTING_HOST" |
| 437 #define GOOGLE_CLIENT_SECRET_REMOTING_HOST "SECRET_REMOTING_HOST" |
| 388 | 438 |
| 389 // Undef include guard so things get defined again, within this namespace. | 439 // Undef include guard so things get defined again, within this namespace. |
| 390 #undef GOOGLE_APIS_GOOGLE_API_KEYS_H_ | 440 #undef GOOGLE_APIS_GOOGLE_API_KEYS_H_ |
| 391 #undef GOOGLE_APIS_INTERNAL_GOOGLE_CHROME_API_KEYS_ | 441 #undef GOOGLE_APIS_INTERNAL_GOOGLE_CHROME_API_KEYS_ |
| 392 #include "google_apis/google_api_keys.cc" | 442 #include "google_apis/google_api_keys.cc" |
| 393 | 443 |
| 394 } // namespace override_all_keys_env | 444 } // namespace override_all_keys_env |
| 395 | 445 |
| 396 TEST_F(GoogleAPIKeysTest, OverrideAllKeysUsingEnvironment) { | 446 TEST_F(GoogleAPIKeysTest, OverrideAllKeysUsingEnvironment) { |
| 397 namespace testcase = override_all_keys_env::google_apis; | 447 namespace testcase = override_all_keys_env::google_apis; |
| 398 | 448 |
| 399 scoped_ptr<base::Environment> env(base::Environment::Create()); | 449 scoped_ptr<base::Environment> env(base::Environment::Create()); |
| 400 env->SetVar("GOOGLE_API_KEY", "env-API_KEY"); | 450 env->SetVar("GOOGLE_API_KEY", "env-API_KEY"); |
| 401 env->SetVar("GOOGLE_CLIENT_ID_MAIN", "env-ID_MAIN"); | 451 env->SetVar("GOOGLE_CLIENT_ID_MAIN", "env-ID_MAIN"); |
| 402 env->SetVar("GOOGLE_CLIENT_ID_CLOUD_PRINT", "env-ID_CLOUD_PRINT"); | 452 env->SetVar("GOOGLE_CLIENT_ID_CLOUD_PRINT", "env-ID_CLOUD_PRINT"); |
| 403 env->SetVar("GOOGLE_CLIENT_ID_REMOTING", "env-ID_REMOTING"); | 453 env->SetVar("GOOGLE_CLIENT_ID_REMOTING", "env-ID_REMOTING"); |
| 454 env->SetVar("GOOGLE_CLIENT_ID_REMOTING_HOST", "env-ID_REMOTING_HOST"); |
| 404 env->SetVar("GOOGLE_CLIENT_SECRET_MAIN", "env-SECRET_MAIN"); | 455 env->SetVar("GOOGLE_CLIENT_SECRET_MAIN", "env-SECRET_MAIN"); |
| 405 env->SetVar("GOOGLE_CLIENT_SECRET_CLOUD_PRINT", "env-SECRET_CLOUD_PRINT"); | 456 env->SetVar("GOOGLE_CLIENT_SECRET_CLOUD_PRINT", "env-SECRET_CLOUD_PRINT"); |
| 406 env->SetVar("GOOGLE_CLIENT_SECRET_REMOTING", "env-SECRET_REMOTING"); | 457 env->SetVar("GOOGLE_CLIENT_SECRET_REMOTING", "env-SECRET_REMOTING"); |
| 458 env->SetVar("GOOGLE_CLIENT_SECRET_REMOTING_HOST", "env-SECRET_REMOTING_HOST"); |
| 407 | 459 |
| 408 EXPECT_TRUE(testcase::HasKeysConfigured()); | 460 EXPECT_TRUE(testcase::HasKeysConfigured()); |
| 409 | 461 |
| 410 // It's important that the first call to Get() only happen after the | 462 // It's important that the first call to Get() only happen after the |
| 411 // environment variables have been set. | 463 // environment variables have been set. |
| 412 std::string api_key = testcase::g_api_key_cache.Get().api_key(); | 464 std::string api_key = testcase::g_api_key_cache.Get().api_key(); |
| 413 std::string id_main = testcase::g_api_key_cache.Get().GetClientID( | 465 std::string id_main = testcase::g_api_key_cache.Get().GetClientID( |
| 414 testcase::CLIENT_MAIN); | 466 testcase::CLIENT_MAIN); |
| 415 std::string secret_main = testcase::g_api_key_cache.Get().GetClientSecret( | 467 std::string secret_main = testcase::g_api_key_cache.Get().GetClientSecret( |
| 416 testcase::CLIENT_MAIN); | 468 testcase::CLIENT_MAIN); |
| 417 std::string id_cloud_print = | 469 std::string id_cloud_print = |
| 418 testcase::g_api_key_cache.Get().GetClientID( | 470 testcase::g_api_key_cache.Get().GetClientID( |
| 419 testcase::CLIENT_CLOUD_PRINT); | 471 testcase::CLIENT_CLOUD_PRINT); |
| 420 std::string secret_cloud_print = | 472 std::string secret_cloud_print = |
| 421 testcase::g_api_key_cache.Get().GetClientSecret( | 473 testcase::g_api_key_cache.Get().GetClientSecret( |
| 422 testcase::CLIENT_CLOUD_PRINT); | 474 testcase::CLIENT_CLOUD_PRINT); |
| 423 std::string id_remoting = testcase::g_api_key_cache.Get().GetClientID( | 475 std::string id_remoting = testcase::g_api_key_cache.Get().GetClientID( |
| 424 testcase::CLIENT_REMOTING); | 476 testcase::CLIENT_REMOTING); |
| 425 std::string secret_remoting = | 477 std::string secret_remoting = |
| 426 testcase::g_api_key_cache.Get().GetClientSecret( | 478 testcase::g_api_key_cache.Get().GetClientSecret( |
| 427 testcase::CLIENT_REMOTING); | 479 testcase::CLIENT_REMOTING); |
| 480 std::string id_remoting_host = testcase::g_api_key_cache.Get().GetClientID( |
| 481 testcase::CLIENT_REMOTING_HOST); |
| 482 std::string secret_remoting_host = |
| 483 testcase::g_api_key_cache.Get().GetClientSecret( |
| 484 testcase::CLIENT_REMOTING_HOST); |
| 428 | 485 |
| 429 EXPECT_EQ("env-API_KEY", api_key); | 486 EXPECT_EQ("env-API_KEY", api_key); |
| 430 EXPECT_EQ("env-ID_MAIN", id_main); | 487 EXPECT_EQ("env-ID_MAIN", id_main); |
| 431 EXPECT_EQ("env-SECRET_MAIN", secret_main); | 488 EXPECT_EQ("env-SECRET_MAIN", secret_main); |
| 432 EXPECT_EQ("env-ID_CLOUD_PRINT", id_cloud_print); | 489 EXPECT_EQ("env-ID_CLOUD_PRINT", id_cloud_print); |
| 433 EXPECT_EQ("env-SECRET_CLOUD_PRINT", secret_cloud_print); | 490 EXPECT_EQ("env-SECRET_CLOUD_PRINT", secret_cloud_print); |
| 434 EXPECT_EQ("env-ID_REMOTING", id_remoting); | 491 EXPECT_EQ("env-ID_REMOTING", id_remoting); |
| 435 EXPECT_EQ("env-SECRET_REMOTING", secret_remoting); | 492 EXPECT_EQ("env-SECRET_REMOTING", secret_remoting); |
| 493 EXPECT_EQ("env-ID_REMOTING_HOST", id_remoting_host); |
| 494 EXPECT_EQ("env-SECRET_REMOTING_HOST", secret_remoting_host); |
| 436 } | 495 } |
| 437 | 496 |
| 438 #endif // defined(OS_LINUX) || defined(OS_MACOSX) | 497 #endif // defined(OS_LINUX) || defined(OS_MACOSX) |
| OLD | NEW |