Avi Drissman | 8ce0344d | 2022-09-13 20:40:56 | [diff] [blame] | 1 | // Copyright 2021 The Chromium Authors |
Jiaming Cheng | 58b378b3 | 2021-07-02 18:47:18 | [diff] [blame] | 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 "google_apis/calendar/calendar_api_url_generator.h" |
| 6 | |
Gabriel Charette | d87f10f | 2022-03-31 00:44:22 | [diff] [blame] | 7 | #include "base/time/time.h" |
Jiaming Cheng | 58b378b3 | 2021-07-02 18:47:18 | [diff] [blame] | 8 | #include "third_party/googletest/src/googletest/include/gtest/gtest.h" |
| 9 | |
| 10 | namespace google_apis { |
| 11 | |
| 12 | namespace calendar { |
| 13 | |
| 14 | // Make sure the hard-coded urls are returned. |
| 15 | TEST(CalendarApiUrlGeneratorTest, GetColorListUrl) { |
| 16 | CalendarApiUrlGenerator url_generator_; |
| 17 | EXPECT_EQ("https://www.googleapis.com/calendar/v3/colors", |
| 18 | url_generator_.GetCalendarColorListUrl().spec()); |
| 19 | } |
| 20 | |
| 21 | TEST(CalendarApiUrlGeneratorTest, GetEventListUrl) { |
| 22 | CalendarApiUrlGenerator url_generator_; |
| 23 | base::Time start; |
| 24 | EXPECT_TRUE(base::Time::FromString("13 Jun 2021 10:00 PST", &start)); |
| 25 | base::Time end; |
| 26 | EXPECT_TRUE(base::Time::FromString("16 Jun 2021 10:00 PST", &end)); |
| 27 | EXPECT_EQ( |
| 28 | "https://www.googleapis.com/calendar/v3/calendars/primary/" |
| 29 | "events?timeMin=2021-06-13T18%3A00%3A00.000Z" |
Roger Tinkoff | 73d4ae4 | 2021-10-24 19:37:46 | [diff] [blame] | 30 | "&timeMax=2021-06-16T18%3A00%3A00.000Z" |
Artsiom Mitrokhin | c9535da | 2022-05-02 18:17:15 | [diff] [blame] | 31 | "&singleEvents=true" |
Artsiom Mitrokhin | 1c8f9bf | 2022-09-06 20:54:07 | [diff] [blame] | 32 | "&maxAttendees=1" |
| 33 | "&maxResults=123", |
Artsiom Mitrokhin | c9535da | 2022-05-02 18:17:15 | [diff] [blame] | 34 | url_generator_ |
| 35 | .GetCalendarEventListUrl(start, end, /*single_events=*/true, |
Artsiom Mitrokhin | 1c8f9bf | 2022-09-06 20:54:07 | [diff] [blame] | 36 | /*max_attendees=*/1, |
| 37 | /*max_results=*/123) |
Artsiom Mitrokhin | c9535da | 2022-05-02 18:17:15 | [diff] [blame] | 38 | .spec()); |
| 39 | } |
| 40 | |
Artsiom Mitrokhin | 1c8f9bf | 2022-09-06 20:54:07 | [diff] [blame] | 41 | TEST(CalendarApiUrlGeneratorTest, |
| 42 | GetEventListUrlWithDefaultOptionalParameters) { |
Artsiom Mitrokhin | c9535da | 2022-05-02 18:17:15 | [diff] [blame] | 43 | CalendarApiUrlGenerator url_generator_; |
| 44 | base::Time start; |
| 45 | EXPECT_TRUE(base::Time::FromString("13 Jun 2021 10:00 PST", &start)); |
| 46 | base::Time end; |
| 47 | EXPECT_TRUE(base::Time::FromString("16 Jun 2021 10:00 PST", &end)); |
| 48 | EXPECT_EQ( |
| 49 | "https://www.googleapis.com/calendar/v3/calendars/primary/" |
| 50 | "events?timeMin=2021-06-13T18%3A00%3A00.000Z" |
| 51 | "&timeMax=2021-06-16T18%3A00%3A00.000Z" |
Roger Tinkoff | 73d4ae4 | 2021-10-24 19:37:46 | [diff] [blame] | 52 | "&singleEvents=true", |
Artsiom Mitrokhin | c9535da | 2022-05-02 18:17:15 | [diff] [blame] | 53 | url_generator_ |
| 54 | .GetCalendarEventListUrl(start, end, /*single_events=*/true, |
Artsiom Mitrokhin | 1c8f9bf | 2022-09-06 20:54:07 | [diff] [blame] | 55 | /*max_attendees=*/absl::nullopt, |
| 56 | /*max_results=*/absl::nullopt) |
Roger Tinkoff | 73d4ae4 | 2021-10-24 19:37:46 | [diff] [blame] | 57 | .spec()); |
Jiaming Cheng | 58b378b3 | 2021-07-02 18:47:18 | [diff] [blame] | 58 | } |
| 59 | |
| 60 | } // namespace calendar |
| 61 | } // namespace google_apis |