blob: 10f951fe89d4fb7b9f5d0c665c0ca75a686da83d [file] [log] [blame]
Tudor Brindus3e03eba2018-07-18 11:27:13 -07001# -*- 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
8from __future__ import print_function
9
Mike Frysinger5ed39012020-02-27 03:26:45 -050010import sys
11
Tudor Brindus3e03eba2018-07-18 11:27:13 -070012from chromite.lib import cros_test_lib
Amin Hassani6bc73a12018-11-29 21:07:12 -080013from chromite.lib import partial_mock
Amin Hassani6bc73a12018-11-29 21:07:12 -080014from chromite.lib.paygen import paygen_payload_lib
15
Tudor Brindus3e03eba2018-07-18 11:27:13 -070016from chromite.scripts import cros_generate_update_payload
17
Greg Edelstona4c9b3b2020-01-07 17:51:13 -070018pytestmark = cros_test_lib.pytestmark_inside_only
19
Amin Hassani6bc73a12018-11-29 21:07:12 -080020
Mike Frysinger5ed39012020-02-27 03:26:45 -050021assert sys.version_info >= (3, 6), 'This module requires Python 3.6+'
22
23
Amin Hassani6bc73a12018-11-29 21:07:12 -080024class CrOSGenerateUpdatePayloadTest(cros_test_lib.MockTestCase):
Tudor Brindus3e03eba2018-07-18 11:27:13 -070025 """Test correct arguments passed to delta_generator."""
Amin Hassani6bc73a12018-11-29 21:07:12 -080026
27 def testGenerateUpdatePayload(self):
Tudor Brindus3e03eba2018-07-18 11:27:13 -070028 """Test correct arguments propagated to delta_generator call."""
Tudor Brindus3e03eba2018-07-18 11:27:13 -070029
Amin Hassani6bc73a12018-11-29 21:07:12 -080030 paygen_mock = self.PatchObject(paygen_payload_lib, 'GenerateUpdatePayload')
31
Tudor Brindus3e03eba2018-07-18 11:27:13 -070032 cros_generate_update_payload.main([
Amin Hassanif845b812020-03-17 14:57:00 -070033 '--tgt-image', 'foo-tgt-image',
34 '--src-image', 'foo-src-image',
Amin Hassani6bc73a12018-11-29 21:07:12 -080035 '--output', 'foo-output',
36 '--check',
Amin Hassanif845b812020-03-17 14:57:00 -070037 '--private-key', 'foo-private-key',
38 '--work-dir', 'foo-work-dir',
Tudor Brindus3e03eba2018-07-18 11:27:13 -070039 ])
40
Amin Hassani6bc73a12018-11-29 21:07:12 -080041 paygen_mock.assert_called_once_with(
Amin Hassanif845b812020-03-17 14:57:00 -070042 partial_mock.HasString('foo-tgt-image'),
Amin Hassani6bc73a12018-11-29 21:07:12 -080043 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 Hassanif845b812020-03-17 14:57:00 -070047 check=True)