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