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

Side by Side Diff: google_apis/drive/drive_api_url_generator_unittest.cc

Issue 2693093002: Fetch file metadata of files under Team Drives. (Closed)
Patch Set: Rename the enum to TeamDrivesIntegrationStatus to be more descriptive. Created 3 years, 10 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
« no previous file with comments | « google_apis/drive/drive_api_url_generator.cc ('k') | google_apis/drive/drive_switches.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2013 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2013 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/drive/drive_api_url_generator.h" 5 #include "google_apis/drive/drive_api_url_generator.h"
6 6
7 #include <stddef.h> 7 #include <stddef.h>
8 #include <stdint.h> 8 #include <stdint.h>
9 9
10 #include "base/macros.h" 10 #include "base/macros.h"
11 #include "google_apis/drive/test_util.h" 11 #include "google_apis/drive/test_util.h"
12 #include "testing/gtest/include/gtest/gtest.h" 12 #include "testing/gtest/include/gtest/gtest.h"
13 #include "url/gurl.h" 13 #include "url/gurl.h"
14 #include "url/url_util.h" 14 #include "url/url_util.h"
15 15
16 namespace google_apis { 16 namespace google_apis {
17 namespace { 17 namespace {
18 // The URLs used for production may be different for Chromium OS and Chrome 18 // The URLs used for production may be different for Chromium OS and Chrome
19 // OS, so use testing base urls. 19 // OS, so use testing base urls.
20 const char kBaseUrlForTesting[] = "https://www.example.com"; 20 const char kBaseUrlForTesting[] = "https://www.example.com";
21 const char kBaseThumbnailUrlForTesting[] = "https://thumbnail.example.com"; 21 const char kBaseThumbnailUrlForTesting[] = "https://thumbnail.example.com";
22 } // namespace 22 } // namespace
23 23
24 class DriveApiUrlGeneratorTest : public testing::Test { 24 class DriveApiUrlGeneratorTest : public testing::Test {
25 public: 25 public:
26 DriveApiUrlGeneratorTest() 26 DriveApiUrlGeneratorTest()
27 : url_generator_(GURL(kBaseUrlForTesting), 27 : url_generator_(GURL(kBaseUrlForTesting),
28 GURL(kBaseThumbnailUrlForTesting)) {} 28 GURL(kBaseThumbnailUrlForTesting),
29 TEAM_DRIVES_INTEGRATION_DISABLED),
30 team_drives_url_generator_(GURL(kBaseUrlForTesting),
31 GURL(kBaseThumbnailUrlForTesting),
32 TEAM_DRIVES_INTEGRATION_ENABLED) {}
29 33
30 protected: 34 protected:
31 DriveApiUrlGenerator url_generator_; 35 DriveApiUrlGenerator url_generator_;
36 DriveApiUrlGenerator team_drives_url_generator_;
32 }; 37 };
33 38
34 // Make sure the hard-coded urls are returned. 39 // Make sure the hard-coded urls are returned.
35 TEST_F(DriveApiUrlGeneratorTest, GetAboutGetUrl) { 40 TEST_F(DriveApiUrlGeneratorTest, GetAboutGetUrl) {
36 EXPECT_EQ("https://www.example.com/drive/v2/about", 41 EXPECT_EQ("https://www.example.com/drive/v2/about",
37 url_generator_.GetAboutGetUrl().spec()); 42 url_generator_.GetAboutGetUrl().spec());
38 } 43 }
39 44
40 TEST_F(DriveApiUrlGeneratorTest, GetAppsListUrl) { 45 TEST_F(DriveApiUrlGeneratorTest, GetAppsListUrl) {
41 const bool use_internal_url = true; 46 const bool use_internal_url = true;
(...skipping 10 matching lines...) Expand all
52 57
53 TEST_F(DriveApiUrlGeneratorTest, GetFilesGetUrl) { 58 TEST_F(DriveApiUrlGeneratorTest, GetFilesGetUrl) {
54 // |file_id| should be embedded into the url. 59 // |file_id| should be embedded into the url.
55 EXPECT_EQ("https://www.example.com/drive/v2/files/0ADK06pfg", 60 EXPECT_EQ("https://www.example.com/drive/v2/files/0ADK06pfg",
56 url_generator_.GetFilesGetUrl("0ADK06pfg", false, GURL()).spec()); 61 url_generator_.GetFilesGetUrl("0ADK06pfg", false, GURL()).spec());
57 EXPECT_EQ("https://www.example.com/drive/v2/files/0Bz0bd074", 62 EXPECT_EQ("https://www.example.com/drive/v2/files/0Bz0bd074",
58 url_generator_.GetFilesGetUrl("0Bz0bd074", false, GURL()).spec()); 63 url_generator_.GetFilesGetUrl("0Bz0bd074", false, GURL()).spec());
59 EXPECT_EQ( 64 EXPECT_EQ(
60 "https://www.example.com/drive/v2/files/file%3Afile_id", 65 "https://www.example.com/drive/v2/files/file%3Afile_id",
61 url_generator_.GetFilesGetUrl("file:file_id", false, GURL()).spec()); 66 url_generator_.GetFilesGetUrl("file:file_id", false, GURL()).spec());
67 EXPECT_EQ("https://www.example.com/drive/v2beta/files/0Bz0bd074"
68 "?supportsTeamDrives=true",
69 team_drives_url_generator_.GetFilesGetUrl(
70 "0Bz0bd074", false, GURL()).spec());
62 71
63 // If |use_internal_endpoint| is true, the generated url should point to the 72 // If |use_internal_endpoint| is true, the generated url should point to the
64 // v2internal. 73 // v2internal.
65 EXPECT_EQ("https://www.example.com/drive/v2internal/files/0ADK06pfg", 74 EXPECT_EQ("https://www.example.com/drive/v2internal/files/0ADK06pfg",
66 url_generator_.GetFilesGetUrl("0ADK06pfg", true, GURL()).spec()); 75 url_generator_.GetFilesGetUrl("0ADK06pfg", true, GURL()).spec());
67 76
68 // If |embed_origin| is not empty, it should be added as a query parameter. 77 // If |embed_origin| is not empty, it should be added as a query parameter.
69 url::AddStandardScheme("chrome-extension", url::SCHEME_WITHOUT_PORT); 78 url::AddStandardScheme("chrome-extension", url::SCHEME_WITHOUT_PORT);
70 EXPECT_EQ( 79 EXPECT_EQ(
71 "https://www.example.com/drive/v2/files/0ADK06pfg" 80 "https://www.example.com/drive/v2/files/0ADK06pfg"
(...skipping 77 matching lines...) Expand 10 before | Expand all | Expand 10 after
149 158
150 TEST_F(DriveApiUrlGeneratorTest, GetFilesListUrl) { 159 TEST_F(DriveApiUrlGeneratorTest, GetFilesListUrl) {
151 struct TestPattern { 160 struct TestPattern {
152 int max_results; 161 int max_results;
153 const std::string page_token; 162 const std::string page_token;
154 const std::string q; 163 const std::string q;
155 const std::string expected_query; 164 const std::string expected_query;
156 }; 165 };
157 const TestPattern kTestPatterns[] = { 166 const TestPattern kTestPatterns[] = {
158 { 100, "", "", "" }, 167 { 100, "", "", "" },
159 { 150, "", "", "?maxResults=150" }, 168 { 150, "", "", "maxResults=150" },
160 { 10, "", "", "?maxResults=10" }, 169 { 10, "", "", "maxResults=10" },
161 { 100, "token", "", "?pageToken=token" }, 170 { 100, "token", "", "pageToken=token" },
162 { 150, "token", "", "?maxResults=150&pageToken=token" }, 171 { 150, "token", "", "maxResults=150&pageToken=token" },
163 { 10, "token", "", "?maxResults=10&pageToken=token" }, 172 { 10, "token", "", "maxResults=10&pageToken=token" },
164 { 100, "", "query", "?q=query" }, 173 { 100, "", "query", "q=query" },
165 { 150, "", "query", "?maxResults=150&q=query" }, 174 { 150, "", "query", "maxResults=150&q=query" },
166 { 10, "", "query", "?maxResults=10&q=query" }, 175 { 10, "", "query", "maxResults=10&q=query" },
167 { 100, "token", "query", "?pageToken=token&q=query" }, 176 { 100, "token", "query", "pageToken=token&q=query" },
168 { 150, "token", "query", "?maxResults=150&pageToken=token&q=query" }, 177 { 150, "token", "query", "maxResults=150&pageToken=token&q=query" },
169 { 10, "token", "query", "?maxResults=10&pageToken=token&q=query" }, 178 { 10, "token", "query", "maxResults=10&pageToken=token&q=query" },
170 }; 179 };
180 const std::string kV2FilesUrlPrefix =
181 "https://www.example.com/drive/v2/files";
182 const std::string kV2BetaFilesUrlPrefix =
183 "https://www.example.com/drive/v2beta/files?"
184 "supportsTeamDrives=true&includeTeamDriveItems=true";
171 185
172 for (size_t i = 0; i < arraysize(kTestPatterns); ++i) { 186 for (size_t i = 0; i < arraysize(kTestPatterns); ++i) {
173 EXPECT_EQ("https://www.example.com/drive/v2/files" + 187 EXPECT_EQ(kV2FilesUrlPrefix +
188 (kTestPatterns[i].expected_query.empty() ? "" : "?") +
174 kTestPatterns[i].expected_query, 189 kTestPatterns[i].expected_query,
175 url_generator_.GetFilesListUrl(kTestPatterns[i].max_results, 190 url_generator_.GetFilesListUrl(kTestPatterns[i].max_results,
176 kTestPatterns[i].page_token, 191 kTestPatterns[i].page_token,
177 kTestPatterns[i].q).spec()); 192 kTestPatterns[i].q).spec());
193 EXPECT_EQ(kV2BetaFilesUrlPrefix +
194 (kTestPatterns[i].expected_query.empty() ? "" : "&") +
195 kTestPatterns[i].expected_query,
196 team_drives_url_generator_.GetFilesListUrl(
197 kTestPatterns[i].max_results,
198 kTestPatterns[i].page_token,
199 kTestPatterns[i].q).spec());
178 } 200 }
179 } 201 }
180 202
181 TEST_F(DriveApiUrlGeneratorTest, GetFilesDeleteUrl) { 203 TEST_F(DriveApiUrlGeneratorTest, GetFilesDeleteUrl) {
182 // |file_id| should be embedded into the url. 204 // |file_id| should be embedded into the url.
183 EXPECT_EQ("https://www.example.com/drive/v2/files/0ADK06pfg", 205 EXPECT_EQ("https://www.example.com/drive/v2/files/0ADK06pfg",
184 url_generator_.GetFilesDeleteUrl("0ADK06pfg").spec()); 206 url_generator_.GetFilesDeleteUrl("0ADK06pfg").spec());
185 EXPECT_EQ("https://www.example.com/drive/v2/files/0Bz0bd074", 207 EXPECT_EQ("https://www.example.com/drive/v2/files/0Bz0bd074",
186 url_generator_.GetFilesDeleteUrl("0Bz0bd074").spec()); 208 url_generator_.GetFilesDeleteUrl("0Bz0bd074").spec());
187 EXPECT_EQ("https://www.example.com/drive/v2/files/file%3Afile_id", 209 EXPECT_EQ("https://www.example.com/drive/v2/files/file%3Afile_id",
(...skipping 13 matching lines...) Expand all
201 TEST_F(DriveApiUrlGeneratorTest, GetChangesListUrl) { 223 TEST_F(DriveApiUrlGeneratorTest, GetChangesListUrl) {
202 struct TestPattern { 224 struct TestPattern {
203 bool include_deleted; 225 bool include_deleted;
204 int max_results; 226 int max_results;
205 const std::string page_token; 227 const std::string page_token;
206 int64_t start_change_id; 228 int64_t start_change_id;
207 const std::string expected_query; 229 const std::string expected_query;
208 }; 230 };
209 const TestPattern kTestPatterns[] = { 231 const TestPattern kTestPatterns[] = {
210 { true, 100, "", 0, "" }, 232 { true, 100, "", 0, "" },
211 { false, 100, "", 0, "?includeDeleted=false" }, 233 { false, 100, "", 0, "includeDeleted=false" },
212 { true, 150, "", 0, "?maxResults=150" }, 234 { true, 150, "", 0, "maxResults=150" },
213 { false, 150, "", 0, "?includeDeleted=false&maxResults=150" }, 235 { false, 150, "", 0, "includeDeleted=false&maxResults=150" },
214 { true, 10, "", 0, "?maxResults=10" }, 236 { true, 10, "", 0, "maxResults=10" },
215 { false, 10, "", 0, "?includeDeleted=false&maxResults=10" }, 237 { false, 10, "", 0, "includeDeleted=false&maxResults=10" },
216 238
217 { true, 100, "token", 0, "?pageToken=token" }, 239 { true, 100, "token", 0, "pageToken=token" },
218 { false, 100, "token", 0, "?includeDeleted=false&pageToken=token" }, 240 { false, 100, "token", 0, "includeDeleted=false&pageToken=token" },
219 { true, 150, "token", 0, "?maxResults=150&pageToken=token" }, 241 { true, 150, "token", 0, "maxResults=150&pageToken=token" },
220 { false, 150, "token", 0, 242 { false, 150, "token", 0,
221 "?includeDeleted=false&maxResults=150&pageToken=token" }, 243 "includeDeleted=false&maxResults=150&pageToken=token" },
222 { true, 10, "token", 0, "?maxResults=10&pageToken=token" }, 244 { true, 10, "token", 0, "maxResults=10&pageToken=token" },
223 { false, 10, "token", 0, 245 { false, 10, "token", 0,
224 "?includeDeleted=false&maxResults=10&pageToken=token" }, 246 "includeDeleted=false&maxResults=10&pageToken=token" },
225 247
226 { true, 100, "", 12345, "?startChangeId=12345" }, 248 { true, 100, "", 12345, "startChangeId=12345" },
227 { false, 100, "", 12345, "?includeDeleted=false&startChangeId=12345" }, 249 { false, 100, "", 12345, "includeDeleted=false&startChangeId=12345" },
228 { true, 150, "", 12345, "?maxResults=150&startChangeId=12345" }, 250 { true, 150, "", 12345, "maxResults=150&startChangeId=12345" },
229 { false, 150, "", 12345, 251 { false, 150, "", 12345,
230 "?includeDeleted=false&maxResults=150&startChangeId=12345" }, 252 "includeDeleted=false&maxResults=150&startChangeId=12345" },
231 { true, 10, "", 12345, "?maxResults=10&startChangeId=12345" }, 253 { true, 10, "", 12345, "maxResults=10&startChangeId=12345" },
232 { false, 10, "", 12345, 254 { false, 10, "", 12345,
233 "?includeDeleted=false&maxResults=10&startChangeId=12345" }, 255 "includeDeleted=false&maxResults=10&startChangeId=12345" },
234 256
235 { true, 100, "token", 12345, "?pageToken=token&startChangeId=12345" }, 257 { true, 100, "token", 12345, "pageToken=token&startChangeId=12345" },
236 { false, 100, "token", 12345, 258 { false, 100, "token", 12345,
237 "?includeDeleted=false&pageToken=token&startChangeId=12345" }, 259 "includeDeleted=false&pageToken=token&startChangeId=12345" },
238 { true, 150, "token", 12345, 260 { true, 150, "token", 12345,
239 "?maxResults=150&pageToken=token&startChangeId=12345" }, 261 "maxResults=150&pageToken=token&startChangeId=12345" },
240 { false, 150, "token", 12345, 262 { false, 150, "token", 12345,
241 "?includeDeleted=false&maxResults=150&pageToken=token" 263 "includeDeleted=false&maxResults=150&pageToken=token"
242 "&startChangeId=12345" }, 264 "&startChangeId=12345" },
243 { true, 10, "token", 12345, 265 { true, 10, "token", 12345,
244 "?maxResults=10&pageToken=token&startChangeId=12345" }, 266 "maxResults=10&pageToken=token&startChangeId=12345" },
245 { false, 10, "token", 12345, 267 { false, 10, "token", 12345,
246 "?includeDeleted=false&maxResults=10&pageToken=token" 268 "includeDeleted=false&maxResults=10&pageToken=token"
247 "&startChangeId=12345" }, 269 "&startChangeId=12345" },
248 }; 270 };
249 271
272 const std::string kV2ChangesUrlPrefix =
273 "https://www.example.com/drive/v2/changes";
274 const std::string kV2BetaChangesUrlPrefix =
275 "https://www.example.com/drive/v2beta/changes?"
276 "supportsTeamDrives=true&includeTeamDriveItems=true";
250 for (size_t i = 0; i < arraysize(kTestPatterns); ++i) { 277 for (size_t i = 0; i < arraysize(kTestPatterns); ++i) {
251 EXPECT_EQ("https://www.example.com/drive/v2/changes" + 278 EXPECT_EQ(kV2ChangesUrlPrefix +
279 (kTestPatterns[i].expected_query.empty() ? "" : "?") +
252 kTestPatterns[i].expected_query, 280 kTestPatterns[i].expected_query,
253 url_generator_.GetChangesListUrl(kTestPatterns[i].include_deleted, 281 url_generator_.GetChangesListUrl(kTestPatterns[i].include_deleted,
254 kTestPatterns[i].max_results, 282 kTestPatterns[i].max_results,
255 kTestPatterns[i].page_token, 283 kTestPatterns[i].page_token,
256 kTestPatterns[i].start_change_id) 284 kTestPatterns[i].start_change_id)
257 .spec()); 285 .spec());
286 EXPECT_EQ(kV2BetaChangesUrlPrefix +
287 (kTestPatterns[i].expected_query.empty() ? "" : "&") +
288 kTestPatterns[i].expected_query,
289 team_drives_url_generator_.GetChangesListUrl(
290 kTestPatterns[i].include_deleted,
291 kTestPatterns[i].max_results,
292 kTestPatterns[i].page_token,
293 kTestPatterns[i].start_change_id)
294 .spec());
258 } 295 }
259 } 296 }
260 297
261 TEST_F(DriveApiUrlGeneratorTest, GetChildrenInsertUrl) { 298 TEST_F(DriveApiUrlGeneratorTest, GetChildrenInsertUrl) {
262 // |file_id| should be embedded into the url. 299 // |file_id| should be embedded into the url.
263 EXPECT_EQ("https://www.example.com/drive/v2/files/0ADK06pfg/children", 300 EXPECT_EQ("https://www.example.com/drive/v2/files/0ADK06pfg/children",
264 url_generator_.GetChildrenInsertUrl("0ADK06pfg").spec()); 301 url_generator_.GetChildrenInsertUrl("0ADK06pfg").spec());
265 EXPECT_EQ("https://www.example.com/drive/v2/files/0Bz0bd074/children", 302 EXPECT_EQ("https://www.example.com/drive/v2/files/0Bz0bd074/children",
266 url_generator_.GetChildrenInsertUrl("0Bz0bd074").spec()); 303 url_generator_.GetChildrenInsertUrl("0Bz0bd074").spec());
267 EXPECT_EQ("https://www.example.com/drive/v2/files/file%3Afolder_id/children", 304 EXPECT_EQ("https://www.example.com/drive/v2/files/file%3Afolder_id/children",
(...skipping 114 matching lines...) Expand 10 before | Expand all | Expand 10 after
382 "https://thumbnail.example.com/d/0ADK06pfg=w360-h380-c", 419 "https://thumbnail.example.com/d/0ADK06pfg=w360-h380-c",
383 url_generator_.GetThumbnailUrl("0ADK06pfg", 360, 380, true).spec()); 420 url_generator_.GetThumbnailUrl("0ADK06pfg", 360, 380, true).spec());
384 } 421 }
385 422
386 TEST_F(DriveApiUrlGeneratorTest, BatchUploadUrl) { 423 TEST_F(DriveApiUrlGeneratorTest, BatchUploadUrl) {
387 EXPECT_EQ("https://www.example.com/upload/drive", 424 EXPECT_EQ("https://www.example.com/upload/drive",
388 url_generator_.GetBatchUploadUrl().spec()); 425 url_generator_.GetBatchUploadUrl().spec());
389 } 426 }
390 427
391 } // namespace google_apis 428 } // namespace google_apis
OLDNEW
« no previous file with comments | « google_apis/drive/drive_api_url_generator.cc ('k') | google_apis/drive/drive_switches.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698