Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(145)

Side by Side Diff: chrome/common/net/gaia/oauth_request_signer_unittest.cc

Issue 7171023: Adds the OAuthRequestSigner class to facilitate OAuth integration (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Incorporating cr comments. Created 9 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « chrome/common/net/gaia/oauth_request_signer.cc ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
(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 {
Mattias Nissler (ping if slow) 2011/06/17 17:10:04 If you have an empty fixture, you can just use the
Rick Campbell 2011/06/17 18:53:45 Done.
11 };
12
13 TEST_F(OAuthRequestSignerTest, SignGet1) {
14 GURL request_url =
15 GURL("https://www.google.com/accounts/o8/GetOAuthToken");
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
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 }
OLDNEW
« no previous file with comments | « chrome/common/net/gaia/oauth_request_signer.cc ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698