// Copyright 2014 The Chromium Authors. All rights reserved. // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. #include "components/cloud_devices/common/cloud_devices_urls.h" #include #include "testing/gmock/include/gmock/gmock.h" #include "testing/gtest/include/gtest/gtest.h" using testing::HasSubstr; namespace cloud_devices { TEST(CloudPrintURLTest, GetCloudPrintURL) { std::string service_url = GetCloudPrintURL().spec(); EXPECT_THAT(service_url, HasSubstr("www.google.com")); EXPECT_THAT(service_url, HasSubstr("cloudprint")); } TEST(CloudPrintURLTest, GetCloudPrintRelativeURL) { EXPECT_THAT(GetCloudPrintRelativeURL("///a/b/c///").spec(), HasSubstr("/cloudprint/a/b/c")); EXPECT_THAT(GetCloudPrintRelativeURL("a/b/c").spec(), HasSubstr("/cloudprint/a/b/c")); } TEST(CloudPrintURLTest, GetCloudPrintDialogUrl) { std::string dialog_url = GetCloudPrintRelativeURL("client/dialog.html").spec(); EXPECT_THAT(dialog_url, HasSubstr("www.google.com")); EXPECT_THAT(dialog_url, HasSubstr("/cloudprint/")); EXPECT_THAT(dialog_url, HasSubstr("/client/")); EXPECT_THAT(dialog_url, Not(HasSubstr("cloudprint/cloudprint"))); EXPECT_THAT(dialog_url, HasSubstr("/dialog.html")); } TEST(CloudPrintURLTest, GetCloudPrintManageUrl) { std::string manage_url = GetCloudPrintRelativeURL("manage.html").spec(); EXPECT_THAT(manage_url, HasSubstr("www.google.com")); EXPECT_THAT(manage_url, HasSubstr("/cloudprint/")); EXPECT_THAT(manage_url, Not(HasSubstr("/client/"))); EXPECT_THAT(manage_url, Not(HasSubstr("cloudprint/cloudprint"))); EXPECT_THAT(manage_url, HasSubstr("/manage.html")); } TEST(CloudPrintURLTest, GetCloudPrintEnableURL) { std::string enable_url = GetCloudPrintEnableURL("123123").spec(); EXPECT_THAT(enable_url, HasSubstr("proxy=123123")); EXPECT_THAT(enable_url, HasSubstr("/enable_chrome_connector/enable.html")); EXPECT_THAT(enable_url, HasSubstr("/cloudprint/")); } TEST(CloudPrintURLTest, GetCloudPrintEnableWithSigninURL) { std::string enable_url = GetCloudPrintEnableWithSigninURL("123123").spec(); EXPECT_THAT(enable_url, HasSubstr("accounts.google.com")); EXPECT_THAT(enable_url, HasSubstr("/ServiceLogin")); EXPECT_THAT(enable_url, HasSubstr("service=cloudprint")); EXPECT_THAT(enable_url, HasSubstr("continue=")); EXPECT_THAT(enable_url, HasSubstr("proxy%3D123123")); EXPECT_THAT(enable_url, HasSubstr("%2Fenable_chrome_connector%2Fenable")); EXPECT_THAT(enable_url, HasSubstr("%2Fcloudprint%2F")); } TEST(CloudPrintURLTest, GetCloudPrintManageDeviceURL) { std::string manage_url = GetCloudPrintManageDeviceURL("123").spec(); EXPECT_THAT(manage_url, HasSubstr("www.google.com")); EXPECT_THAT(manage_url, HasSubstr("/cloudprint")); EXPECT_THAT(manage_url, HasSubstr("#printers/123")); } TEST(CloudPrintURLTest, GetCloudPrintSigninURL) { std::string signin_url = GetCloudPrintSigninURL().spec(); EXPECT_THAT(signin_url, HasSubstr("accounts.google.com")); EXPECT_THAT(signin_url, HasSubstr("/ServiceLogin")); EXPECT_THAT(signin_url, HasSubstr("service=cloudprint")); EXPECT_THAT(signin_url, HasSubstr("continue=")); EXPECT_THAT(signin_url, HasSubstr("%2Fcloudprint")); EXPECT_THAT(signin_url, Not(HasSubstr("/cloudprint"))); } TEST(CloudPrintURLTest, GetCloudPrintAddAccountURL) { std::string add_url = GetCloudPrintAddAccountURL().spec(); EXPECT_THAT(add_url, HasSubstr("accounts.google.com")); EXPECT_THAT(add_url, HasSubstr("/AddSession")); EXPECT_THAT(add_url, HasSubstr("service=cloudprint")); EXPECT_THAT(add_url, HasSubstr("continue=")); EXPECT_THAT(add_url, HasSubstr("%2Fcloudprint")); EXPECT_THAT(add_url, Not(HasSubstr("/cloudprint"))); } } // namespace cloud_devices