blob: bd4da91522236c47f2c3ed7b98cd29155cb3c3ea [file] [log] [blame]
// 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 <string>
#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