1
from juju import control
2
from juju.control import setup_logging, admin, setup_parser
4
from juju.lib.mocker import ANY
5
from .common import ControlToolTest
8
class DummySubcommand(object):
11
def configure_subparser(subparsers):
12
subparser = subparsers.add_parser("dummy")
13
subparser.add_argument("--opt1", default=1)
22
class AdminCommandOptionTest(ControlToolTest):
24
def test_admin_subcommand_execution(self):
26
Setup an admin subcommand, and verify that's it invoked.
28
self.setup_cli_reactor()
31
self.patch(control, "ADMIN_SUBCOMMANDS", [DummySubcommand])
32
setup_logging_mock = self.mocker.mock(setup_logging)
33
setup_parser_mock = self.mocker.proxy(setup_parser)
35
self.patch(control, "setup_logging", setup_logging_mock)
36
self.patch(control, "setup_parser", setup_parser_mock)
38
command_mock = self.mocker.proxy(DummySubcommand.command)
39
self.patch(DummySubcommand, "command", command_mock)
44
description="juju cloud orchestration internal tools")
45
self.mocker.passthrough()
47
setup_logging_mock(ANY)
50
self.mocker.passthrough()