コード例 #1
0
 def test_overrides_default_string_value(self, m):
     name = uuid.uuid4().hex
     default = uuid.uuid4().hex
     argv = ['--os-auth-plugin', name]
     klass = cli.register_argparse_arguments(self.p, argv, default=default)
     self.assertIs(utils.MockPlugin, klass)
     m.assert_called_once_with(name)
コード例 #2
0
    def test_basic_params_added(self, m):
        name = uuid.uuid4().hex
        argv = ['--os-auth-plugin', name]
        ret = cli.register_argparse_arguments(self.p, argv)
        self.assertIs(utils.MockPlugin, ret)

        for n in ('--os-a-int', '--os-a-bool', '--os-a-float'):
            self.assertIn(n, self.p.format_usage())

        m.assert_called_once_with(name)
コード例 #3
0
    def test_env_overrides_default_opt(self, m):
        name = uuid.uuid4().hex
        val = uuid.uuid4().hex
        self.env('OS_A_STR', val)

        klass = cli.register_argparse_arguments(self.p, [], default=name)
        opts = self.p.parse_args([])
        a = klass.load_from_argparse_arguments(opts)

        self.assertEqual(val, a['a_str'])
コード例 #4
0
 def test_overrides_default_type_value(self, m):
     # using this test plugin would fail if called because there
     # is no get_options() function
     class TestPlugin(object):
         pass
     name = uuid.uuid4().hex
     argv = ['--os-auth-plugin', name]
     klass = cli.register_argparse_arguments(self.p, argv,
                                             default=TestPlugin)
     self.assertIs(utils.MockPlugin, klass)
     m.assert_called_once_with(name)
コード例 #5
0
    def test_default_options(self, m):
        name = uuid.uuid4().hex
        argv = ['--os-auth-plugin', name,
                '--os-a-float', str(self.a_float)]

        klass = cli.register_argparse_arguments(self.p, argv)
        self.assertIs(utils.MockPlugin, klass)

        opts = self.p.parse_args(argv)
        self.assertEqual(name, opts.os_auth_plugin)

        a = cli.load_from_argparse_arguments(opts)

        self.assertEqual(self.a_float, a['a_float'])
        self.assertEqual(3, a['a_int'])
コード例 #6
0
    def test_param_loading(self, m):
        name = uuid.uuid4().hex
        argv = ['--os-auth-plugin', name,
                '--os-a-int', str(self.a_int),
                '--os-a-float', str(self.a_float),
                '--os-a-bool', str(self.a_bool)]

        klass = cli.register_argparse_arguments(self.p, argv)
        self.assertIs(utils.MockPlugin, klass)

        opts = self.p.parse_args(argv)
        self.assertEqual(name, opts.os_auth_plugin)

        a = cli.load_from_argparse_arguments(opts)
        self.assertTestVals(a)

        self.assertEqual(name, opts.os_auth_plugin)
        self.assertEqual(str(self.a_int), opts.os_a_int)
        self.assertEqual(str(self.a_float), opts.os_a_float)
        self.assertEqual(str(self.a_bool), opts.os_a_bool)
コード例 #7
0
 def test_load_with_nothing(self):
     cli.register_argparse_arguments(self.p, [])
     opts = self.p.parse_args([])
     self.assertIsNone(cli.load_from_argparse_arguments(opts))
コード例 #8
0
 def test_creating_with_no_args(self):
     ret = cli.register_argparse_arguments(self.p, [])
     self.assertIsNone(ret)
     self.assertIn('--os-auth-plugin', self.p.format_usage())
コード例 #9
0
 def test_with_default_type_value(self, m):
     klass = cli.register_argparse_arguments(self.p, [],
                                             default=utils.MockPlugin)
     self.assertIs(utils.MockPlugin, klass)
     self.assertEqual(0, m.call_count)
コード例 #10
0
 def test_with_default_string_value(self, m):
     name = uuid.uuid4().hex
     klass = cli.register_argparse_arguments(self.p, [], default=name)
     self.assertIs(utils.MockPlugin, klass)
     m.assert_called_once_with(name)