예제 #1
0
 def _setup_security_group_rule(self, attrs=None):
     self._security_group_rule = \
         compute_fakes.FakeSecurityGroupRule.create_one_security_group_rule(
             attrs)
     expected_columns, expected_data = \
         security_group_rule._format_security_group_rule_show(
             self._security_group_rule)
     return expected_columns, expected_data
 def _setup_security_group_rule(self, attrs=None):
     self._security_group_rule = \
         compute_fakes.FakeSecurityGroupRule.create_one_security_group_rule(
             attrs)
     self.compute.security_group_rules.create.return_value = \
         self._security_group_rule
     expected_columns, expected_data = \
         security_group_rule._format_security_group_rule_show(
             self._security_group_rule._info)
     return expected_columns, expected_data
class TestShowSecurityGroupRuleCompute(TestSecurityGroupRuleCompute):

    # The security group rule to be shown.
    _security_group_rule = \
        compute_fakes.FakeSecurityGroupRule.create_one_security_group_rule()

    columns, data = \
        security_group_rule._format_security_group_rule_show(
            _security_group_rule._info)

    def setUp(self):
        super(TestShowSecurityGroupRuleCompute, self).setUp()

        self.app.client_manager.network_endpoint_enabled = False

        # Build a security group fake customized for this test.
        security_group_rules = [self._security_group_rule._info]
        security_group = fakes.FakeResource(info=copy.deepcopy(
            {'rules': security_group_rules}),
                                            loaded=True)
        security_group.rules = security_group_rules
        self.compute.security_groups.list.return_value = [security_group]

        # Get the command object to test
        self.cmd = security_group_rule.ShowSecurityGroupRule(self.app, None)

    def test_show_no_options(self):
        self.assertRaises(tests_utils.ParserException, self.check_parser,
                          self.cmd, [], [])

    def test_show_all_options(self):
        arglist = [
            self._security_group_rule.id,
        ]
        verifylist = [
            ('rule', self._security_group_rule.id),
        ]
        parsed_args = self.check_parser(self.cmd, arglist, verifylist)

        columns, data = self.cmd.take_action(parsed_args)

        self.compute.security_groups.list.assert_called_once_with()
        self.assertEqual(self.columns, columns)
        self.assertEqual(self.data, data)