Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(41)

Side by Side Diff: chrome/browser/component_updater/test/component_updater_ping_manager_unittest.cc

Issue 318143003: Make CUS interface more resilient by returning a copy of the data (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 6 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
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 "base/memory/scoped_ptr.h" 5 #include "base/memory/scoped_ptr.h"
6 #include "base/run_loop.h" 6 #include "base/run_loop.h"
7 #include "base/version.h" 7 #include "base/version.h"
8 #include "chrome/browser/component_updater/component_updater_ping_manager.h" 8 #include "chrome/browser/component_updater/component_updater_ping_manager.h"
9 #include "chrome/browser/component_updater/crx_update_item.h" 9 #include "chrome/browser/component_updater/crx_update_item.h"
10 #include "chrome/browser/component_updater/test/component_updater_service_unitte st.h" 10 #include "chrome/browser/component_updater/test/component_updater_service_unitte st.h"
(...skipping 50 matching lines...) Expand 10 before | Expand all | Expand 10 after
61 } 61 }
62 62
63 // Test is flaky: http://crbug.com/349547 63 // Test is flaky: http://crbug.com/349547
64 TEST_F(ComponentUpdaterPingManagerTest, DISABLED_PingManagerTest) { 64 TEST_F(ComponentUpdaterPingManagerTest, DISABLED_PingManagerTest) {
65 scoped_ptr<InterceptorFactory> interceptor_factory(new InterceptorFactory); 65 scoped_ptr<InterceptorFactory> interceptor_factory(new InterceptorFactory);
66 URLRequestPostInterceptor* interceptor = 66 URLRequestPostInterceptor* interceptor =
67 interceptor_factory->CreateInterceptor(); 67 interceptor_factory->CreateInterceptor();
68 EXPECT_TRUE(interceptor); 68 EXPECT_TRUE(interceptor);
69 69
70 // Test eventresult="1" is sent for successful updates. 70 // Test eventresult="1" is sent for successful updates.
71 CrxUpdateItem item; 71 scoped_ptr<CrxUpdateItem> item(new CrxUpdateItem());
72 item.id = "abc"; 72 item->id = "abc";
73 item.status = CrxUpdateItem::kUpdated; 73 item->status = CrxUpdateItem::kUpdated;
74 item.previous_version = base::Version("1.0"); 74 item->previous_version = base::Version("1.0");
75 item.next_version = base::Version("2.0"); 75 item->next_version = base::Version("2.0");
76 76
77 ping_manager_->OnUpdateComplete(&item); 77 ping_manager_->OnUpdateComplete(item.get());
78 base::RunLoop().RunUntilIdle(); 78 base::RunLoop().RunUntilIdle();
79 79
80 EXPECT_EQ(1, interceptor->GetCount()) << interceptor->GetRequestsAsString(); 80 EXPECT_EQ(1, interceptor->GetCount()) << interceptor->GetRequestsAsString();
81 EXPECT_NE(string::npos, 81 EXPECT_NE(string::npos,
82 interceptor->GetRequests()[0].find( 82 interceptor->GetRequests()[0].find(
83 "<app appid=\"abc\" version=\"1.0\" nextversion=\"2.0\">" 83 "<app appid=\"abc\" version=\"1.0\" nextversion=\"2.0\">"
84 "<event eventtype=\"3\" eventresult=\"1\"/></app>")) 84 "<event eventtype=\"3\" eventresult=\"1\"/></app>"))
85 << interceptor->GetRequestsAsString(); 85 << interceptor->GetRequestsAsString();
86 interceptor->Reset(); 86 interceptor->Reset();
87 87
88 // Test eventresult="0" is sent for failed updates. 88 // Test eventresult="0" is sent for failed updates.
89 item = CrxUpdateItem(); 89 item.reset(new CrxUpdateItem());
90 item.id = "abc"; 90 item->id = "abc";
91 item.status = CrxUpdateItem::kNoUpdate; 91 item->status = CrxUpdateItem::kNoUpdate;
92 item.previous_version = base::Version("1.0"); 92 item->previous_version = base::Version("1.0");
93 item.next_version = base::Version("2.0"); 93 item->next_version = base::Version("2.0");
94 94
95 ping_manager_->OnUpdateComplete(&item); 95 ping_manager_->OnUpdateComplete(item.get());
96 base::RunLoop().RunUntilIdle(); 96 base::RunLoop().RunUntilIdle();
97 97
98 EXPECT_EQ(1, interceptor->GetCount()) << interceptor->GetRequestsAsString(); 98 EXPECT_EQ(1, interceptor->GetCount()) << interceptor->GetRequestsAsString();
99 EXPECT_NE(string::npos, 99 EXPECT_NE(string::npos,
100 interceptor->GetRequests()[0].find( 100 interceptor->GetRequests()[0].find(
101 "<app appid=\"abc\" version=\"1.0\" nextversion=\"2.0\">" 101 "<app appid=\"abc\" version=\"1.0\" nextversion=\"2.0\">"
102 "<event eventtype=\"3\" eventresult=\"0\"/></app>")) 102 "<event eventtype=\"3\" eventresult=\"0\"/></app>"))
103 << interceptor->GetRequestsAsString(); 103 << interceptor->GetRequestsAsString();
104 interceptor->Reset(); 104 interceptor->Reset();
105 105
106 // Test the error values and the fingerprints. 106 // Test the error values and the fingerprints.
107 item = CrxUpdateItem(); 107 item.reset(new CrxUpdateItem());
108 item.id = "abc"; 108 item->id = "abc";
109 item.status = CrxUpdateItem::kNoUpdate; 109 item->status = CrxUpdateItem::kNoUpdate;
110 item.previous_version = base::Version("1.0"); 110 item->previous_version = base::Version("1.0");
111 item.next_version = base::Version("2.0"); 111 item->next_version = base::Version("2.0");
112 item.previous_fp = "prev fp"; 112 item->previous_fp = "prev fp";
113 item.next_fp = "next fp"; 113 item->next_fp = "next fp";
114 item.error_category = 1; 114 item->error_category = 1;
115 item.error_code = 2; 115 item->error_code = 2;
116 item.extra_code1 = -1; 116 item->extra_code1 = -1;
117 item.diff_error_category = 10; 117 item->diff_error_category = 10;
118 item.diff_error_code = 20; 118 item->diff_error_code = 20;
119 item.diff_extra_code1 = -10; 119 item->diff_extra_code1 = -10;
120 item.diff_update_failed = true; 120 item->diff_update_failed = true;
121 item.crx_diffurls.push_back(GURL("http://host/path")); 121 item->crx_diffurls.push_back(GURL("http://host/path"));
122 122
123 ping_manager_->OnUpdateComplete(&item); 123 ping_manager_->OnUpdateComplete(item.get());
124 base::RunLoop().RunUntilIdle(); 124 base::RunLoop().RunUntilIdle();
125 125
126 EXPECT_EQ(1, interceptor->GetCount()) << interceptor->GetRequestsAsString(); 126 EXPECT_EQ(1, interceptor->GetCount()) << interceptor->GetRequestsAsString();
127 EXPECT_NE(string::npos, 127 EXPECT_NE(string::npos,
128 interceptor->GetRequests()[0].find( 128 interceptor->GetRequests()[0].find(
129 "<app appid=\"abc\" version=\"1.0\" nextversion=\"2.0\">" 129 "<app appid=\"abc\" version=\"1.0\" nextversion=\"2.0\">"
130 "<event eventtype=\"3\" eventresult=\"0\" errorcat=\"1\" " 130 "<event eventtype=\"3\" eventresult=\"0\" errorcat=\"1\" "
131 "errorcode=\"2\" extracode1=\"-1\" diffresult=\"0\" " 131 "errorcode=\"2\" extracode1=\"-1\" diffresult=\"0\" "
132 "differrorcat=\"10\" " 132 "differrorcat=\"10\" "
133 "differrorcode=\"20\" diffextracode1=\"-10\" " 133 "differrorcode=\"20\" diffextracode1=\"-10\" "
134 "previousfp=\"prev fp\" nextfp=\"next fp\"/></app>")) 134 "previousfp=\"prev fp\" nextfp=\"next fp\"/></app>"))
135 << interceptor->GetRequestsAsString(); 135 << interceptor->GetRequestsAsString();
136 interceptor->Reset(); 136 interceptor->Reset();
137 137
138 // Test the download metrics. 138 // Test the download metrics.
139 item = CrxUpdateItem(); 139 item.reset(new CrxUpdateItem());
140 item.id = "abc"; 140 item->id = "abc";
141 item.status = CrxUpdateItem::kUpdated; 141 item->status = CrxUpdateItem::kUpdated;
142 item.previous_version = base::Version("1.0"); 142 item->previous_version = base::Version("1.0");
143 item.next_version = base::Version("2.0"); 143 item->next_version = base::Version("2.0");
144 144
145 CrxDownloader::DownloadMetrics download_metrics; 145 CrxDownloader::DownloadMetrics download_metrics;
146 download_metrics.url = GURL("http://host1/path1"); 146 download_metrics.url = GURL("http://host1/path1");
147 download_metrics.downloader = CrxDownloader::DownloadMetrics::kUrlFetcher; 147 download_metrics.downloader = CrxDownloader::DownloadMetrics::kUrlFetcher;
148 download_metrics.error = -1; 148 download_metrics.error = -1;
149 download_metrics.downloaded_bytes = 123; 149 download_metrics.downloaded_bytes = 123;
150 download_metrics.total_bytes = 456; 150 download_metrics.total_bytes = 456;
151 download_metrics.download_time_ms = 987; 151 download_metrics.download_time_ms = 987;
152 item.download_metrics.push_back(download_metrics); 152 item->download_metrics.push_back(download_metrics);
153 153
154 download_metrics = CrxDownloader::DownloadMetrics(); 154 download_metrics = CrxDownloader::DownloadMetrics();
155 download_metrics.url = GURL("http://host2/path2"); 155 download_metrics.url = GURL("http://host2/path2");
156 download_metrics.downloader = CrxDownloader::DownloadMetrics::kBits; 156 download_metrics.downloader = CrxDownloader::DownloadMetrics::kBits;
157 download_metrics.error = 0; 157 download_metrics.error = 0;
158 download_metrics.downloaded_bytes = 1230; 158 download_metrics.downloaded_bytes = 1230;
159 download_metrics.total_bytes = 4560; 159 download_metrics.total_bytes = 4560;
160 download_metrics.download_time_ms = 9870; 160 download_metrics.download_time_ms = 9870;
161 item.download_metrics.push_back(download_metrics); 161 item->download_metrics.push_back(download_metrics);
162 162
163 ping_manager_->OnUpdateComplete(&item); 163 ping_manager_->OnUpdateComplete(item.get());
164 base::RunLoop().RunUntilIdle(); 164 base::RunLoop().RunUntilIdle();
165 165
166 EXPECT_EQ(1, interceptor->GetCount()) << interceptor->GetRequestsAsString(); 166 EXPECT_EQ(1, interceptor->GetCount()) << interceptor->GetRequestsAsString();
167 EXPECT_NE( 167 EXPECT_NE(
168 string::npos, 168 string::npos,
169 interceptor->GetRequests()[0].find( 169 interceptor->GetRequests()[0].find(
170 "<app appid=\"abc\" version=\"1.0\" nextversion=\"2.0\">" 170 "<app appid=\"abc\" version=\"1.0\" nextversion=\"2.0\">"
171 "<event eventtype=\"3\" eventresult=\"1\"/>" 171 "<event eventtype=\"3\" eventresult=\"1\"/>"
172 "<event eventtype=\"14\" eventresult=\"0\" downloader=\"direct\" " 172 "<event eventtype=\"14\" eventresult=\"0\" downloader=\"direct\" "
173 "errorcode=\"-1\" url=\"http://host1/path1\" downloaded=\"123\" " 173 "errorcode=\"-1\" url=\"http://host1/path1\" downloaded=\"123\" "
174 "total=\"456\" download_time_ms=\"987\"/>" 174 "total=\"456\" download_time_ms=\"987\"/>"
175 "<event eventtype=\"14\" eventresult=\"1\" downloader=\"bits\" " 175 "<event eventtype=\"14\" eventresult=\"1\" downloader=\"bits\" "
176 "url=\"http://host2/path2\" downloaded=\"1230\" total=\"4560\" " 176 "url=\"http://host2/path2\" downloaded=\"1230\" total=\"4560\" "
177 "download_time_ms=\"9870\"/></app>")) 177 "download_time_ms=\"9870\"/></app>"))
178 << interceptor->GetRequestsAsString(); 178 << interceptor->GetRequestsAsString();
179 interceptor->Reset(); 179 interceptor->Reset();
180 } 180 }
181 181
182 } // namespace component_updater 182 } // namespace component_updater
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698