Tudor Brindus | 3e03eba | 2018-07-18 11:27:13 -0700 | [diff] [blame] | 1 | # -*- coding: utf-8 -*- |
| 2 | # Copyright 2018 The Chromium OS Authors. All rights reserved. |
| 3 | # Use of this source code is governed by a BSD-style license that can be |
| 4 | # found in the LICENSE file. |
| 5 | |
| 6 | """Unit tests for cros_generate_update_payload.""" |
| 7 | |
| 8 | from __future__ import print_function |
| 9 | |
Mike Frysinger | 5ed3901 | 2020-02-27 03:26:45 -0500 | [diff] [blame] | 10 | import sys |
| 11 | |
Tudor Brindus | 3e03eba | 2018-07-18 11:27:13 -0700 | [diff] [blame] | 12 | from chromite.lib import cros_test_lib |
Amin Hassani | 6bc73a1 | 2018-11-29 21:07:12 -0800 | [diff] [blame] | 13 | from chromite.lib import partial_mock |
Amin Hassani | 6bc73a1 | 2018-11-29 21:07:12 -0800 | [diff] [blame] | 14 | from chromite.lib.paygen import paygen_payload_lib |
| 15 | |
Tudor Brindus | 3e03eba | 2018-07-18 11:27:13 -0700 | [diff] [blame] | 16 | from chromite.scripts import cros_generate_update_payload |
| 17 | |
Greg Edelston | a4c9b3b | 2020-01-07 17:51:13 -0700 | [diff] [blame] | 18 | pytestmark = cros_test_lib.pytestmark_inside_only |
| 19 | |
Amin Hassani | 6bc73a1 | 2018-11-29 21:07:12 -0800 | [diff] [blame] | 20 | |
Mike Frysinger | 5ed3901 | 2020-02-27 03:26:45 -0500 | [diff] [blame] | 21 | assert sys.version_info >= (3, 6), 'This module requires Python 3.6+' |
| 22 | |
| 23 | |
Amin Hassani | 6bc73a1 | 2018-11-29 21:07:12 -0800 | [diff] [blame] | 24 | class CrOSGenerateUpdatePayloadTest(cros_test_lib.MockTestCase): |
Tudor Brindus | 3e03eba | 2018-07-18 11:27:13 -0700 | [diff] [blame] | 25 | """Test correct arguments passed to delta_generator.""" |
Amin Hassani | 6bc73a1 | 2018-11-29 21:07:12 -0800 | [diff] [blame] | 26 | |
| 27 | def testGenerateUpdatePayload(self): |
Tudor Brindus | 3e03eba | 2018-07-18 11:27:13 -0700 | [diff] [blame] | 28 | """Test correct arguments propagated to delta_generator call.""" |
Tudor Brindus | 3e03eba | 2018-07-18 11:27:13 -0700 | [diff] [blame] | 29 | |
Amin Hassani | 6bc73a1 | 2018-11-29 21:07:12 -0800 | [diff] [blame] | 30 | paygen_mock = self.PatchObject(paygen_payload_lib, 'GenerateUpdatePayload') |
| 31 | |
Tudor Brindus | 3e03eba | 2018-07-18 11:27:13 -0700 | [diff] [blame] | 32 | cros_generate_update_payload.main([ |
Amin Hassani | f845b81 | 2020-03-17 14:57:00 -0700 | [diff] [blame^] | 33 | '--tgt-image', 'foo-tgt-image', |
| 34 | '--src-image', 'foo-src-image', |
Amin Hassani | 6bc73a1 | 2018-11-29 21:07:12 -0800 | [diff] [blame] | 35 | '--output', 'foo-output', |
| 36 | '--check', |
Amin Hassani | f845b81 | 2020-03-17 14:57:00 -0700 | [diff] [blame^] | 37 | '--private-key', 'foo-private-key', |
| 38 | '--work-dir', 'foo-work-dir', |
Tudor Brindus | 3e03eba | 2018-07-18 11:27:13 -0700 | [diff] [blame] | 39 | ]) |
| 40 | |
Amin Hassani | 6bc73a1 | 2018-11-29 21:07:12 -0800 | [diff] [blame] | 41 | paygen_mock.assert_called_once_with( |
Amin Hassani | f845b81 | 2020-03-17 14:57:00 -0700 | [diff] [blame^] | 42 | partial_mock.HasString('foo-tgt-image'), |
Amin Hassani | 6bc73a1 | 2018-11-29 21:07:12 -0800 | [diff] [blame] | 43 | partial_mock.HasString('foo-output'), |
| 44 | src_image=partial_mock.HasString('foo-src-image'), |
| 45 | work_dir=partial_mock.HasString('foo-work-dir'), |
| 46 | private_key=partial_mock.HasString('foo-private-key'), |
Amin Hassani | f845b81 | 2020-03-17 14:57:00 -0700 | [diff] [blame^] | 47 | check=True) |