OLD | NEW |
1 // Copyright (c) 2009 The Chromium OS Authors. All rights reserved. | 1 // Copyright (c) 2009 The Chromium OS 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> | 5 #include <string> |
6 #include <vector> | 6 #include <vector> |
| 7 |
7 #include <glib.h> | 8 #include <glib.h> |
8 #include <gmock/gmock.h> | 9 #include <gmock/gmock.h> |
9 #include <gtest/gtest.h> | 10 #include <gtest/gtest.h> |
| 11 |
10 #include "update_engine/action_pipe.h" | 12 #include "update_engine/action_pipe.h" |
11 #include "update_engine/download_action.h" | 13 #include "update_engine/download_action.h" |
12 #include "update_engine/mock_http_fetcher.h" | 14 #include "update_engine/mock_http_fetcher.h" |
13 #include "update_engine/omaha_hash_calculator.h" | 15 #include "update_engine/omaha_hash_calculator.h" |
| 16 #include "update_engine/prefs_mock.h" |
14 #include "update_engine/test_utils.h" | 17 #include "update_engine/test_utils.h" |
15 #include "update_engine/utils.h" | 18 #include "update_engine/utils.h" |
16 | 19 |
17 namespace chromeos_update_engine { | 20 namespace chromeos_update_engine { |
18 | 21 |
19 using std::string; | 22 using std::string; |
20 using std::vector; | 23 using std::vector; |
21 using testing::_; | 24 using testing::_; |
22 using testing::AtLeast; | 25 using testing::AtLeast; |
23 using testing::InSequence; | 26 using testing::InSequence; |
(...skipping 75 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
99 OmahaHashCalculator::OmahaHashOfData(data); | 102 OmahaHashCalculator::OmahaHashOfData(data); |
100 uint64_t size = data.size() + (size_test ? 1 : 0); | 103 uint64_t size = data.size() + (size_test ? 1 : 0); |
101 InstallPlan install_plan(true, | 104 InstallPlan install_plan(true, |
102 "", | 105 "", |
103 size, | 106 size, |
104 hash, | 107 hash, |
105 output_temp_file.GetPath(), | 108 output_temp_file.GetPath(), |
106 ""); | 109 ""); |
107 ObjectFeederAction<InstallPlan> feeder_action; | 110 ObjectFeederAction<InstallPlan> feeder_action; |
108 feeder_action.set_obj(install_plan); | 111 feeder_action.set_obj(install_plan); |
109 DownloadAction download_action(new MockHttpFetcher(&data[0], | 112 PrefsMock prefs; |
110 data.size())); | 113 DownloadAction download_action(&prefs, new MockHttpFetcher(&data[0], |
| 114 data.size())); |
111 download_action.SetTestFileWriter(&writer); | 115 download_action.SetTestFileWriter(&writer); |
112 BondActions(&feeder_action, &download_action); | 116 BondActions(&feeder_action, &download_action); |
113 DownloadActionDelegateMock download_delegate; | 117 DownloadActionDelegateMock download_delegate; |
114 if (use_download_delegate) { | 118 if (use_download_delegate) { |
115 InSequence s; | 119 InSequence s; |
116 download_action.set_delegate(&download_delegate); | 120 download_action.set_delegate(&download_delegate); |
117 EXPECT_CALL(download_delegate, SetDownloadStatus(true)).Times(1); | 121 EXPECT_CALL(download_delegate, SetDownloadStatus(true)).Times(1); |
118 EXPECT_CALL(download_delegate, BytesReceived(_, _)).Times(AtLeast(1)); | 122 EXPECT_CALL(download_delegate, BytesReceived(_, _)).Times(AtLeast(1)); |
119 EXPECT_CALL(download_delegate, SetDownloadStatus(false)).Times(1); | 123 EXPECT_CALL(download_delegate, SetDownloadStatus(false)).Times(1); |
120 } | 124 } |
(...skipping 97 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
218 memset(&data[0], 0, data.size()); | 222 memset(&data[0], 0, data.size()); |
219 | 223 |
220 ScopedTempFile temp_file; | 224 ScopedTempFile temp_file; |
221 { | 225 { |
222 DirectFileWriter writer; | 226 DirectFileWriter writer; |
223 | 227 |
224 // takes ownership of passed in HttpFetcher | 228 // takes ownership of passed in HttpFetcher |
225 ObjectFeederAction<InstallPlan> feeder_action; | 229 ObjectFeederAction<InstallPlan> feeder_action; |
226 InstallPlan install_plan(true, "", 0, "", temp_file.GetPath(), ""); | 230 InstallPlan install_plan(true, "", 0, "", temp_file.GetPath(), ""); |
227 feeder_action.set_obj(install_plan); | 231 feeder_action.set_obj(install_plan); |
228 DownloadAction download_action(new MockHttpFetcher(&data[0], data.size())); | 232 PrefsMock prefs; |
| 233 DownloadAction download_action(&prefs, |
| 234 new MockHttpFetcher(&data[0], data.size())); |
229 download_action.SetTestFileWriter(&writer); | 235 download_action.SetTestFileWriter(&writer); |
230 DownloadActionDelegateMock download_delegate; | 236 DownloadActionDelegateMock download_delegate; |
231 if (use_download_delegate) { | 237 if (use_download_delegate) { |
232 InSequence s; | 238 InSequence s; |
233 download_action.set_delegate(&download_delegate); | 239 download_action.set_delegate(&download_delegate); |
234 EXPECT_CALL(download_delegate, SetDownloadStatus(true)).Times(1); | 240 EXPECT_CALL(download_delegate, SetDownloadStatus(true)).Times(1); |
235 EXPECT_CALL(download_delegate, SetDownloadStatus(false)).Times(1); | 241 EXPECT_CALL(download_delegate, SetDownloadStatus(false)).Times(1); |
236 } | 242 } |
237 TerminateEarlyTestProcessorDelegate delegate; | 243 TerminateEarlyTestProcessorDelegate delegate; |
238 delegate.loop_ = loop; | 244 delegate.loop_ = loop; |
(...skipping 81 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
320 | 326 |
321 // takes ownership of passed in HttpFetcher | 327 // takes ownership of passed in HttpFetcher |
322 InstallPlan install_plan(true, | 328 InstallPlan install_plan(true, |
323 "", | 329 "", |
324 1, | 330 1, |
325 OmahaHashCalculator::OmahaHashOfString("x"), | 331 OmahaHashCalculator::OmahaHashOfString("x"), |
326 "/dev/null", | 332 "/dev/null", |
327 "/dev/null"); | 333 "/dev/null"); |
328 ObjectFeederAction<InstallPlan> feeder_action; | 334 ObjectFeederAction<InstallPlan> feeder_action; |
329 feeder_action.set_obj(install_plan); | 335 feeder_action.set_obj(install_plan); |
330 DownloadAction download_action(new MockHttpFetcher("x", 1)); | 336 PrefsMock prefs; |
| 337 DownloadAction download_action(&prefs, new MockHttpFetcher("x", 1)); |
331 download_action.SetTestFileWriter(&writer); | 338 download_action.SetTestFileWriter(&writer); |
332 | 339 |
333 DownloadActionTestAction test_action; | 340 DownloadActionTestAction test_action; |
334 test_action.expected_input_object_ = install_plan; | 341 test_action.expected_input_object_ = install_plan; |
335 BondActions(&feeder_action, &download_action); | 342 BondActions(&feeder_action, &download_action); |
336 BondActions(&download_action, &test_action); | 343 BondActions(&download_action, &test_action); |
337 | 344 |
338 ActionProcessor processor; | 345 ActionProcessor processor; |
339 PassObjectOutTestProcessorDelegate delegate; | 346 PassObjectOutTestProcessorDelegate delegate; |
340 delegate.loop_ = loop; | 347 delegate.loop_ = loop; |
(...skipping 12 matching lines...) Expand all Loading... |
353 TEST(DownloadActionTest, BadOutFileTest) { | 360 TEST(DownloadActionTest, BadOutFileTest) { |
354 GMainLoop *loop = g_main_loop_new(g_main_context_default(), FALSE); | 361 GMainLoop *loop = g_main_loop_new(g_main_context_default(), FALSE); |
355 | 362 |
356 const string path("/fake/path/that/cant/be/created/because/of/missing/dirs"); | 363 const string path("/fake/path/that/cant/be/created/because/of/missing/dirs"); |
357 DirectFileWriter writer; | 364 DirectFileWriter writer; |
358 | 365 |
359 // takes ownership of passed in HttpFetcher | 366 // takes ownership of passed in HttpFetcher |
360 InstallPlan install_plan(true, "", 0, "", path, ""); | 367 InstallPlan install_plan(true, "", 0, "", path, ""); |
361 ObjectFeederAction<InstallPlan> feeder_action; | 368 ObjectFeederAction<InstallPlan> feeder_action; |
362 feeder_action.set_obj(install_plan); | 369 feeder_action.set_obj(install_plan); |
363 DownloadAction download_action(new MockHttpFetcher("x", 1)); | 370 PrefsMock prefs; |
| 371 DownloadAction download_action(&prefs, new MockHttpFetcher("x", 1)); |
364 download_action.SetTestFileWriter(&writer); | 372 download_action.SetTestFileWriter(&writer); |
365 | 373 |
366 BondActions(&feeder_action, &download_action); | 374 BondActions(&feeder_action, &download_action); |
367 | 375 |
368 ActionProcessor processor; | 376 ActionProcessor processor; |
369 processor.EnqueueAction(&feeder_action); | 377 processor.EnqueueAction(&feeder_action); |
370 processor.EnqueueAction(&download_action); | 378 processor.EnqueueAction(&download_action); |
371 processor.StartProcessing(); | 379 processor.StartProcessing(); |
372 ASSERT_FALSE(processor.IsRunning()); | 380 ASSERT_FALSE(processor.IsRunning()); |
373 | 381 |
374 g_main_loop_unref(loop); | 382 g_main_loop_unref(loop); |
375 } | 383 } |
376 | 384 |
377 } // namespace chromeos_update_engine | 385 } // namespace chromeos_update_engine |
OLD | NEW |