def test_struct_list_scalars(self): schema = { "type": "object", "properties": { "Consistent": { "type": "boolean", }, "Args": { "type": "array", "items": { "type": "string" } } } } argument = CustomArgument('test', schema=schema) argument.create_argument_object() p = argument.argument_object returned = self.simplify(p, 'Consistent=true,Args=foo1,foo2') self.assertEqual(returned, { 'Consistent': True, 'Args': ['foo1', 'foo2'] })
def test_gen_structure_list_scalar_docs(self): schema = { "type": "object", "properties": { "Consistent": { "type": "boolean", }, "Args": { "type": "array", "items": { "type": "string" } } } } argument = CustomArgument('test', schema=schema) argument.create_argument_object() p = argument.argument_object help_command = OperationHelpCommand(self.session, p.operation, None, {p.cli_name: argument}, name='foo', event_class='bar') help_command.param_shorthand.add_example_fn(p.cli_name, help_command) doc_string = p.example_fn(p) self.assertIn('Key value pairs', doc_string) self.assertIn('Consistent=boolean1,Args=string1,string2', doc_string)
def test_gen_structure_list_scalar_docs(self): schema = { "type": "object", "properties": { "Consistent": { "type": "boolean", }, "Args": { "type": "array", "items": { "type": "string" } } } } argument = CustomArgument('test', schema=schema) argument.create_argument_object() p = argument.argument_object help_command = OperationHelpCommand( self.session, p.operation, None, {p.cli_name: argument}, name='foo', event_class='bar') help_command.param_shorthand.add_example_fn(p.cli_name, help_command) doc_string = p.example_fn(p) self.assertIn('Key value pairs', doc_string) self.assertIn('Consistent=boolean1,Args=string1,string2', doc_string)
def test_list_structure_list_scalar_3(self): arg = CustomArgument('foo', schema={ 'type': 'array', 'items': { 'type': 'object', 'properties': { 'Name': { 'type': 'string' }, 'Args': { 'type': 'array', 'items': { 'type': 'string' } } } } }) arg.create_argument_object() p = arg.argument_object expected = [ {"Name": "foo", "Args": ["a", "k1=v1", "b"]}, {"Name": "bar", "Args": ["baz"]} ] simplified = self.simplify(p, [ "Name=foo,Args=[a,k1=v1,b]", "Name=bar,Args=baz" ]) self.assertEqual(simplified, expected)
def test_list_structure_list_scalar_3(self): arg = CustomArgument('foo', schema={ 'type': 'array', 'items': { 'type': 'object', 'properties': { 'Name': { 'type': 'string' }, 'Args': { 'type': 'array', 'items': { 'type': 'string' } } } } }) arg.create_argument_object() p = arg.argument_object expected = [{ "Name": "foo", "Args": ["a", "k1=v1", "b"] }, { "Name": "bar", "Args": ["baz"] }] simplified = self.simplify( p, ["Name=foo,Args=[a,k1=v1,b]", "Name=bar,Args=baz"]) self.assertEqual(simplified, expected)
def arg_table(self): arg_table = OrderedDict() for arg_data in self.ARG_TABLE: custom_argument = CustomArgument(**arg_data) # If a custom schema was passed in, create the argument object # so that it can be validated and docs can be generated if 'schema' in arg_data: custom_argument.create_argument_object() arg_table[arg_data['name']] = custom_argument return arg_table
def test_struct_list_scalars(self): schema = { "type": "object", "properties": { "Consistent": { "type": "boolean", }, "Args": { "type": "array", "items": { "type": "string" } } } } argument = CustomArgument('test', schema=schema) argument.create_argument_object() p = argument.argument_object returned = self.simplify(p, 'Consistent=true,Args=foo1,foo2') self.assertEqual(returned, {'Consistent': True, 'Args': ['foo1', 'foo2']})
def assert_custom_shape_type(self, schema, expected_type): argument = CustomArgument('test', schema=schema) argument.create_argument_object() actual_structure = detect_shape_structure(argument.argument_object) self.assertEqual(actual_structure, expected_type)