OLD | NEW |
1 // Copyright 2013 The Chromium Authors. All rights reserved. | 1 // Copyright 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 <string> |
| 6 |
5 #include "base/memory/ref_counted.h" | 7 #include "base/memory/ref_counted.h" |
6 #include "base/memory/scoped_ptr.h" | 8 #include "base/memory/scoped_ptr.h" |
7 #include "base/run_loop.h" | 9 #include "base/run_loop.h" |
8 #include "base/thread_task_runner_handle.h" | 10 #include "base/thread_task_runner_handle.h" |
9 #include "base/version.h" | 11 #include "base/version.h" |
10 #include "components/update_client/crx_update_item.h" | 12 #include "components/update_client/crx_update_item.h" |
11 #include "components/update_client/ping_manager.h" | 13 #include "components/update_client/ping_manager.h" |
12 #include "components/update_client/test_configurator.h" | 14 #include "components/update_client/test_configurator.h" |
13 #include "components/update_client/url_request_post_interceptor.h" | 15 #include "components/update_client/url_request_post_interceptor.h" |
14 #include "net/url_request/url_request_test_util.h" | 16 #include "net/url_request/url_request_test_util.h" |
(...skipping 48 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
63 interceptor_factory->CreateInterceptor(); | 65 interceptor_factory->CreateInterceptor(); |
64 EXPECT_TRUE(interceptor); | 66 EXPECT_TRUE(interceptor); |
65 | 67 |
66 // Test eventresult="1" is sent for successful updates. | 68 // Test eventresult="1" is sent for successful updates. |
67 CrxUpdateItem item; | 69 CrxUpdateItem item; |
68 item.id = "abc"; | 70 item.id = "abc"; |
69 item.state = CrxUpdateItem::State::kUpdated; | 71 item.state = CrxUpdateItem::State::kUpdated; |
70 item.previous_version = base::Version("1.0"); | 72 item.previous_version = base::Version("1.0"); |
71 item.next_version = base::Version("2.0"); | 73 item.next_version = base::Version("2.0"); |
72 | 74 |
73 ping_manager_->OnUpdateComplete(&item); | 75 ping_manager_->SendPing(&item); |
74 base::RunLoop().RunUntilIdle(); | 76 base::RunLoop().RunUntilIdle(); |
75 | 77 |
76 EXPECT_EQ(1, interceptor->GetCount()) << interceptor->GetRequestsAsString(); | 78 EXPECT_EQ(1, interceptor->GetCount()) << interceptor->GetRequestsAsString(); |
77 EXPECT_NE(string::npos, | 79 EXPECT_NE(string::npos, |
78 interceptor->GetRequests()[0].find( | 80 interceptor->GetRequests()[0].find( |
79 "<app appid=\"abc\" version=\"1.0\" nextversion=\"2.0\">" | 81 "<app appid=\"abc\" version=\"1.0\" nextversion=\"2.0\">" |
80 "<event eventtype=\"3\" eventresult=\"1\"/></app>")) | 82 "<event eventtype=\"3\" eventresult=\"1\"/></app>")) |
81 << interceptor->GetRequestsAsString(); | 83 << interceptor->GetRequestsAsString(); |
82 interceptor->Reset(); | 84 interceptor->Reset(); |
83 | 85 |
84 // Test eventresult="0" is sent for failed updates. | 86 // Test eventresult="0" is sent for failed updates. |
85 item = CrxUpdateItem(); | 87 item = CrxUpdateItem(); |
86 item.id = "abc"; | 88 item.id = "abc"; |
87 item.state = CrxUpdateItem::State::kNoUpdate; | 89 item.state = CrxUpdateItem::State::kNoUpdate; |
88 item.previous_version = base::Version("1.0"); | 90 item.previous_version = base::Version("1.0"); |
89 item.next_version = base::Version("2.0"); | 91 item.next_version = base::Version("2.0"); |
90 | 92 |
91 ping_manager_->OnUpdateComplete(&item); | 93 ping_manager_->SendPing(&item); |
92 base::RunLoop().RunUntilIdle(); | 94 base::RunLoop().RunUntilIdle(); |
93 | 95 |
94 EXPECT_EQ(1, interceptor->GetCount()) << interceptor->GetRequestsAsString(); | 96 EXPECT_EQ(1, interceptor->GetCount()) << interceptor->GetRequestsAsString(); |
95 EXPECT_NE(string::npos, | 97 EXPECT_NE(string::npos, |
96 interceptor->GetRequests()[0].find( | 98 interceptor->GetRequests()[0].find( |
97 "<app appid=\"abc\" version=\"1.0\" nextversion=\"2.0\">" | 99 "<app appid=\"abc\" version=\"1.0\" nextversion=\"2.0\">" |
98 "<event eventtype=\"3\" eventresult=\"0\"/></app>")) | 100 "<event eventtype=\"3\" eventresult=\"0\"/></app>")) |
99 << interceptor->GetRequestsAsString(); | 101 << interceptor->GetRequestsAsString(); |
100 interceptor->Reset(); | 102 interceptor->Reset(); |
101 | 103 |
102 // Test the error values and the fingerprints. | 104 // Test the error values and the fingerprints. |
103 item = CrxUpdateItem(); | 105 item = CrxUpdateItem(); |
104 item.id = "abc"; | 106 item.id = "abc"; |
105 item.state = CrxUpdateItem::State::kNoUpdate; | 107 item.state = CrxUpdateItem::State::kNoUpdate; |
106 item.previous_version = base::Version("1.0"); | 108 item.previous_version = base::Version("1.0"); |
107 item.next_version = base::Version("2.0"); | 109 item.next_version = base::Version("2.0"); |
108 item.previous_fp = "prev fp"; | 110 item.previous_fp = "prev fp"; |
109 item.next_fp = "next fp"; | 111 item.next_fp = "next fp"; |
110 item.error_category = 1; | 112 item.error_category = 1; |
111 item.error_code = 2; | 113 item.error_code = 2; |
112 item.extra_code1 = -1; | 114 item.extra_code1 = -1; |
113 item.diff_error_category = 10; | 115 item.diff_error_category = 10; |
114 item.diff_error_code = 20; | 116 item.diff_error_code = 20; |
115 item.diff_extra_code1 = -10; | 117 item.diff_extra_code1 = -10; |
116 item.diff_update_failed = true; | 118 item.diff_update_failed = true; |
117 item.crx_diffurls.push_back(GURL("http://host/path")); | 119 item.crx_diffurls.push_back(GURL("http://host/path")); |
118 | 120 |
119 ping_manager_->OnUpdateComplete(&item); | 121 ping_manager_->SendPing(&item); |
120 base::RunLoop().RunUntilIdle(); | 122 base::RunLoop().RunUntilIdle(); |
121 | 123 |
122 EXPECT_EQ(1, interceptor->GetCount()) << interceptor->GetRequestsAsString(); | 124 EXPECT_EQ(1, interceptor->GetCount()) << interceptor->GetRequestsAsString(); |
123 EXPECT_NE(string::npos, | 125 EXPECT_NE(string::npos, |
124 interceptor->GetRequests()[0].find( | 126 interceptor->GetRequests()[0].find( |
125 "<app appid=\"abc\" version=\"1.0\" nextversion=\"2.0\">" | 127 "<app appid=\"abc\" version=\"1.0\" nextversion=\"2.0\">" |
126 "<event eventtype=\"3\" eventresult=\"0\" errorcat=\"1\" " | 128 "<event eventtype=\"3\" eventresult=\"0\" errorcat=\"1\" " |
127 "errorcode=\"2\" extracode1=\"-1\" diffresult=\"0\" " | 129 "errorcode=\"2\" extracode1=\"-1\" diffresult=\"0\" " |
128 "differrorcat=\"10\" " | 130 "differrorcat=\"10\" " |
129 "differrorcode=\"20\" diffextracode1=\"-10\" " | 131 "differrorcode=\"20\" diffextracode1=\"-10\" " |
(...skipping 19 matching lines...) Expand all Loading... |
149 | 151 |
150 download_metrics = CrxDownloader::DownloadMetrics(); | 152 download_metrics = CrxDownloader::DownloadMetrics(); |
151 download_metrics.url = GURL("http://host2/path2"); | 153 download_metrics.url = GURL("http://host2/path2"); |
152 download_metrics.downloader = CrxDownloader::DownloadMetrics::kBits; | 154 download_metrics.downloader = CrxDownloader::DownloadMetrics::kBits; |
153 download_metrics.error = 0; | 155 download_metrics.error = 0; |
154 download_metrics.downloaded_bytes = 1230; | 156 download_metrics.downloaded_bytes = 1230; |
155 download_metrics.total_bytes = 4560; | 157 download_metrics.total_bytes = 4560; |
156 download_metrics.download_time_ms = 9870; | 158 download_metrics.download_time_ms = 9870; |
157 item.download_metrics.push_back(download_metrics); | 159 item.download_metrics.push_back(download_metrics); |
158 | 160 |
159 ping_manager_->OnUpdateComplete(&item); | 161 ping_manager_->SendPing(&item); |
160 base::RunLoop().RunUntilIdle(); | 162 base::RunLoop().RunUntilIdle(); |
161 | 163 |
162 EXPECT_EQ(1, interceptor->GetCount()) << interceptor->GetRequestsAsString(); | 164 EXPECT_EQ(1, interceptor->GetCount()) << interceptor->GetRequestsAsString(); |
163 EXPECT_NE( | 165 EXPECT_NE( |
164 string::npos, | 166 string::npos, |
165 interceptor->GetRequests()[0].find( | 167 interceptor->GetRequests()[0].find( |
166 "<app appid=\"abc\" version=\"1.0\" nextversion=\"2.0\">" | 168 "<app appid=\"abc\" version=\"1.0\" nextversion=\"2.0\">" |
167 "<event eventtype=\"3\" eventresult=\"1\"/>" | 169 "<event eventtype=\"3\" eventresult=\"1\"/>" |
168 "<event eventtype=\"14\" eventresult=\"0\" downloader=\"direct\" " | 170 "<event eventtype=\"14\" eventresult=\"0\" downloader=\"direct\" " |
169 "errorcode=\"-1\" url=\"http://host1/path1\" downloaded=\"123\" " | 171 "errorcode=\"-1\" url=\"http://host1/path1\" downloaded=\"123\" " |
170 "total=\"456\" download_time_ms=\"987\"/>" | 172 "total=\"456\" download_time_ms=\"987\"/>" |
171 "<event eventtype=\"14\" eventresult=\"1\" downloader=\"bits\" " | 173 "<event eventtype=\"14\" eventresult=\"1\" downloader=\"bits\" " |
172 "url=\"http://host2/path2\" downloaded=\"1230\" total=\"4560\" " | 174 "url=\"http://host2/path2\" downloaded=\"1230\" total=\"4560\" " |
173 "download_time_ms=\"9870\"/></app>")) | 175 "download_time_ms=\"9870\"/></app>")) |
174 << interceptor->GetRequestsAsString(); | 176 << interceptor->GetRequestsAsString(); |
175 interceptor->Reset(); | 177 interceptor->Reset(); |
176 } | 178 } |
177 | 179 |
178 } // namespace update_client | 180 } // namespace update_client |
OLD | NEW |