Example #1
0
    def test_flatten_register(self):
        cli = mock.Mock()

        flatten = FlattenArguments("my-service", FLATTEN_CONFIG)
        flatten.register(cli)

        cli.register.assert_called_with("building-argument-table.my-service.command-name", flatten.flatten_args)
Example #2
0
    def test_flatten_register(self):
        cli = mock.Mock()

        flatten = FlattenArguments('my-service', FLATTEN_CONFIG)
        flatten.register(cli)

        cli.register.assert_called_with(\
            'building-argument-table.my-service.command-name',
            flatten.flatten_args)
Example #3
0
    def test_flatten_modify_args(self):
        # Mock operation, arguments, and members for a service
        operation = mock.Mock(spec=Operation)
        operation.cli_name = 'command-name'

        argument_model1 = mock.Mock()
        argument_model1.required_members = []

        member_foo = mock.Mock()
        member_foo.name = 'ArgumentFoo'
        member_foo.documentation = 'Original docs'
        member_foo.required_members = []

        member_bar = mock.Mock()
        member_bar.name = 'ArgumentBar'
        member_bar.documentation = 'More docs'
        member_bar.required_members = []

        argument_model1.members = {
            'ArgumentFoo': member_foo,
            'ArgumentBar': member_bar
        }

        argument_model2 = mock.Mock()
        argument_model2.required_members = []

        member_baz = mock.Mock()
        member_baz.name = 'ArgumentBaz'
        member_baz.documentation = ''
        member_baz.required_members = []

        member_some_value = mock.Mock()
        member_some_value.name = 'SomeValue'
        member_some_value.documenation = ''
        member_some_value.required_members = []

        member_baz.members = {'SomeValue': member_some_value}

        argument_model2.members = {'ArgumentBaz': member_baz}

        cli_argument1 = mock.Mock(spec=CLIArgument)
        cli_argument1.argument_model = argument_model1

        cli_argument2 = mock.Mock(spec=CLIArgument)
        cli_argument2.argument_model = argument_model2

        argument_table = {
            'original-argument': cli_argument1,
            'another-original-argument': cli_argument2
        }

        # Create the flattened argument table
        cli = mock.Mock()
        flatten = FlattenArguments('my-service', FLATTEN_CONFIG)
        flatten.flatten_args(operation, argument_table)

        # Make sure new arguments and any with keep=True are there
        self.assertIn('foo', argument_table)
        self.assertIn('bar', argument_table)
        self.assertNotIn('original-argument', argument_table)
        self.assertIn('baz', argument_table)
        self.assertIn('another-original-argument', argument_table)

        # Make sure the new arguments are the class we expect
        self.assertIsInstance(argument_table['foo'], FlattenedArgument)
        self.assertIsInstance(argument_table['bar'], FlattenedArgument)
        self.assertIsInstance(argument_table['baz'], FlattenedArgument)
        self.assertNotIsInstance(argument_table['another-original-argument'],
                                 FlattenedArgument)

        # Make sure original required trait can be overridden
        self.assertEqual(False, argument_table['foo'].required)
        self.assertEqual(True, argument_table['bar'].required)

        # Make sure docs can be overriden and get the defaults
        self.assertEqual('Original docs', argument_table['foo'].documentation)
        self.assertEqual('Some help text', argument_table['bar'].documentation)
Example #4
0
def initialize(cli):
    """
    The entry point for CloudSearch customizations.
    """
    flattened = FlattenArguments('cloudsearch', FLATTEN_CONFIG)
    flattened.register(cli)
Example #5
0
def initialize(cli):
    """
    The entry point for CloudSearch customizations.
    """
    flattened = FlattenArguments("cloudsearch", FLATTEN_CONFIG)
    flattened.register(cli)
Example #6
0
    def test_flatten_modify_args(self):
        # Mock operation, arguments, and members for a service
        operation = mock.Mock(spec=Operation)
        operation.cli_name = 'command-name'

        argument_object1 = mock.Mock(spec=Parameter)

        member_foo = mock.Mock()
        member_foo.name = 'ArgumentFoo'
        member_foo.documentation = 'Original docs'
        member_foo.required = False

        member_bar = mock.Mock()
        member_bar.name = 'ArgumentBar'
        member_bar.documentation = 'More docs'
        member_bar.required = False

        argument_object1.members = [member_foo, member_bar]

        argument_object2 = mock.Mock(spec=Parameter)

        member_baz = mock.Mock()
        member_baz.name = 'ArgumentBaz'
        member_baz.documentation = ''
        member_baz.required = False

        member_some_value = mock.Mock()
        member_some_value.name = 'SomeValue'
        member_some_value.documenation = ''
        member_some_value.require = False

        member_baz.members = [member_some_value]

        argument_object2.members = [member_baz]

        cli_argument1 = mock.Mock(spec=CLIArgument)
        cli_argument1.argument_object = argument_object1

        cli_argument2 = mock.Mock(spec=CLIArgument)
        cli_argument2.argument_object = argument_object2

        argument_table = {
            'original-argument': cli_argument1,
            'another-original-argument': cli_argument2
        }

        # Create the flattened argument table
        cli = mock.Mock()
        flatten = FlattenArguments('my-service', FLATTEN_CONFIG)
        flatten.flatten_args(operation, argument_table)

        # Make sure new arguments and any with keep=True are there
        self.assertIn('foo', argument_table)
        self.assertIn('bar', argument_table)
        self.assertNotIn('original-argument', argument_table)
        self.assertIn('baz', argument_table)
        self.assertIn('another-original-argument', argument_table)

        # Make sure the new arguments are the class we expect
        self.assertIsInstance(argument_table['foo'], FlattenedArgument)
        self.assertIsInstance(argument_table['bar'], FlattenedArgument)
        self.assertIsInstance(argument_table['baz'], FlattenedArgument)
        self.assertNotIsInstance(argument_table['another-original-argument'],
                                 FlattenedArgument)

        # Make sure original required trait can be overridden
        self.assertEqual(False, argument_table['foo'].required)
        self.assertEqual(True, argument_table['bar'].required)

        # Make sure docs can be overriden and get the defaults
        self.assertEqual('Original docs', argument_table['foo'].documentation)
        self.assertEqual('Some help text', argument_table['bar'].documentation)
Example #7
0
    def test_flatten_modify_args(self):
        # Mock operation, arguments, and members for a service
        operation = mock.Mock(spec=Operation)
        operation.cli_name = "command-name"

        argument_object1 = mock.Mock(spec=Parameter)

        member_foo = mock.Mock()
        member_foo.name = "ArgumentFoo"
        member_foo.documentation = "Original docs"
        member_foo.required = False

        member_bar = mock.Mock()
        member_bar.name = "ArgumentBar"
        member_bar.documentation = "More docs"
        member_bar.required = False

        argument_object1.members = [member_foo, member_bar]

        argument_object2 = mock.Mock(spec=Parameter)

        member_baz = mock.Mock()
        member_baz.name = "ArgumentBaz"
        member_baz.documentation = ""
        member_baz.required = False

        member_some_value = mock.Mock()
        member_some_value.name = "SomeValue"
        member_some_value.documenation = ""
        member_some_value.require = False

        member_baz.members = [member_some_value]

        argument_object2.members = [member_baz]

        cli_argument1 = mock.Mock(spec=CLIArgument)
        cli_argument1.argument_object = argument_object1

        cli_argument2 = mock.Mock(spec=CLIArgument)
        cli_argument2.argument_object = argument_object2

        argument_table = {"original-argument": cli_argument1, "another-original-argument": cli_argument2}

        # Create the flattened argument table
        cli = mock.Mock()
        flatten = FlattenArguments("my-service", FLATTEN_CONFIG)
        flatten.flatten_args(operation, argument_table)

        # Make sure new arguments and any with keep=True are there
        self.assertIn("foo", argument_table)
        self.assertIn("bar", argument_table)
        self.assertNotIn("original-argument", argument_table)
        self.assertIn("baz", argument_table)
        self.assertIn("another-original-argument", argument_table)

        # Make sure the new arguments are the class we expect
        self.assertIsInstance(argument_table["foo"], FlattenedArgument)
        self.assertIsInstance(argument_table["bar"], FlattenedArgument)
        self.assertIsInstance(argument_table["baz"], FlattenedArgument)
        self.assertNotIsInstance(argument_table["another-original-argument"], FlattenedArgument)

        # Make sure original required trait can be overridden
        self.assertEqual(False, argument_table["foo"].required)
        self.assertEqual(True, argument_table["bar"].required)

        # Make sure docs can be overriden and get the defaults
        self.assertEqual("Original docs", argument_table["foo"].documentation)
        self.assertEqual("Some help text", argument_table["bar"].documentation)