OLD | NEW |
1 // Copyright 2012 The Chromium Authors. All rights reserved. | 1 // Copyright 2012 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 "chrome/common/cloud_print/cloud_print_helpers.h" | 5 #include "chrome/common/cloud_print/cloud_print_helpers.h" |
6 | 6 |
7 #include "base/md5.h" | 7 #include "base/md5.h" |
8 #include "base/strings/stringprintf.h" | 8 #include "base/strings/stringprintf.h" |
9 #include "base/sys_info.h" | 9 #include "base/sys_info.h" |
10 #include "chrome/common/chrome_version_info.h" | 10 #include "chrome/common/channel_info.h" |
11 #include "testing/gtest/include/gtest/gtest.h" | 11 #include "testing/gtest/include/gtest/gtest.h" |
12 #include "url/gurl.h" | 12 #include "url/gurl.h" |
13 | 13 |
14 namespace cloud_print { | 14 namespace cloud_print { |
15 | 15 |
16 namespace { | 16 namespace { |
17 | 17 |
18 void CheckURLs(const GURL& server_base_url) { | 18 void CheckURLs(const GURL& server_base_url) { |
19 std::string expected_url_base = server_base_url.spec(); | 19 std::string expected_url_base = server_base_url.spec(); |
20 if (expected_url_base[expected_url_base.length() - 1] != '/') | 20 if (expected_url_base[expected_url_base.length() - 1] != '/') |
(...skipping 55 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
76 CheckURLs(GURL("https://www.google.com/cloudprint/")); | 76 CheckURLs(GURL("https://www.google.com/cloudprint/")); |
77 CheckURLs(GURL("http://www.myprinterserver.com")); | 77 CheckURLs(GURL("http://www.myprinterserver.com")); |
78 CheckURLs(GURL("http://www.myprinterserver.com/")); | 78 CheckURLs(GURL("http://www.myprinterserver.com/")); |
79 } | 79 } |
80 | 80 |
81 TEST(CloudPrintHelpersTest, GetHashOfPrinterTags) { | 81 TEST(CloudPrintHelpersTest, GetHashOfPrinterTags) { |
82 PrinterTags printer_tags; | 82 PrinterTags printer_tags; |
83 printer_tags["tag1"] = std::string("value1"); | 83 printer_tags["tag1"] = std::string("value1"); |
84 printer_tags["tag2"] = std::string("value2"); | 84 printer_tags["tag2"] = std::string("value2"); |
85 | 85 |
86 chrome::VersionInfo version_info; | |
87 std::string expected_list_string = base::StringPrintf( | 86 std::string expected_list_string = base::StringPrintf( |
88 "chrome_version%ssystem_name%ssystem_version%stag1value1tag2value2", | 87 "chrome_version%ssystem_name%ssystem_version%stag1value1tag2value2", |
89 version_info.CreateVersionString().c_str(), | 88 chrome::GetVersionString().c_str(), |
90 base::SysInfo::OperatingSystemName().c_str(), | 89 base::SysInfo::OperatingSystemName().c_str(), |
91 base::SysInfo::OperatingSystemVersion().c_str()); | 90 base::SysInfo::OperatingSystemVersion().c_str()); |
92 EXPECT_EQ(base::MD5String(expected_list_string), | 91 EXPECT_EQ(base::MD5String(expected_list_string), |
93 GetHashOfPrinterTags(printer_tags)); | 92 GetHashOfPrinterTags(printer_tags)); |
94 } | 93 } |
95 | 94 |
96 TEST(CloudPrintHelpersTest, GetPostDataForPrinterTags) { | 95 TEST(CloudPrintHelpersTest, GetPostDataForPrinterTags) { |
97 PrinterTags printer_tags; | 96 PrinterTags printer_tags; |
98 printer_tags["tag1"] = std::string("value1"); | 97 printer_tags["tag1"] = std::string("value1"); |
99 printer_tags["tag2"] = std::string("value2"); | 98 printer_tags["tag2"] = std::string("value2"); |
100 | 99 |
101 chrome::VersionInfo version_info; | |
102 std::string expected = base::StringPrintf( | 100 std::string expected = base::StringPrintf( |
103 "--test_mime_boundary\r\nContent-Disposition: form-data; name=\"tag\"" | 101 "--test_mime_boundary\r\nContent-Disposition: form-data; name=\"tag\"" |
104 "\r\n\r\n__test__chrome_version=%s\r\n" | 102 "\r\n\r\n__test__chrome_version=%s\r\n" |
105 "--test_mime_boundary\r\nContent-Disposition: form-data; name=\"tag\"" | 103 "--test_mime_boundary\r\nContent-Disposition: form-data; name=\"tag\"" |
106 "\r\n\r\n__test__system_name=%s\r\n" | 104 "\r\n\r\n__test__system_name=%s\r\n" |
107 "--test_mime_boundary\r\nContent-Disposition: form-data; name=\"tag\"" | 105 "--test_mime_boundary\r\nContent-Disposition: form-data; name=\"tag\"" |
108 "\r\n\r\n__test__system_version=%s\r\n" | 106 "\r\n\r\n__test__system_version=%s\r\n" |
109 "--test_mime_boundary\r\nContent-Disposition: form-data; name=\"tag\"" | 107 "--test_mime_boundary\r\nContent-Disposition: form-data; name=\"tag\"" |
110 "\r\n\r\n__test__tag1=value1\r\n" | 108 "\r\n\r\n__test__tag1=value1\r\n" |
111 "--test_mime_boundary\r\nContent-Disposition: form-data; name=\"tag\"" | 109 "--test_mime_boundary\r\nContent-Disposition: form-data; name=\"tag\"" |
112 "\r\n\r\n__test__tag2=value2\r\n" | 110 "\r\n\r\n__test__tag2=value2\r\n" |
113 "--test_mime_boundary\r\nContent-Disposition: form-data; name=\"tag\"" | 111 "--test_mime_boundary\r\nContent-Disposition: form-data; name=\"tag\"" |
114 "\r\n\r\n__test__tagshash=%s\r\n", | 112 "\r\n\r\n__test__tagshash=%s\r\n", |
115 version_info.CreateVersionString().c_str(), | 113 chrome::GetVersionString().c_str(), |
116 base::SysInfo::OperatingSystemName().c_str(), | 114 base::SysInfo::OperatingSystemName().c_str(), |
117 base::SysInfo::OperatingSystemVersion().c_str(), | 115 base::SysInfo::OperatingSystemVersion().c_str(), |
118 GetHashOfPrinterTags(printer_tags).c_str()); | 116 GetHashOfPrinterTags(printer_tags).c_str()); |
119 | 117 |
120 EXPECT_EQ(expected, GetPostDataForPrinterTags( | 118 EXPECT_EQ(expected, GetPostDataForPrinterTags( |
121 printer_tags, | 119 printer_tags, |
122 std::string("test_mime_boundary"), | 120 std::string("test_mime_boundary"), |
123 std::string("__test__"), | 121 std::string("__test__"), |
124 std::string("__test__tagshash"))); | 122 std::string("__test__tagshash"))); |
125 } | 123 } |
126 | 124 |
127 TEST(CloudPrintHelpersTest, GetCloudPrintAuthHeader) { | 125 TEST(CloudPrintHelpersTest, GetCloudPrintAuthHeader) { |
128 std::string test_auth("testauth"); | 126 std::string test_auth("testauth"); |
129 EXPECT_EQ("Authorization: OAuth testauth", | 127 EXPECT_EQ("Authorization: OAuth testauth", |
130 GetCloudPrintAuthHeader(test_auth)); | 128 GetCloudPrintAuthHeader(test_auth)); |
131 } | 129 } |
132 | 130 |
133 } // namespace cloud_print | 131 } // namespace cloud_print |
OLD | NEW |