| OLD | NEW |
| (Empty) | |
| 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 |
| 3 // found in the LICENSE file. |
| 4 |
| 5 #include "chrome/common/net/gaia/oauth_request_signer.h" |
| 6 |
| 7 #include "googleurl/src/gurl.h" |
| 8 #include "testing/gtest/include/gtest/gtest.h" |
| 9 |
| 10 TEST(OAuthRequestSignerTest, SignGet1) { |
| 11 GURL request_url("https://www.google.com/accounts/o8/GetOAuthToken"); |
| 12 OAuthRequestSigner::Parameters parameters; |
| 13 parameters["scope"] = "https://www.google.com/accounts/OAuthLogin"; |
| 14 parameters["oauth_nonce"] = "2oiE_aHdk5qRTz0L9C8Lq0g"; |
| 15 parameters["xaouth_display_name"] = "Chromium"; |
| 16 parameters["oauth_timestamp"] = "1308152953"; |
| 17 std::string signed_text; |
| 18 ASSERT_TRUE(OAuthRequestSigner::Sign( |
| 19 request_url, |
| 20 parameters, |
| 21 OAuthRequestSigner::HMAC_SHA1_SIGNATURE, |
| 22 OAuthRequestSigner::GET_METHOD, |
| 23 "johndoe", // oauth_consumer_key |
| 24 "53cR3t", // consumer secret |
| 25 "4/VGY0MsQadcmO8VnCv9gnhoEooq1v", // oauth_token |
| 26 "c5e0531ff55dfbb4054e", // token secret |
| 27 &signed_text)); |
| 28 ASSERT_EQ("https://www.google.com/accounts/o8/GetOAuthToken" |
| 29 "?oauth_consumer_key=johndoe" |
| 30 "&oauth_nonce=2oiE_aHdk5qRTz0L9C8Lq0g" |
| 31 "&oauth_signature_method=HMAC-SHA1" |
| 32 "&oauth_timestamp=1308152953" |
| 33 "&oauth_token=4%2FVGY0MsQadcmO8VnCv9gnhoEooq1v" |
| 34 "&oauth_version=1.0" |
| 35 "&scope=https%3A%2F%2Fwww.google.com%2Faccounts%2FOAuthLogin" |
| 36 "&xaouth_display_name=Chromium" |
| 37 "&oauth_signature=y9GCmlGSvNuTAotxsBMyxb6j%2BE8%3D", |
| 38 signed_text); |
| 39 } |
| 40 |
| 41 TEST(OAuthRequestSignerTest, SignGet2) { |
| 42 GURL request_url("https://www.google.com/accounts/OAuthGetAccessToken"); |
| 43 OAuthRequestSigner::Parameters parameters; |
| 44 parameters["oauth_timestamp"] = "1308147831"; |
| 45 parameters["oauth_nonce"] = "4d4hZW9DygWQujP2tz06UN"; |
| 46 std::string signed_text; |
| 47 ASSERT_TRUE(OAuthRequestSigner::Sign( |
| 48 request_url, |
| 49 parameters, |
| 50 OAuthRequestSigner::HMAC_SHA1_SIGNATURE, |
| 51 OAuthRequestSigner::GET_METHOD, |
| 52 "anonymous", // oauth_consumer_key |
| 53 "anonymous", // consumer secret |
| 54 "4/CcC-hgdj1TNnWaX8NTQ76YDXCBEK", // oauth_token |
| 55 "", // token secret |
| 56 &signed_text)); |
| 57 ASSERT_EQ(signed_text, |
| 58 "https://www.google.com/accounts/OAuthGetAccessToken" |
| 59 "?oauth_consumer_key=anonymous" |
| 60 "&oauth_nonce=4d4hZW9DygWQujP2tz06UN" |
| 61 "&oauth_signature_method=HMAC-SHA1" |
| 62 "&oauth_timestamp=1308147831" |
| 63 "&oauth_token=4%2FCcC-hgdj1TNnWaX8NTQ76YDXCBEK" |
| 64 "&oauth_version=1.0" |
| 65 "&oauth_signature=2KVN8YCOKgiNIA16EGTcfESvdvA%3D"); |
| 66 } |
| 67 |
| 68 TEST(OAuthRequestSignerTest, ParseAndSignGet1) { |
| 69 GURL request_url("https://www.google.com/accounts/o8/GetOAuthToken" |
| 70 "?scope=https://www.google.com/accounts/OAuthLogin" |
| 71 "&oauth_nonce=2oiE_aHdk5qRTz0L9C8Lq0g" |
| 72 "&xaouth_display_name=Chromium" |
| 73 "&oauth_timestamp=1308152953"); |
| 74 std::string signed_text; |
| 75 ASSERT_TRUE(OAuthRequestSigner::ParseAndSign( |
| 76 request_url, |
| 77 OAuthRequestSigner::HMAC_SHA1_SIGNATURE, |
| 78 OAuthRequestSigner::GET_METHOD, |
| 79 "anonymous", // oauth_consumer_key |
| 80 "anonymous", // consumer secret |
| 81 "4/CcC-hgdj1TNnWaX8NTQ76YDXCBEK", // oauth_token |
| 82 "", // token secret |
| 83 &signed_text)); |
| 84 ASSERT_EQ("https://www.google.com/accounts/o8/GetOAuthToken" |
| 85 "?oauth_consumer_key=anonymous" |
| 86 "&oauth_nonce=2oiE_aHdk5qRTz0L9C8Lq0g" |
| 87 "&oauth_signature_method=HMAC-SHA1" |
| 88 "&oauth_timestamp=1308152953" |
| 89 "&oauth_token=4%2FCcC-hgdj1TNnWaX8NTQ76YDXCBEK" |
| 90 "&oauth_version=1.0" |
| 91 "&scope=https%3A%2F%2Fwww.google.com%2Faccounts%2FOAuthLogin" |
| 92 "&xaouth_display_name=Chromium" |
| 93 "&oauth_signature=S%2B6dcftDfbINlavHuma4NLJ98Ys%3D", |
| 94 signed_text); |
| 95 } |
| 96 |
| 97 TEST(OAuthRequestSignerTest, ParseAndSignGet2) { |
| 98 GURL request_url("https://www.google.com/accounts/OAuthGetAccessToken" |
| 99 "?oauth_timestamp=1308147831" |
| 100 "&oauth_nonce=4d4hZW9DygWQujP2tz06UN"); |
| 101 std::string signed_text; |
| 102 ASSERT_TRUE(OAuthRequestSigner::ParseAndSign( |
| 103 request_url, |
| 104 OAuthRequestSigner::HMAC_SHA1_SIGNATURE, |
| 105 OAuthRequestSigner::GET_METHOD, |
| 106 "anonymous", // oauth_consumer_key |
| 107 "anonymous", // consumer secret |
| 108 "4/CcC-hgdj1TNnWaX8NTQ76YDXCBEK", // oauth_token |
| 109 "", // token secret |
| 110 &signed_text)); |
| 111 ASSERT_EQ(signed_text, |
| 112 "https://www.google.com/accounts/OAuthGetAccessToken" |
| 113 "?oauth_consumer_key=anonymous" |
| 114 "&oauth_nonce=4d4hZW9DygWQujP2tz06UN" |
| 115 "&oauth_signature_method=HMAC-SHA1" |
| 116 "&oauth_timestamp=1308147831" |
| 117 "&oauth_token=4%2FCcC-hgdj1TNnWaX8NTQ76YDXCBEK" |
| 118 "&oauth_version=1.0" |
| 119 "&oauth_signature=2KVN8YCOKgiNIA16EGTcfESvdvA%3D"); |
| 120 } |
| 121 |
| 122 TEST(OAuthRequestSignerTest, SignPost1) { |
| 123 GURL request_url("https://www.google.com/accounts/o8/GetOAuthToken"); |
| 124 OAuthRequestSigner::Parameters parameters; |
| 125 parameters["scope"] = "https://www.google.com/accounts/OAuthLogin"; |
| 126 parameters["oauth_nonce"] = "2oiE_aHdk5qRTz0L9C8Lq0g"; |
| 127 parameters["xaouth_display_name"] = "Chromium"; |
| 128 parameters["oauth_timestamp"] = "1308152953"; |
| 129 std::string signed_text; |
| 130 ASSERT_TRUE(OAuthRequestSigner::Sign( |
| 131 request_url, |
| 132 parameters, |
| 133 OAuthRequestSigner::HMAC_SHA1_SIGNATURE, |
| 134 OAuthRequestSigner::POST_METHOD, |
| 135 "anonymous", // oauth_consumer_key |
| 136 "anonymous", // consumer secret |
| 137 "4/X8x0r7bHif_VNCLjUMutxGkzo13d", // oauth_token |
| 138 "b7120598d47594bd3522", // token secret |
| 139 &signed_text)); |
| 140 ASSERT_EQ("oauth_consumer_key=anonymous" |
| 141 "&oauth_nonce=2oiE_aHdk5qRTz0L9C8Lq0g" |
| 142 "&oauth_signature_method=HMAC-SHA1" |
| 143 "&oauth_timestamp=1308152953" |
| 144 "&oauth_token=4%2FX8x0r7bHif_VNCLjUMutxGkzo13d" |
| 145 "&oauth_version=1.0" |
| 146 "&scope=https%3A%2F%2Fwww.google.com%2Faccounts%2FOAuthLogin" |
| 147 "&xaouth_display_name=Chromium" |
| 148 "&oauth_signature=F%2BINyO4xgon5wUxcdcxWC11Ep7Y%3D", |
| 149 signed_text); |
| 150 } |
| 151 |
| 152 TEST(OAuthRequestSignerTest, SignPost2) { |
| 153 GURL request_url("https://www.google.com/accounts/OAuthGetAccessToken"); |
| 154 OAuthRequestSigner::Parameters parameters; |
| 155 parameters["oauth_timestamp"] = "1234567890"; |
| 156 parameters["oauth_nonce"] = "17171717171717171"; |
| 157 std::string signed_text; |
| 158 ASSERT_TRUE(OAuthRequestSigner::Sign( |
| 159 request_url, |
| 160 parameters, |
| 161 OAuthRequestSigner::HMAC_SHA1_SIGNATURE, |
| 162 OAuthRequestSigner::POST_METHOD, |
| 163 "anonymous", // oauth_consumer_key |
| 164 "anonymous", // consumer secret |
| 165 "4/CcC-hgdj1TNnWaX8NTQ76YDXCBEK", // oauth_token |
| 166 "", // token secret |
| 167 &signed_text)); |
| 168 ASSERT_EQ(signed_text, |
| 169 "oauth_consumer_key=anonymous" |
| 170 "&oauth_nonce=17171717171717171" |
| 171 "&oauth_signature_method=HMAC-SHA1" |
| 172 "&oauth_timestamp=1234567890" |
| 173 "&oauth_token=4%2FCcC-hgdj1TNnWaX8NTQ76YDXCBEK" |
| 174 "&oauth_version=1.0" |
| 175 "&oauth_signature=BIuPHITrcptxSefd8H9Iazo8Pmo%3D"); |
| 176 } |
| 177 |
| 178 TEST(OAuthRequestSignerTest, ParseAndSignPost1) { |
| 179 GURL request_url("https://www.google.com/accounts/o8/GetOAuthToken" |
| 180 "?scope=https://www.google.com/accounts/OAuthLogin" |
| 181 "&oauth_nonce=2oiE_aHdk5qRTz0L9C8Lq0g" |
| 182 "&xaouth_display_name=Chromium" |
| 183 "&oauth_timestamp=1308152953"); |
| 184 std::string signed_text; |
| 185 ASSERT_TRUE(OAuthRequestSigner::ParseAndSign( |
| 186 request_url, |
| 187 OAuthRequestSigner::HMAC_SHA1_SIGNATURE, |
| 188 OAuthRequestSigner::POST_METHOD, |
| 189 "anonymous", // oauth_consumer_key |
| 190 "anonymous", // consumer secret |
| 191 "4/X8x0r7bHif_VNCLjUMutxGkzo13d", // oauth_token |
| 192 "b7120598d47594bd3522", // token secret |
| 193 &signed_text)); |
| 194 ASSERT_EQ("oauth_consumer_key=anonymous" |
| 195 "&oauth_nonce=2oiE_aHdk5qRTz0L9C8Lq0g" |
| 196 "&oauth_signature_method=HMAC-SHA1" |
| 197 "&oauth_timestamp=1308152953" |
| 198 "&oauth_token=4%2FX8x0r7bHif_VNCLjUMutxGkzo13d" |
| 199 "&oauth_version=1.0" |
| 200 "&scope=https%3A%2F%2Fwww.google.com%2Faccounts%2FOAuthLogin" |
| 201 "&xaouth_display_name=Chromium" |
| 202 "&oauth_signature=F%2BINyO4xgon5wUxcdcxWC11Ep7Y%3D", |
| 203 signed_text); |
| 204 } |
| 205 |
| 206 TEST(OAuthRequestSignerTest, ParseAndSignPost2) { |
| 207 GURL request_url("https://www.google.com/accounts/OAuthGetAccessToken" |
| 208 "?oauth_timestamp=1234567890" |
| 209 "&oauth_nonce=17171717171717171"); |
| 210 std::string signed_text; |
| 211 ASSERT_TRUE(OAuthRequestSigner::ParseAndSign( |
| 212 request_url, |
| 213 OAuthRequestSigner::HMAC_SHA1_SIGNATURE, |
| 214 OAuthRequestSigner::POST_METHOD, |
| 215 "anonymous", // oauth_consumer_key |
| 216 "anonymous", // consumer secret |
| 217 "4/CcC-hgdj1TNnWaX8NTQ76YDXCBEK", // oauth_token |
| 218 "", // token secret |
| 219 &signed_text)); |
| 220 ASSERT_EQ(signed_text, |
| 221 "oauth_consumer_key=anonymous" |
| 222 "&oauth_nonce=17171717171717171" |
| 223 "&oauth_signature_method=HMAC-SHA1" |
| 224 "&oauth_timestamp=1234567890" |
| 225 "&oauth_token=4%2FCcC-hgdj1TNnWaX8NTQ76YDXCBEK" |
| 226 "&oauth_version=1.0" |
| 227 "&oauth_signature=BIuPHITrcptxSefd8H9Iazo8Pmo%3D"); |
| 228 } |
| OLD | NEW |