def test_simple(self):
        open_api_schema = OpenApiSchemaConverter.convert_schema(SimpleSchema(), {})

        self.assertEqual({
            'description': 'My simple schema.',
            'properties': {
                'field1': {
                    'default': 1,
                    'description': 'Doc of field1',
                    'exclusiveMaximum': False,
                    'exclusiveMinimum': False,
                    'maximum': 10,
                    'minimum': 1,
                    'type': 'integer'
                },
                'field2': {
                    'description': 'A string field.',
                    'maxLength': 100,
                    'minLength': 1,
                    'pattern': '\\w+',
                    'type': 'string'
                },
                'field3': {
                    'description': 'A UUID field.',
                    'format': 'uuid',
                    'type': 'string'
                }
            },
            'required': ['field1'],
            'type': 'object'
        }, open_api_schema)
    def test_nested(self):
        open_api_schema = OpenApiSchemaConverter.convert_schema(SchemaWithNested(), {})

        self.assertEqual({
            'description': 'I have a nested field',
            'properties': {
                'nested_field': {
                    'description': 'My simple schema.',
                    'properties': {
                        'field1': {
                            'default': 1,
                            'description': 'Doc '
                                           'of '
                                           'field1',
                            'exclusiveMaximum': False,
                            'exclusiveMinimum': False,
                            'maximum': 10,
                            'minimum': 1,
                            'type': 'integer'
                        },
                        'field2': {
                            'description': 'A '
                                           'string '
                                           'field.',
                            'maxLength': 100,
                            'minLength': 1,
                            'pattern': '\\w+',
                            'type': 'string'
                        },
                        'field3': {
                            'description': 'A '
                                           'UUID '
                                           'field.',
                            'format': 'uuid',
                            'type': 'string'
                        }
                    },
                    'required': ['field1'],
                    'type': 'object'
                }
            },
            'required': ['nested_field'],
            'type': 'object'
        }, open_api_schema)