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)
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)
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)
def initialize(cli): """ The entry point for CloudSearch customizations. """ flattened = FlattenArguments('cloudsearch', FLATTEN_CONFIG) flattened.register(cli)
def initialize(cli): """ The entry point for CloudSearch customizations. """ flattened = FlattenArguments("cloudsearch", FLATTEN_CONFIG) flattened.register(cli)
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)
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)