Example #1
0
    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']
        })
Example #2
0
    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)
Example #3
0
    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)
Example #4
0
    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)
Example #5
0
    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)
Example #6
0
    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
Example #7
0
    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
Example #8
0
    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']})
Example #9
0
 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)
Example #10
0
 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)