• Home
  • History
  • Annotate
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1#!/usr/bin/python
2# Copyright (c) 2014 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"""Unittests for deploy_server_local.py."""
7
8from __future__ import print_function
9
10import unittest
11
12import deploy_server as deploy_server
13
14
15class TestDeployServer(unittest.TestCase):
16    """Test deploy_server_local with commands mocked out."""
17
18    def test_parse_arguments(self):
19        """Test deploy_server_local.parse_arguments."""
20        # Only requires args.
21        results = deploy_server.parse_arguments(['--afe', 'foo'])
22        self.assertEqual(
23                {'afe': 'foo', 'servers': [], 'args': [],
24                 'cont': False, 'dryrun': False, 'verbose': False,
25                 'force_update': False, 'logfile': '/tmp/deployment.log',
26                 'update_push_servers': False},
27                vars(results))
28
29        # Dryrun, continue
30        results = deploy_server.parse_arguments(['--afe', 'foo',
31                                                 '--dryrun', '--continue'])
32        self.assertDictContainsSubset(
33                {'afe': 'foo', 'servers': [], 'args': [],
34                 'cont': True, 'dryrun': True, 'verbose': False,
35                 'force_update': False, 'logfile': '/tmp/deployment.log',
36                 'update_push_servers': False},
37                vars(results))
38
39        # List some servers
40        results = deploy_server.parse_arguments(['--afe', 'foo',
41                                                 'dummy', 'bar'])
42        self.assertDictContainsSubset(
43                {'afe': 'foo', 'servers': ['dummy', 'bar'], 'args': [],
44                 'cont': False, 'dryrun': False, 'verbose': False,
45                 'force_update': False, 'logfile': '/tmp/deployment.log',
46                 'update_push_servers': False},
47                vars(results))
48
49        # List some local args
50        results = deploy_server.parse_arguments(['--afe', 'foo',
51                                                     '--', 'dummy', 'bar'])
52        self.assertDictContainsSubset(
53                {'afe': 'foo', 'servers': [], 'args': ['dummy', 'bar'],
54                 'cont': False, 'dryrun': False, 'verbose': False,
55                 'force_update': False, 'logfile': '/tmp/deployment.log',
56                 'update_push_servers': False},
57                 vars(results))
58
59        # List everything.
60        results = deploy_server.parse_arguments(
61                ['--continue', '--afe', 'foo', '--dryrun', 'dummy', 'bar',
62                 '--', '--actions-only', '--dryrun', '--update_push_servers',
63                 '--force_update'])
64        self.assertDictContainsSubset(
65                {'afe': 'foo', 'servers': ['dummy', 'bar'],
66                 'args': ['--actions-only', '--dryrun',
67                          '--update_push_servers', '--force_update'],
68                 'cont': True, 'dryrun': True, 'verbose': False},
69                vars(results))
70
71
72if __name__ == '__main__':
73    unittest.main()
74