| OLD | NEW | 
|---|
| 1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2011 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 #include "google_apis/gaia/oauth_request_signer.h" | 5 #include "google_apis/gaia/oauth_request_signer.h" | 
| 6 | 6 | 
| 7 #include "googleurl/src/gurl.h" | 7 #include "googleurl/src/gurl.h" | 
| 8 #include "testing/gtest/include/gtest/gtest.h" | 8 #include "testing/gtest/include/gtest/gtest.h" | 
| 9 | 9 | 
| 10 // This value is used to seed the PRNG at the beginning of a sequence of | 10 // This value is used to seed the PRNG at the beginning of a sequence of | 
| (...skipping 91 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 102             signed_text); | 102             signed_text); | 
| 103 } | 103 } | 
| 104 | 104 | 
| 105 TEST(OAuthRequestSignerTest, SignGet2) { | 105 TEST(OAuthRequestSignerTest, SignGet2) { | 
| 106   GURL request_url("https://accounts.google.com/OAuthGetAccessToken"); | 106   GURL request_url("https://accounts.google.com/OAuthGetAccessToken"); | 
| 107   OAuthRequestSigner::Parameters parameters; | 107   OAuthRequestSigner::Parameters parameters; | 
| 108   parameters["oauth_timestamp"] = "1308147831"; | 108   parameters["oauth_timestamp"] = "1308147831"; | 
| 109   parameters["oauth_nonce"] = "4d4hZW9DygWQujP2tz06UN"; | 109   parameters["oauth_nonce"] = "4d4hZW9DygWQujP2tz06UN"; | 
| 110   std::string signed_text; | 110   std::string signed_text; | 
| 111   ASSERT_TRUE(OAuthRequestSigner::SignURL( | 111   ASSERT_TRUE(OAuthRequestSigner::SignURL( | 
| 112                   request_url, | 112       request_url, | 
| 113                   parameters, | 113       parameters, | 
| 114                   OAuthRequestSigner::HMAC_SHA1_SIGNATURE, | 114       OAuthRequestSigner::HMAC_SHA1_SIGNATURE, | 
| 115                   OAuthRequestSigner::GET_METHOD, | 115       OAuthRequestSigner::GET_METHOD, | 
| 116                   "anonymous",  // oauth_consumer_key | 116       "anonymous",                       // oauth_consumer_key | 
| 117                   "anonymous",  // consumer secret | 117       "anonymous",                       // consumer secret | 
| 118                   "4/CcC-hgdj1TNnWaX8NTQ76YDXCBEK",  // oauth_token | 118       "4/CcC-hgdj1TNnWaX8NTQ76YDXCBEK",  // oauth_token | 
| 119                   "", // token secret | 119       std::string(),                     // token secret | 
| 120                   &signed_text)); | 120       &signed_text)); | 
| 121   ASSERT_EQ(signed_text, | 121   ASSERT_EQ(signed_text, | 
| 122             "https://accounts.google.com/OAuthGetAccessToken" | 122             "https://accounts.google.com/OAuthGetAccessToken" | 
| 123             "?oauth_consumer_key=anonymous" | 123             "?oauth_consumer_key=anonymous" | 
| 124             "&oauth_nonce=4d4hZW9DygWQujP2tz06UN" | 124             "&oauth_nonce=4d4hZW9DygWQujP2tz06UN" | 
| 125             "&oauth_signature=YiJv%2BEOWsvCDCi13%2FhQBFrr0J7c%3D" | 125             "&oauth_signature=YiJv%2BEOWsvCDCi13%2FhQBFrr0J7c%3D" | 
| 126             "&oauth_signature_method=HMAC-SHA1" | 126             "&oauth_signature_method=HMAC-SHA1" | 
| 127             "&oauth_timestamp=1308147831" | 127             "&oauth_timestamp=1308147831" | 
| 128             "&oauth_token=4%2FCcC-hgdj1TNnWaX8NTQ76YDXCBEK" | 128             "&oauth_token=4%2FCcC-hgdj1TNnWaX8NTQ76YDXCBEK" | 
| 129             "&oauth_version=1.0"); | 129             "&oauth_version=1.0"); | 
| 130 } | 130 } | 
| 131 | 131 | 
| 132 TEST(OAuthRequestSignerTest, ParseAndSignGet1) { | 132 TEST(OAuthRequestSignerTest, ParseAndSignGet1) { | 
| 133   GURL request_url("https://www.google.com/accounts/o8/GetOAuthToken" | 133   GURL request_url("https://www.google.com/accounts/o8/GetOAuthToken" | 
| 134                    "?scope=https://accounts.google.com/OAuthLogin" | 134                    "?scope=https://accounts.google.com/OAuthLogin" | 
| 135                    "&oauth_nonce=2oiE_aHdk5qRTz0L9C8Lq0g" | 135                    "&oauth_nonce=2oiE_aHdk5qRTz0L9C8Lq0g" | 
| 136                    "&xaouth_display_name=Chromium" | 136                    "&xaouth_display_name=Chromium" | 
| 137                    "&oauth_timestamp=1308152953"); | 137                    "&oauth_timestamp=1308152953"); | 
| 138   std::string signed_text; | 138   std::string signed_text; | 
| 139   ASSERT_TRUE(OAuthRequestSigner::ParseAndSign( | 139   ASSERT_TRUE(OAuthRequestSigner::ParseAndSign( | 
| 140                   request_url, | 140       request_url, | 
| 141                   OAuthRequestSigner::HMAC_SHA1_SIGNATURE, | 141       OAuthRequestSigner::HMAC_SHA1_SIGNATURE, | 
| 142                   OAuthRequestSigner::GET_METHOD, | 142       OAuthRequestSigner::GET_METHOD, | 
| 143                   "anonymous",  // oauth_consumer_key | 143       "anonymous",                       // oauth_consumer_key | 
| 144                   "anonymous",  // consumer secret | 144       "anonymous",                       // consumer secret | 
| 145                   "4/CcC-hgdj1TNnWaX8NTQ76YDXCBEK",  // oauth_token | 145       "4/CcC-hgdj1TNnWaX8NTQ76YDXCBEK",  // oauth_token | 
| 146                   "", // token secret | 146       std::string(),                     // token secret | 
| 147                   &signed_text)); | 147       &signed_text)); | 
| 148   ASSERT_EQ("https://www.google.com/accounts/o8/GetOAuthToken" | 148   ASSERT_EQ("https://www.google.com/accounts/o8/GetOAuthToken" | 
| 149             "?oauth_consumer_key=anonymous" | 149             "?oauth_consumer_key=anonymous" | 
| 150             "&oauth_nonce=2oiE_aHdk5qRTz0L9C8Lq0g" | 150             "&oauth_nonce=2oiE_aHdk5qRTz0L9C8Lq0g" | 
| 151             "&oauth_signature=PH7KP6cP%2BzZ1SJ6WGqBgXwQP9Mc%3D" | 151             "&oauth_signature=PH7KP6cP%2BzZ1SJ6WGqBgXwQP9Mc%3D" | 
| 152             "&oauth_signature_method=HMAC-SHA1" | 152             "&oauth_signature_method=HMAC-SHA1" | 
| 153             "&oauth_timestamp=1308152953" | 153             "&oauth_timestamp=1308152953" | 
| 154             "&oauth_token=4%2FCcC-hgdj1TNnWaX8NTQ76YDXCBEK" | 154             "&oauth_token=4%2FCcC-hgdj1TNnWaX8NTQ76YDXCBEK" | 
| 155             "&oauth_version=1.0" | 155             "&oauth_version=1.0" | 
| 156             "&scope=https%3A%2F%2Faccounts.google.com%2FOAuthLogin" | 156             "&scope=https%3A%2F%2Faccounts.google.com%2FOAuthLogin" | 
| 157             "&xaouth_display_name=Chromium", | 157             "&xaouth_display_name=Chromium", | 
| 158             signed_text); | 158             signed_text); | 
| 159 } | 159 } | 
| 160 | 160 | 
| 161 TEST(OAuthRequestSignerTest, ParseAndSignGet2) { | 161 TEST(OAuthRequestSignerTest, ParseAndSignGet2) { | 
| 162   GURL request_url("https://accounts.google.com/OAuthGetAccessToken" | 162   GURL request_url("https://accounts.google.com/OAuthGetAccessToken" | 
| 163                    "?oauth_timestamp=1308147831" | 163                    "?oauth_timestamp=1308147831" | 
| 164                    "&oauth_nonce=4d4hZW9DygWQujP2tz06UN"); | 164                    "&oauth_nonce=4d4hZW9DygWQujP2tz06UN"); | 
| 165   std::string signed_text; | 165   std::string signed_text; | 
| 166   ASSERT_TRUE(OAuthRequestSigner::ParseAndSign( | 166   ASSERT_TRUE(OAuthRequestSigner::ParseAndSign( | 
| 167                   request_url, | 167       request_url, | 
| 168                   OAuthRequestSigner::HMAC_SHA1_SIGNATURE, | 168       OAuthRequestSigner::HMAC_SHA1_SIGNATURE, | 
| 169                   OAuthRequestSigner::GET_METHOD, | 169       OAuthRequestSigner::GET_METHOD, | 
| 170                   "anonymous",  // oauth_consumer_key | 170       "anonymous",                       // oauth_consumer_key | 
| 171                   "anonymous",  // consumer secret | 171       "anonymous",                       // consumer secret | 
| 172                   "4/CcC-hgdj1TNnWaX8NTQ76YDXCBEK",  // oauth_token | 172       "4/CcC-hgdj1TNnWaX8NTQ76YDXCBEK",  // oauth_token | 
| 173                   "", // token secret | 173       std::string(),                     // token secret | 
| 174                   &signed_text)); | 174       &signed_text)); | 
| 175   ASSERT_EQ(signed_text, | 175   ASSERT_EQ(signed_text, | 
| 176             "https://accounts.google.com/OAuthGetAccessToken" | 176             "https://accounts.google.com/OAuthGetAccessToken" | 
| 177             "?oauth_consumer_key=anonymous" | 177             "?oauth_consumer_key=anonymous" | 
| 178             "&oauth_nonce=4d4hZW9DygWQujP2tz06UN" | 178             "&oauth_nonce=4d4hZW9DygWQujP2tz06UN" | 
| 179             "&oauth_signature=YiJv%2BEOWsvCDCi13%2FhQBFrr0J7c%3D" | 179             "&oauth_signature=YiJv%2BEOWsvCDCi13%2FhQBFrr0J7c%3D" | 
| 180             "&oauth_signature_method=HMAC-SHA1" | 180             "&oauth_signature_method=HMAC-SHA1" | 
| 181             "&oauth_timestamp=1308147831" | 181             "&oauth_timestamp=1308147831" | 
| 182             "&oauth_token=4%2FCcC-hgdj1TNnWaX8NTQ76YDXCBEK" | 182             "&oauth_token=4%2FCcC-hgdj1TNnWaX8NTQ76YDXCBEK" | 
| 183             "&oauth_version=1.0"); | 183             "&oauth_version=1.0"); | 
| 184 } | 184 } | 
| (...skipping 28 matching lines...) Expand all  Loading... | 
| 213             signed_text); | 213             signed_text); | 
| 214 } | 214 } | 
| 215 | 215 | 
| 216 TEST(OAuthRequestSignerTest, SignPost2) { | 216 TEST(OAuthRequestSignerTest, SignPost2) { | 
| 217   GURL request_url("https://accounts.google.com/OAuthGetAccessToken"); | 217   GURL request_url("https://accounts.google.com/OAuthGetAccessToken"); | 
| 218   OAuthRequestSigner::Parameters parameters; | 218   OAuthRequestSigner::Parameters parameters; | 
| 219   parameters["oauth_timestamp"] = "1234567890"; | 219   parameters["oauth_timestamp"] = "1234567890"; | 
| 220   parameters["oauth_nonce"] = "17171717171717171"; | 220   parameters["oauth_nonce"] = "17171717171717171"; | 
| 221   std::string signed_text; | 221   std::string signed_text; | 
| 222   ASSERT_TRUE(OAuthRequestSigner::SignURL( | 222   ASSERT_TRUE(OAuthRequestSigner::SignURL( | 
| 223                   request_url, | 223       request_url, | 
| 224                   parameters, | 224       parameters, | 
| 225                   OAuthRequestSigner::HMAC_SHA1_SIGNATURE, | 225       OAuthRequestSigner::HMAC_SHA1_SIGNATURE, | 
| 226                   OAuthRequestSigner::POST_METHOD, | 226       OAuthRequestSigner::POST_METHOD, | 
| 227                   "anonymous",  // oauth_consumer_key | 227       "anonymous",                       // oauth_consumer_key | 
| 228                   "anonymous",  // consumer secret | 228       "anonymous",                       // consumer secret | 
| 229                   "4/CcC-hgdj1TNnWaX8NTQ76YDXCBEK",  // oauth_token | 229       "4/CcC-hgdj1TNnWaX8NTQ76YDXCBEK",  // oauth_token | 
| 230                   "", // token secret | 230       std::string(),                     // token secret | 
| 231                   &signed_text)); | 231       &signed_text)); | 
| 232   ASSERT_EQ(signed_text, | 232   ASSERT_EQ(signed_text, | 
| 233             "oauth_consumer_key=anonymous" | 233             "oauth_consumer_key=anonymous" | 
| 234             "&oauth_nonce=17171717171717171" | 234             "&oauth_nonce=17171717171717171" | 
| 235             "&oauth_signature=tPX2XqKQICWzopZ80CFGX%2F53DLo%3D" | 235             "&oauth_signature=tPX2XqKQICWzopZ80CFGX%2F53DLo%3D" | 
| 236             "&oauth_signature_method=HMAC-SHA1" | 236             "&oauth_signature_method=HMAC-SHA1" | 
| 237             "&oauth_timestamp=1234567890" | 237             "&oauth_timestamp=1234567890" | 
| 238             "&oauth_token=4%2FCcC-hgdj1TNnWaX8NTQ76YDXCBEK" | 238             "&oauth_token=4%2FCcC-hgdj1TNnWaX8NTQ76YDXCBEK" | 
| 239             "&oauth_version=1.0"); | 239             "&oauth_version=1.0"); | 
| 240 } | 240 } | 
| 241 | 241 | 
| (...skipping 24 matching lines...) Expand all  Loading... | 
| 266             "&xaouth_display_name=Chromium", | 266             "&xaouth_display_name=Chromium", | 
| 267             signed_text); | 267             signed_text); | 
| 268 } | 268 } | 
| 269 | 269 | 
| 270 TEST(OAuthRequestSignerTest, ParseAndSignPost2) { | 270 TEST(OAuthRequestSignerTest, ParseAndSignPost2) { | 
| 271   GURL request_url("https://accounts.google.com/OAuthGetAccessToken" | 271   GURL request_url("https://accounts.google.com/OAuthGetAccessToken" | 
| 272                    "?oauth_timestamp=1234567890" | 272                    "?oauth_timestamp=1234567890" | 
| 273                    "&oauth_nonce=17171717171717171"); | 273                    "&oauth_nonce=17171717171717171"); | 
| 274   std::string signed_text; | 274   std::string signed_text; | 
| 275   ASSERT_TRUE(OAuthRequestSigner::ParseAndSign( | 275   ASSERT_TRUE(OAuthRequestSigner::ParseAndSign( | 
| 276                   request_url, | 276       request_url, | 
| 277                   OAuthRequestSigner::HMAC_SHA1_SIGNATURE, | 277       OAuthRequestSigner::HMAC_SHA1_SIGNATURE, | 
| 278                   OAuthRequestSigner::POST_METHOD, | 278       OAuthRequestSigner::POST_METHOD, | 
| 279                   "anonymous",  // oauth_consumer_key | 279       "anonymous",                       // oauth_consumer_key | 
| 280                   "anonymous",  // consumer secret | 280       "anonymous",                       // consumer secret | 
| 281                   "4/CcC-hgdj1TNnWaX8NTQ76YDXCBEK",  // oauth_token | 281       "4/CcC-hgdj1TNnWaX8NTQ76YDXCBEK",  // oauth_token | 
| 282                   "", // token secret | 282       std::string(),                     // token secret | 
| 283                   &signed_text)); | 283       &signed_text)); | 
| 284   ASSERT_EQ(signed_text, | 284   ASSERT_EQ(signed_text, | 
| 285             "oauth_consumer_key=anonymous" | 285             "oauth_consumer_key=anonymous" | 
| 286             "&oauth_nonce=17171717171717171" | 286             "&oauth_nonce=17171717171717171" | 
| 287             "&oauth_signature=tPX2XqKQICWzopZ80CFGX%2F53DLo%3D" | 287             "&oauth_signature=tPX2XqKQICWzopZ80CFGX%2F53DLo%3D" | 
| 288             "&oauth_signature_method=HMAC-SHA1" | 288             "&oauth_signature_method=HMAC-SHA1" | 
| 289             "&oauth_timestamp=1234567890" | 289             "&oauth_timestamp=1234567890" | 
| 290             "&oauth_token=4%2FCcC-hgdj1TNnWaX8NTQ76YDXCBEK" | 290             "&oauth_token=4%2FCcC-hgdj1TNnWaX8NTQ76YDXCBEK" | 
| 291             "&oauth_version=1.0"); | 291             "&oauth_version=1.0"); | 
| 292 } | 292 } | 
| 293 | 293 | 
| (...skipping 20 matching lines...) Expand all  Loading... | 
| 314             "oauth_nonce=\"2oiE_aHdk5qRTz0L9C8Lq0g\", " | 314             "oauth_nonce=\"2oiE_aHdk5qRTz0L9C8Lq0g\", " | 
| 315             "oauth_signature=\"PFqDTaiyey1UObcvOyI4Ng2HXW0%3D\", " | 315             "oauth_signature=\"PFqDTaiyey1UObcvOyI4Ng2HXW0%3D\", " | 
| 316             "oauth_signature_method=\"HMAC-SHA1\", " | 316             "oauth_signature_method=\"HMAC-SHA1\", " | 
| 317             "oauth_timestamp=\"1308152953\", " | 317             "oauth_timestamp=\"1308152953\", " | 
| 318             "oauth_token=\"4%2FVGY0MsQadcmO8VnCv9gnhoEooq1v\", " | 318             "oauth_token=\"4%2FVGY0MsQadcmO8VnCv9gnhoEooq1v\", " | 
| 319             "oauth_version=\"1.0\", " | 319             "oauth_version=\"1.0\", " | 
| 320             "scope=\"https%3A%2F%2Faccounts.google.com%2FOAuthLogin\", " | 320             "scope=\"https%3A%2F%2Faccounts.google.com%2FOAuthLogin\", " | 
| 321             "xaouth_display_name=\"Chromium\"", | 321             "xaouth_display_name=\"Chromium\"", | 
| 322             signed_text); | 322             signed_text); | 
| 323 } | 323 } | 
| OLD | NEW | 
|---|