def test_merge_default_01(): from swagger_py_codegen.jsonschema import merge_default schema = { 'type': 'object', 'properties': { 'id': { 'type': 'integer' }, 'name': { 'type': 'string' }, 'gender': { 'type': 'string', 'default': 'unknown' }, 'address': { 'type': 'object', 'properties': { 'city': { 'type': 'string', 'default': 'beijing' }, 'country': { 'type': 'string', 'default': 'china'} } }, 'age': { 'type': 'integer' }, 'roles': { 'type': 'array', 'items': { 'type': 'string', 'default': 'user', 'enum': ['user', 'admin'] } } } } default = { 'id': 123, 'name': 'bob', 'gender': 'male', 'address': { 'city': 'shenzhen' }, 'roles': ['admin', 'user'] } result = merge_default(schema, default) assert result['id'] == 123 assert result['name'] == 'bob' assert result['address'] == {'city': 'shenzhen', 'country': 'china'} assert result['roles'] == ['admin', 'user'] default = { 'id': 123, 'name': 'bob', 'gender': 'male', 'address': { 'city': 'shenzhen' } } result = merge_default(schema, default) assert 'roles' not in list(result.keys())
def test_merge_default_02(): from swagger_py_codegen.jsonschema import merge_default schema = { 'type': 'array', 'items': { 'type': 'object', 'properties': { 'id': { 'type': 'integer' }, 'name': { 'type': 'string', 'default': 'Tom' } } } } default = [{ 'id': 123, }, { 'name': 'Jerry' }] results = merge_default(schema, default) assert results[0]['name'] == 'Tom' assert results[1]['name'] == 'Jerry'
def test_merge_default_03(): from swagger_py_codegen.jsonschema import merge_default schema = { 'type': 'array', 'items': { 'type': 'object', 'properties': { 'city': { 'type': 'string', 'default': 'beijing' }, 'country': { 'type': 'string', 'default': 'china'} } } } result = merge_default(schema, [{}]) assert result[0]['city'] == 'beijing' assert result[0]['country'] == 'china'