xref: /aosp_15_r20/external/cronet/build/fuchsia/test/deploy_to_fuchsia_unittests.py (revision 6777b5387eb2ff775bb5750e3f5d96f37fb7352b)
1#!/usr/bin/env vpython3
2# Copyright 2022 The Chromium Authors
3# Use of this source code is governed by a BSD-style license that can be
4# found in the LICENSE file.
5"""File for testing deploy_to_fuchsia.py."""
6
7import os
8import unittest
9import unittest.mock as mock
10
11import deploy_to_fuchsia
12
13
14class DeployToFuchsiaTest(unittest.TestCase):
15    """Unittests for deploy_to_fuchsia.py."""
16
17    @mock.patch('deploy_to_fuchsia.read_package_paths', return_value=[])
18    @mock.patch('deploy_to_fuchsia.publish_packages')
19    @mock.patch('deploy_to_fuchsia.install_symbols')
20    def test_main(self, mock_install, mock_publish, mock_read) -> None:
21        """Tests |main|."""
22
23        test_package = 'test_package'
24        fuchsia_out_dir = 'out/fuchsia'
25        with mock.patch('sys.argv', [
26                'deploy_to_fuchsia.py', test_package, '-C', 'out/chromium',
27                '--fuchsia-out-dir', fuchsia_out_dir
28        ]):
29            deploy_to_fuchsia.main()
30            self.assertEqual(mock_read.call_args_list[0][0][1], test_package)
31            self.assertEqual(mock_publish.call_args_list[0][0][1],
32                             os.path.join(fuchsia_out_dir, 'amber-files'))
33            self.assertEqual(mock_install.call_args_list[0][0][1],
34                             fuchsia_out_dir)
35
36
37if __name__ == '__main__':
38    unittest.main()
39