def test_resource_schema_no_propper_method(self): with pytest.raises(ValueError) as ex: utils.resource_schema(Mock(methods=None)) assert str(ex.value) == 'No methods to setup database schema from' with pytest.raises(ValueError) as ex: utils.resource_schema(Mock(methods={'get': ''})) assert str(ex.value) == 'No methods to setup database schema from'
def test_resource_schema(self): body = Mock(schema={'foo': 'bar'}) method = Mock(body={'application/json': body}) resource = Mock(methods={'post': method}) assert utils.resource_schema(resource) == {'foo': 'bar'} resource = Mock(methods={'put': method}) assert utils.resource_schema(resource) == {'foo': 'bar'} resource = Mock(methods={'patch': method}) assert utils.resource_schema(resource) == {'foo': 'bar'}
def test_resource_schema_methods_order(self): body = Mock(schema={'foo': 'bar'}) method = Mock(body={'application/json': body}) body2 = Mock(schema={'foo2': 'bar2'}) method2 = Mock(body={'application/json': body2}) resource = Mock(methods={ 'post': method, 'patch': method2, }) assert utils.resource_schema(resource) == {'foo': 'bar'}
def test_resource_schema_success(self): resource = Mock(body=[ Mock(schema={'foo': 'bar'}, mime_type=utils.ContentTypes.JSON) ]) assert utils.resource_schema(resource) == {'foo': 'bar'}
def test_resource_schema_no_schemas(self): resource = Mock(body=[Mock(schema=None), Mock(schema='')]) assert utils.resource_schema(resource) is None
def test_resource_schema_no_body(self): resource = Mock(body=None) with pytest.raises(ValueError) as ex: utils.resource_schema(resource) expected = 'RAML resource has no body to setup database' assert expected in str(ex.value)
def test_resource_schema_invalid_content_type(self): body = Mock(schema={'foo': 'bar'}) method = Mock(body={'dsadadasdasdasdasd': body}) resource = Mock(methods={'post': method}) assert utils.resource_schema(resource) is None
def test_resource_schema_schema_none(self): body = Mock(schema=None) method = Mock(body={'application/json': body}) resource = Mock(methods={'post': method}) assert utils.resource_schema(resource) is None
def test_resource_schema_no_method_body(self): method = Mock(body=None) resource = Mock(methods={'post': method}) assert utils.resource_schema(resource) is None