def test_document_media_type(self): spore_data = { 'name': 'API', 'methods': {}, } result = decode.parse_spore_description(spore_data, 'http://test/') assert result.media_type == 'application/sporeapi+json'
def test_document_url_precedence(self): spore_data = { 'name': 'API', 'base_url': 'http://other-test/', 'methods': {} } result = decode.parse_spore_description(spore_data, 'http://test/') assert result.url == 'http://test/'
def test_document_description(self): spore_data = { 'name': 'API', 'methods': {}, 'meta': { 'documentation': 'doc' } } result = decode.parse_spore_description(spore_data, 'http://test/') assert result.description == 'doc'
def test_document_simple_content(self): spore_data = { 'name': 'API', 'methods': { 'list_users': { 'path': '/users/', 'method': 'GET' }, 'create_users': { 'path': '/users/', 'method': 'POST' } }, } result = decode.parse_spore_description(spore_data, 'http://test/') assert 'users' in result.data assert 'list' in result.data['users'] assert 'create' in result.data['users']
def test_document_complex_content(self): spore_data = { 'name': 'API', 'methods': { 'list_users': { 'path': '/users/', 'method': 'GET' }, 'list_users_groups': { 'path': '/users/{pk}/groups/', 'method': 'GET', 'required_params': ['pk'] } }, } result = decode.parse_spore_description(spore_data, 'http://test/') assert 'list' in result.data['users'] assert 'groups' in result.data['users'] assert 'list' in result.data['users']['groups']
def test_document_url_from_signature(self): spore_data = {'name': 'API', 'methods': {}} result = decode.parse_spore_description(spore_data, 'http://test/') assert result.url == 'http://test/'
def test_document_title(self): spore_data = {'name': 'API', 'methods': {}} result = decode.parse_spore_description(spore_data, 'http://test/') assert result.title == 'API'
def test_returning_document(self): spore_data = {'name': 'API', 'methods': {}} result = decode.parse_spore_description(spore_data, 'http://test/') assert isinstance(result, Document)