def test_branches(self): data = { 'test' : 'test'} self.service.project(1).branches().get() self.expect('GET', '/projects/1/repository/branches') self.service.project(1).branches().create(data) self.expect('POST', '/projects/1/repository/branches', data) with port.assertRaises(MethodNotSupported): self.assertRaises(self.service.project(1).branches().update(data)) with port.assertRaises(MethodNotSupported): self.assertRaises(self.service.project(1).branches().delete()) self.service.project(1).branch("branchname").get() self.expect('GET', '/projects/1/repository/branches/branchname') self.service.project(1).branch("branchname").protect() self.expect('PUT', '/projects/1/repository/branches/branchname/protect') self.service.project(1).branch("branchname").unprotect() self.expect('PUT', '/projects/1/repository/branches/branchname/unprotect') self.service.project(1).branch("branchname").delete() self.expect('DELETE', '/projects/1/repository/branches/branchname') with port.assertRaises(MethodNotSupported): self.assertRaises(self.service.project(1).branch(2).update(data)) with port.assertRaises(MethodNotSupported): self.assertRaises(self.service.project(1).branch(2).create(data))
def test_companies(self): with port.assertRaises(MethodNotSupported): self.service.companies().update() self.service.companies().delete() self.service.companies().get() self.expect('GET', '/companies') self.service.companies().get(per_page=3) self.expect('GET', '/companies', {'per_page': 3}) self.service.companies().get(page=3) self.expect('GET', '/companies', {'page': 3}) company = {'company_id': 'foo', 'name': 'bar'} self.service.companies().create(company) self.expect('POST', '/companies', json.dumps(company)) with port.assertRaises(TypeError): self.service.company().create() self.service.company().update() self.service.company().delete() company_id = 'test-id' self.service.company(company_id).get() self.expect('GET', '/companies', {'company_id': company_id}) self.service.company(company_id).users() self.expect( 'GET', '/companies/{0}/users'.format(company_id))
def test_charges(self): with port.assertRaises(MethodNotSupported): self.service.charges().update() self.service.charges().delete() self.service.charges().get() self.expect('GET', '/charges', {}) self.service.charges().get(customer='123', limit=23) self.expect('GET', '/charges', {'limit': 23, 'customer': '123'}) self.service.charges().create({'key': 'value'}) self.expect('POST', '/charges', {'key': 'value'}) with port.assertRaises(MethodNotSupported): self.service.charge('123').create() self.service.charge('123').update() self.service.charge('123').delete() self.service.charge('123').get() self.expect('GET', '/charges/123', {}) self.service.charge('123').dispute({}) self.expect('POST', '/charges/123/dispute', {}) self.service.charge('123').refund() self.expect('POST', '/charges/123/refund', {}) self.service.charge('123').refund(amount=23) self.expect('POST', '/charges/123/refund', {'amount': 23})
def test_charges(self): with port.assertRaises(MethodNotSupported): self.service.charges().update() self.service.charges().delete() self.service.charges().get() self.expect('GET', '/charges', {}) self.service.charges().get(customer='123', limit=23) self.expect('GET', '/charges', {'limit': 23, 'customer': '123'}) self.service.charges().create({'key':'value'}) self.expect('POST', '/charges', {'key': 'value'}) with port.assertRaises(MethodNotSupported): self.service.charge('123').create() self.service.charge('123').update() self.service.charge('123').delete() self.service.charge('123').get() self.expect('GET', '/charges/123', {}) self.service.charge('123').dispute({}) self.expect('POST', '/charges/123/dispute', {}) self.service.charge('123').refund() self.expect('POST', '/charges/123/refund', {}) self.service.charge('123').refund(amount=23) self.expect('POST', '/charges/123/refund', {'amount': 23})
def test_sites(self): with port.assertRaises(MethodNotSupported): self.service.site('libsaas.net').get() self.service.site('libsaas.net').create() self.service.site('libsaas.net').update() self.service.site('libsaas.net').delete() with port.assertRaises(MethodNotSupported): self.service.site('libsaas.net').metric('rank').create() self.service.site('libsaas.net').metric('rank').update() self.service.site('libsaas.net').metric('rank').delete() self.service.site('libsaas.net').metric('rank').get() self.expect('GET', '/sites/libsaas.net/trended/rank/', {}) self.service.site('libsaas.net').metric('rank').get(latest=9) self.expect('GET', '/sites/libsaas.net/trended/rank/', {'latest': 9}) (self.service.site('libsaas.net').metric('rank').get( start_date='201209', end_date='201210')) self.expect('GET', '/sites/libsaas.net/trended/rank/', { 'start_date': '201209', 'end_date': '201210' }) (self.service.site('libsaas.net').metric('rank').get( start_date='20120901', end_date='20120915')) self.expect('GET', '/sites/libsaas.net/trended/rank/', { 'start_date': '20120901', 'end_date': '20120915' })
def test_users(self): with port.assertRaises(MethodNotSupported): self.service.users().delete() self.service.users().get() self.expect('GET', '/users', {}) self.service.users().get(per_page=3) self.expect('GET', '/users', {'per_page': 3}) self.service.users().get(page=3) self.expect('GET', '/users', {'page': 3}) user = {'user': '******'} self.service.users().create(user) self.expect('POST', '/users', json.dumps(user)) self.service.users().update(user) self.expect('PUT', '/users', json.dumps(user)) with port.assertRaises(TypeError): self.service.user().get() with port.assertRaises(MethodNotSupported): self.service.user().create() self.service.user().update() self.service.user().delete() self.service.user().get(user_id=1) self.expect('GET', '/users', {'user_id': 1}) self.service.user().get(email='*****@*****.**') self.expect('GET', '/users', {'email': '*****@*****.**'})
def test_system_hook(self): data = { 'test' : 'test'} self.service.hooks().get() self.expect('GET', '/hooks') self.service.hooks().create(data) self.expect('POST', '/hooks', data) with port.assertRaises(MethodNotSupported): self.assertRaises(self.service.hooks().update(data)) with port.assertRaises(MethodNotSupported): self.assertRaises(self.service.hooks().delete()) # get is basically a test self.service.hook(3).get() self.expect('GET', '/hooks/3') self.service.hook(3).test() self.expect('GET', '/hooks/3') self.service.hook(3).delete() self.expect('DELETE', '/hooks/3') with port.assertRaises(MethodNotSupported): self.assertRaises(self.service.hook(3).update(data)) with port.assertRaises(MethodNotSupported): self.assertRaises(self.service.hook(3).create(data))
def test_milestones(self): data = { 'test' : 'test'} self.service.project(1).milestones().get() self.expect('GET', '/projects/1/milestones') self.service.project(1).milestones().get(data) self.expect('GET', '/projects/1/milestones', data) self.service.project(2).milestones().create(data) self.expect('POST', '/projects/2/milestones', data) with port.assertRaises(MethodNotSupported): self.assertRaises(self.service.project(4).milestones().update(data)) with port.assertRaises(MethodNotSupported): self.assertRaises(self.service.project(4).milestones().delete()) self.service.project(1).milestone(4).get() self.expect('GET', '/projects/1/milestones/4') self.service.project(3).milestone(5).update(data) self.expect('PUT', '/projects/3/milestones/5', data) with port.assertRaises(MethodNotSupported): self.assertRaises(self.service.project(4).milestone(5).create(data)) with port.assertRaises(MethodNotSupported): self.assertRaises(self.service.project(4).milestone(5).delete()) self.service.project(3).milestone(5).issues() self.expect('GET', '/projects/3/milestones/5/issues')
def test_sites(self): with port.assertRaises(MethodNotSupported): self.service.site('libsaas.net').get() self.service.site('libsaas.net').create() self.service.site('libsaas.net').update() self.service.site('libsaas.net').delete() with port.assertRaises(MethodNotSupported): self.service.site('libsaas.net').metric('rank').create() self.service.site('libsaas.net').metric('rank').update() self.service.site('libsaas.net').metric('rank').delete() self.service.site('libsaas.net').metric('rank').get() self.expect('GET', '/sites/libsaas.net/trended/rank/', {}) self.service.site('libsaas.net').metric('rank').get(latest=9) self.expect('GET', '/sites/libsaas.net/trended/rank/', {'latest': 9}) (self.service.site('libsaas.net') .metric('rank').get(start_date='201209', end_date='201210')) self.expect('GET', '/sites/libsaas.net/trended/rank/', { 'start_date': '201209', 'end_date': '201210' }) (self.service.site('libsaas.net') .metric('rank').get(start_date='20120901', end_date='20120915')) self.expect('GET', '/sites/libsaas.net/trended/rank/', { 'start_date': '20120901', 'end_date': '20120915' })
def test_deploy_keys(self): self.service.deploy_keys().get() self.expect('GET', '/deploy_keys') self.service.project(1).deploy_keys().get() self.expect('GET', '/projects/1/deploy_keys') data = {'title': 'my create deploy key', 'key': 'ssh-rsa AAAA...'} self.service.project(1).deploy_keys().create(data) self.expect('POST', '/projects/1/deploy_keys', data) with port.assertRaises(MethodNotSupported): self.service.project(1).deploy_keys().update({}) with port.assertRaises(MethodNotSupported): self.service.project(1).deploy_keys().delete() self.service.project(1).deploy_key(1).get() self.expect('GET', '/projects/1/deploy_keys/1') self.service.project(1).deploy_key(1).delete() self.expect('DELETE', '/projects/1/deploy_keys/1') self.service.project(1).deploy_key(1).enable() self.expect('POST', '/projects/1/deploy_keys/1/enable') self.service.project(1).deploy_key(1).disable() self.expect('DELETE', '/projects/1/deploy_keys/1/disable') with port.assertRaises(MethodNotSupported): self.service.project(1).deploy_key(1).create({}) with port.assertRaises(MethodNotSupported): self.service.project(1).deploy_key(1).update({})
def test_snippets(self): data = { 'test' : 'test'} self.service.project(1).snippets().get() self.expect('GET', '/projects/1/snippets') self.service.project(2).snippets().create(data) self.expect('POST', '/projects/2/snippets', data) with port.assertRaises(MethodNotSupported): self.assertRaises(self.service.project(4).snippets().update(data)) with port.assertRaises(MethodNotSupported): self.assertRaises(self.service.project(4).snippets().delete()) self.service.project(1).snippet(3).get() self.expect('GET', '/projects/1/snippets/3') with port.assertRaises(MethodNotSupported): self.assertRaises(self.service.project(4).snippet(4).create(data)) self.service.project(3).snippet(3).update(data) self.expect('PUT', '/projects/3/snippets/3', data) self.service.project(3).snippet(3).delete() self.expect('DELETE', '/projects/3/snippets/3') self.service.project(3).snippet(3).raw() self.expect('GET', '/projects/3/snippets/3/raw')
def test_companies(self): with port.assertRaises(MethodNotSupported): self.service.companies().update() self.service.companies().delete() self.service.companies().get() self.expect('GET', '/companies') self.service.companies().get(per_page=3) self.expect('GET', '/companies', {'per_page': 3}) self.service.companies().get(page=3) self.expect('GET', '/companies', {'page': 3}) company = {'company_id': 'foo', 'name': 'bar'} self.service.companies().create(company) self.expect('POST', '/companies', json.dumps(company)) with port.assertRaises(TypeError): self.service.company().create() self.service.company().update() self.service.company().delete() company_id = 'test-id' self.service.company(company_id).get() self.expect('GET', '/companies', {'company_id': company_id}) self.service.company(company_id).users() self.expect('GET', '/companies/{0}/users'.format(company_id))
def test_merge_requests(self): self.service.project(1).merge_requests().get() self.expect('GET', '/projects/1/merge_requests') data = { 'state' : 'closed' } self.service.project(1).merge_requests().get(data) self.expect('GET', '/projects/1/merge_requests', data) self.service.project(1).merge_request(0).get() self.expect('GET', '/projects/1/merge_request/0') self.service.project(1).merge_request(4).changes() self.expect('GET', '/projects/1/merge_request/4/changes') data = {'source_branch': "my-first-feature", 'target_branch': "next", 'assignee_id': "masterofdesaster", 'title': "Nice title", 'description' : "Lets put some content", 'target_project_id': "forked project id"} self.service.project(1).merge_requests().create(data) self.expect('POST', '/projects/1/merge_requests', data) data = {'source_branch': "my-first-feature", 'target_branch': "next", 'assignee_id': "masterofdesaster", 'title': "Nice title", 'description' : "Lets put some content", 'state_event': "closed"} self.service.project(1).merge_request(2).update(data) self.expect('PUT', '/projects/1/merge_request/2', data) self.service.project(1).merge_request(2).accept() self.expect('PUT', '/projects/1/merge_request/2/merge') data = { 'merge_commit_message' : "really nice featur" } self.service.project(1).merge_request(2).accept(data) self.expect('PUT', '/projects/1/merge_request/2/merge', data) self.service.project(1).merge_request(2).notes().get() self.expect('GET', '/projects/1/merge_request/2/notes') self.service.project(1).merge_request(2).note(1).get() self.expect('GET', '/projects/1/merge_request/2/notes/1') self.service.project(1).merge_request(2).comments().get() self.expect('GET', '/projects/1/merge_request/2/comments') self.service.project(1).merge_request(2).comments().create({ 'note' : 'nice note'}) self.expect('POST', '/projects/1/merge_request/2/comments', { 'note' : 'nice note'}) with port.assertRaises(MethodNotSupported): self.assertRaises(self.service.project(1).merge_request(2).comments().update({ 'note' : 'a nicer note'})) with port.assertRaises(MethodNotSupported): self.assertRaises(self.service.project(1).merge_request(2).comments().delete())
def test_names(self): with port.assertRaises(TypeError): self.service.names().normalizer() self.service.names().normalizer('name') self.expect('GET', '/name/normalizer.json', {'q': 'name'}) self.service.names().normalizer('name', 'lowercase') self.expect('GET', '/name/normalizer.json', { 'q': 'name', 'casing': 'lowercase' }) with port.assertRaises(TypeError): self.service.names().deducer() self.service.names().deducer('email', 'username') self.service.names().deducer(email='email') self.expect('GET', '/name/deducer.json', {'email': 'email'}) with port.assertRaises(TypeError): self.service.names().similarity() self.service.names().similarity('q1', 'q2') self.expect('GET', '/name/similarity.json', {'q1': 'q1', 'q2': 'q2'}) self.service.names().similarity('q1', 'q2', 'titlecase') self.expect('GET', '/name/similarity.json', { 'q1': 'q1', 'q2': 'q2', 'casing': 'titlecase' }) with port.assertRaises(TypeError): self.service.names().stats() self.service.names().stats('name', 'givenName') self.service.names().stats('name') self.expect('GET', '/name/stats.json', {'name': 'name'}) self.service.names().stats(givenName='name') self.expect('GET', '/name/stats.json', {'givenName': 'name'}) self.service.names().stats(givenName='name', familyName='name') self.expect('GET', '/name/stats.json', { 'givenName': 'name', 'familyName': 'name', }) with port.assertRaises(TypeError): self.service.names().parser() self.service.names().parser('name') self.expect('GET', '/name/parser.json', {'q': 'name'}) self.service.names().parser('name', 'lowercase') self.expect('GET', '/name/parser.json', { 'q': 'name', 'casing': 'lowercase' })
def test_colors(self): with port.assertRaises(MethodNotSupported): self.service.colors().create() with port.assertRaises(MethodNotSupported): self.service.colors().update() with port.assertRaises(MethodNotSupported): self.service.colors().patch() with port.assertRaises(MethodNotSupported): self.service.colors().delete() self.service.colors().get() self.expect('GET', '/colors', {})
def test_users(self): with port.assertRaises(MethodNotSupported): self.service.user('1234').create() self.service.user('1234').update() self.service.user('1234').delete() self.service.user('1234').get() self.expect('GET', '/users/1234', {}) self.service.user('1234').recent_media().get() self.expect('GET', '/users/1234/media/recent', {}) self.service.user('1234').recent_media().get(count=1) self.expect('GET', '/users/1234/media/recent', {'count': 1}) self.service.user('1234').recent_media().get(count=1, min_id=1234) self.expect('GET', '/users/1234/media/recent', {'count': 1, 'min_id': 1234}) self.service.user('1234').follows().get() self.expect('GET', '/users/1234/follows', {}) self.service.user('1234').followed_by().get() self.expect('GET', '/users/1234/followed-by', {}) self.service.user('1234').relationship().get() self.expect('GET', '/users/1234/relationship', {}) self.service.user('1234').relationship().update('unfollow') self.expect('POST', '/users/1234/relationship', {'action': 'unfollow'}) with port.assertRaises(MethodNotSupported): self.service.authenticated_user().create() self.service.authenticated_user().update() self.service.authenticated_user().delete() self.service.authenticated_user().get() self.expect('GET', '/users/self', {}) self.service.authenticated_user().feed().get() self.expect('GET', '/users/self/feed', {}) self.service.authenticated_user().feed().get(count=1) self.expect('GET', '/users/self/feed', {'count': 1}) self.service.authenticated_user().feed().get(count=1, max_id=1234) self.expect('GET', '/users/self/feed', {'count': 1, 'max_id': 1234}) self.service.authenticated_user().liked_media().get() self.expect('GET', '/users/self/media/liked', {}) self.service.authenticated_user().liked_media().get(count=2) self.expect('GET', '/users/self/media/liked', {'count': 2}) self.service.authenticated_user().requested_by().get() self.expect('GET', '/users/self/requested-by', {}) with port.assertRaises(MethodNotSupported): self.service.users().create() self.service.users().update() self.service.users().delete() self.service.users().get('test') self.expect('GET', '/users/search', {'q': 'test'}) self.service.users().get('test', count=3) self.expect('GET', '/users/search', {'q': 'test', 'count': 3})
def test_session(self): data = { 'test' : 'test'} with port.assertRaises(MethodNotSupported): self.assertRaises(self.service.session().get()) with port.assertRaises(MethodNotSupported): self.assertRaises(self.service.session().update(data)) with port.assertRaises(MethodNotSupported): self.assertRaises(self.service.session().delete()) self.service.session().create(data) self.expect('POST', '/session', data)
def test_colors(self): with port.assertRaises(MethodNotSupported): self.service.colors().create() with port.assertRaises(MethodNotSupported): self.service.colors().update() with port.assertRaises(MethodNotSupported): self.service.colors().patch() with port.assertRaises(MethodNotSupported): self.service.colors().delete() self.service.colors().get() self.expect("GET", "/colors", {})
def test_todolists(self): self.service.todolists().get() self.expect('GET', '/todolists', {}) self.service.todolists().completed() self.expect('GET', '/todolists/completed', {}) with port.assertRaises(MethodNotSupported): self.service.todolists().create({}) with port.assertRaises(MethodNotSupported): self.service.todolists().create({})
def test_spreadsheets(self): self.service.spreadsheets().get() self.expect('GET', '/feeds/spreadsheets/private/full', {'alt': 'json'}) with port.assertRaises(MethodNotSupported): self.service.spreadsheet('key').get() self.service.spreadsheet('key').worksheets('v', 'p').get() self.expect('GET', '/feeds/worksheets/key/v/p', {'alt': 'json'}) self.service.spreadsheet('key').worksheet('id', 'v', 'p').get() self.expect('GET', '/feeds/worksheets/key/v/p/id', {'alt': 'json'}) self.service.spreadsheet('key').worksheet('id', 'v', 'p').rows().get() self.expect('GET', '/feeds/list/key/id/v/p', {'alt': 'json'}) (self.service.spreadsheet('key').worksheet('id', 'v', 'p') .rows().get(reverse=True)) self.expect('GET', '/feeds/list/key/id/v/p', {'alt': 'json', 'reverse': 'true'}) (self.service.spreadsheet('key').worksheet('id', 'v', 'p') .rows().get(sq='height>100')) self.expect('GET', '/feeds/list/key/id/v/p', {'alt': 'json', 'sq': 'height>100'}) with port.assertRaises(MethodNotSupported): (self.service.spreadsheet('key').worksheet('id', 'v', 'p') .row('row').get()) self.service.spreadsheet('key').worksheet('id', 'v', 'p').cells().get() self.expect('GET', '/feeds/cells/key/id/v/p', {'alt': 'json'}) (self.service.spreadsheet('key').worksheet('id', 'v', 'p') .cells().get(min_col=2, max_col=4)) self.expect('GET', '/feeds/cells/key/id/v/p', {'alt': 'json', 'min-col': 2, 'max-col': 4}) (self.service.spreadsheet('key').worksheet('id', 'v', 'p') .cells().get(min_row=2, max_row=4)) self.expect('GET', '/feeds/cells/key/id/v/p', {'alt': 'json', 'min-row': 2, 'max-row': 4}) (self.service.spreadsheet('key').worksheet('id', 'v', 'p') .cell('cell').get()) self.expect('GET', '/feeds/cells/key/id/v/p/cell', {'alt': 'json'})
def test_users(self): with port.assertRaises(MethodNotSupported): self.service.user("1234").create() self.service.user("1234").update() self.service.user("1234").delete() self.service.user("1234").get() self.expect("GET", "/users/1234", {}) self.service.user("1234").recent_media().get() self.expect("GET", "/users/1234/media/recent", {}) self.service.user("1234").recent_media().get(count=1) self.expect("GET", "/users/1234/media/recent", {"count": 1}) self.service.user("1234").recent_media().get(count=1, min_id=1234) self.expect("GET", "/users/1234/media/recent", {"count": 1, "min_id": 1234}) self.service.user("1234").follows().get() self.expect("GET", "/users/1234/follows", {}) self.service.user("1234").followed_by().get() self.expect("GET", "/users/1234/followed-by", {}) self.service.user("1234").relationship().get() self.expect("GET", "/users/1234/relationship", {}) self.service.user("1234").relationship().update("unfollow") self.expect("POST", "/users/1234/relationship", {"action": "unfollow"}) with port.assertRaises(MethodNotSupported): self.service.authenticated_user().create() self.service.authenticated_user().update() self.service.authenticated_user().delete() self.service.authenticated_user().get() self.expect("GET", "/users/self", {}) self.service.authenticated_user().feed().get() self.expect("GET", "/users/self/feed", {}) self.service.authenticated_user().feed().get(count=1) self.expect("GET", "/users/self/feed", {"count": 1}) self.service.authenticated_user().feed().get(count=1, max_id=1234) self.expect("GET", "/users/self/feed", {"count": 1, "max_id": 1234}) self.service.authenticated_user().liked_media().get() self.expect("GET", "/users/self/media/liked", {}) self.service.authenticated_user().liked_media().get(count=2) self.expect("GET", "/users/self/media/liked", {"count": 2}) self.service.authenticated_user().requested_by().get() self.expect("GET", "/users/self/requested-by", {}) with port.assertRaises(MethodNotSupported): self.service.users().create() self.service.users().update() self.service.users().delete() self.service.users().get("test") self.expect("GET", "/users/search", {"q": "test"}) self.service.users().get("test", count=3) self.expect("GET", "/users/search", {"q": "test", "count": 3})
def test_freebusy(self): with port.assertRaises(MethodNotSupported): self.service.freebusy().get() with port.assertRaises(MethodNotSupported): self.service.freebusy().create() with port.assertRaises(MethodNotSupported): self.service.freebusy().update() with port.assertRaises(MethodNotSupported): self.service.freebusy().patch() with port.assertRaises(MethodNotSupported): self.service.freebusy().delete() obj = {"foo": "bar"} self.service.freebusy().query(obj) self.expect("POST", "/freeBusy", json.dumps(obj))
def test_freebusy(self): with port.assertRaises(MethodNotSupported): self.service.freebusy().get() with port.assertRaises(MethodNotSupported): self.service.freebusy().create() with port.assertRaises(MethodNotSupported): self.service.freebusy().update() with port.assertRaises(MethodNotSupported): self.service.freebusy().patch() with port.assertRaises(MethodNotSupported): self.service.freebusy().delete() obj = {'foo': 'bar'} self.service.freebusy().query(obj) self.expect('POST', '/freeBusy', json.dumps(obj))
def test_customers(self): with port.assertRaises(MethodNotSupported): self.service.customers().update() self.service.customers().delete() self.service.customers().get() self.expect('GET', '/customers', {}) self.service.customers().get(limit=23, ending_before='foo_bar') self.expect('GET', '/customers', { 'limit': 23, 'ending_before': 'foo_bar' }) self.service.customers().create({'key': 'value'}) self.expect('POST', '/customers', {'key': 'value'}) with port.assertRaises(MethodNotSupported): self.service.customer('123').create() self.service.customer('123').subscription().create() self.service.customer('123').discount().get() self.service.customer('123').discount().create() self.service.customer('123').discount().update() self.service.customer('123').get() self.expect('GET', '/customers/123', {}) self.service.customer('123').update({'key': 'value'}) self.expect('POST', '/customers/123', {'key': 'value'}) self.service.customer('123').delete() self.expect('DELETE', '/customers/123', {}) self.service.customer('123').subscriptions().get() self.expect('GET', '/customers/123/subscriptions', {}) self.service.customer('123').subscription('ducks').get() self.expect('GET', '/customers/123/subscriptions/ducks', {}) self.service.customer('123').subscription('ducks').update( {'key': 'value'}) self.expect('POST', '/customers/123/subscriptions/ducks', {'key': 'value'}) self.service.customer('123').subscription('ducks').delete() self.expect('DELETE', '/customers/123/subscriptions/ducks', {}) self.service.customer('123').discount().delete() self.expect('DELETE', '/customers/123/discount', {})
def test_contacts(self): obj = {'name': 'Super cool contact'} paging = {'limit': 100, 'offset': 50} self.service.contacts().get(offset=50, limit=100) self.expect('GET', '/contacts', paging) self.service.contact(4).update(obj) self.expect('PUT', '/contacts/4', obj) self.service.contact(4).delete() self.expect('DELETE', '/contacts/4') self.service.contacts().create(obj) self.expect('POST', '/contacts', obj) pause = {'paused': True, 'contactids': '1,2'} self.service.contacts().update(pause) self.expect('PUT', '/contacts', pause) delcontacts = {'delcontactids': '1,2'} self.service.contacts().update(delcontacts) self.expect('PUT', '/contacts', delcontacts) with port.assertRaises(base.MethodNotSupported): self.service.contact(4).get()
def test_cells(self): # XXX this fails with lxml compiled against some libxml versions with: # ValueError: Invalid tag name u'gs:colCount' # so disable the test for now if hasattr(xml.etree, 'LXML_VERSION'): # unittest doesn't have skip on Python 2.6... return with port.assertRaises(MethodNotSupported): (self.service.spreadsheet('key').worksheet('id', 'v', 'p').cells() .create({})) (self.service.spreadsheet('key').worksheet('id', 'v', 'p') .cell('cell').delete('v1')) cell = { 'entry': { '@xmlns': 'http://www.w3.org/2005/Atom', '@xmlns:gs': 'http://schemas.google.com/spreadsheets/2006', 'gs:cell': { '@inputValue': '=SUM(A2:A3)', '@row': '5', '@col': '1' } } } (self.service.spreadsheet('key').worksheet('id', 'v', 'p').cell('R5C1') .update('v1', cell.copy())) self.expect('PUT', '/feeds/cells/key/id/v/p/R5C1/v1', params=xml.dict_to_xml(cell))
def test_tokens(self): with port.assertRaises(MethodNotSupported): self.service.tokens().get() self.service.tokens().update() self.service.tokens().delete() self.service.tokens().create({'key': 'value'}) self.expect('POST', '/tokens', {'key': 'value'}) with port.assertRaises(MethodNotSupported): self.service.token('123').create() self.service.token('123').update() self.service.token('123').delete() self.service.token('123').get() self.expect('GET', '/tokens/123', {})
def test_macros(self): obj = {'foo': 'bar'} paging = {'page': 1, 'count': 5} self.service.macros().get(count=5, page=1) self.expect('GET', '/macros.json', paging) self.service.macro(4).get() self.expect('GET', '/macros/4.json') self.service.macro(4).update(obj) self.expect('PUT', '/macros/4.json', obj) self.service.macros().create(obj) self.expect('POST', '/macros.json', obj) self.service.macro(4).delete() self.expect('DELETE', '/macros/4.json') self.service.macro(4).actions().get(count=5, page=1) self.expect('GET', '/macros/4/actions.json', paging) self.service.macro(4).action(1).get() self.expect('GET', '/macros/4/actions/1.json') self.service.macro(4).action(1).update(obj) self.expect('PUT', '/macros/4/actions/1.json', obj) with port.assertRaises(base.MethodNotSupported): self.service.macro(4).action(1).delete()
def test_tokens(self): with port.assertRaises(MethodNotSupported): self.service.tokens().get() self.service.tokens().update() self.service.tokens().delete() self.service.tokens().create({'key':'value'}) self.expect('POST', '/tokens', {'key': 'value'}) with port.assertRaises(MethodNotSupported): self.service.token('123').create() self.service.token('123').update() self.service.token('123').delete() self.service.token('123').get() self.expect('GET', '/tokens/123', {})
def test_customers(self): obj = {'email': '*****@*****.**'} paging = {'page': 1, 'count': 5} self.service.customers().get(count=5, page=1) self.expect('GET', '/customers.json', paging) self.service.customer(4).get() self.expect('GET', '/customers/4.json') self.service.customer(4).update(obj) self.expect('PUT', '/customers/4.json', obj) self.service.customers().create(obj) self.expect('POST', '/customers.json', obj) self.service.customer(4).emails().create(obj) self.expect('POST', '/customers/4/emails.json', obj) self.service.customer(4).email(1).update(obj) self.expect('PUT', '/customers/4/emails/1.json', obj) self.service.customer(4).phones().create(obj) self.expect('POST', '/customers/4/phones.json', obj) self.service.customer(4).phone(1).update(obj) self.expect('PUT', '/customers/4/phones/1.json', obj) with port.assertRaises(base.MethodNotSupported): self.service.customer(4).delete() self.service.customer(4).phone(1).delete() self.service.customer(4).phones().get() self.service.customer(4).phone(1).get()
def test_users(self): with port.assertRaises(MethodNotSupported): self.service.user(4).delete() self.service.user(4).update() paging = {'start': 100, 'limit': 50} u = {'name': 'Mr. Brown', 'email': '*****@*****.**'} self.service.users().get() self.expect('GET', '/users') self.service.users().create(u) self.expect('POST', '/users', u) self.service.users().find('brown') self.expect('GET', '/users/find', {'term': 'brown'}) self.service.user(1).get() self.expect('GET', '/users/1') self.service.user(1).followers() self.expect('GET', '/users/1/followers') self.service.user(1).activities(start=100, limit=50) self.expect('GET', '/users/1/activities', paging) self.service.user(1).updates(start=100, limit=50) self.expect('GET', '/users/1/updates', paging) self.service.user(1).merge(4) self.expect('POST', '/users/1/merge', {'merge_with_id': 4})
def test_customers(self): with port.assertRaises(MethodNotSupported): self.service.customers().update() self.service.customers().delete() self.service.customers().get() self.expect('GET', '/customers', {}) self.service.customers().get(limit=23, ending_before='foo_bar') self.expect('GET', '/customers', {'limit': 23, 'ending_before': 'foo_bar'}) self.service.customers().create({'key':'value'}) self.expect('POST', '/customers', {'key': 'value'}) with port.assertRaises(MethodNotSupported): self.service.customer('123').create() self.service.customer('123').subscription().create() self.service.customer('123').discount().get() self.service.customer('123').discount().create() self.service.customer('123').discount().update() self.service.customer('123').get() self.expect('GET', '/customers/123', {}) self.service.customer('123').update({'key':'value'}) self.expect('POST', '/customers/123', {'key': 'value'}) self.service.customer('123').delete() self.expect('DELETE', '/customers/123', {}) self.service.customer('123').subscriptions().get() self.expect('GET', '/customers/123/subscriptions', {}) self.service.customer('123').subscription('ducks').get() self.expect('GET', '/customers/123/subscriptions/ducks', {}) self.service.customer('123').subscription('ducks').update( {'key': 'value'}) self.expect('POST', '/customers/123/subscriptions/ducks', {'key': 'value'}) self.service.customer('123').subscription('ducks').delete() self.expect('DELETE', '/customers/123/subscriptions/ducks', {}) self.service.customer('123').discount().delete() self.expect('DELETE', '/customers/123/discount', {})
def test_credits(self): self.service.credits().get() self.expect('GET', '/credits') with port.assertRaises(base.MethodNotSupported): self.service.credits().create() self.service.credits().update() self.service.credits().delete()
def test_account(self): with port.assertRaises(MethodNotSupported): self.service.account().create() self.service.account().update() self.service.account().delete() self.service.account().get() self.expect('GET', '/account', {})
def test_servertime(self): self.service.servertime().get() self.expect('GET', '/servertime') with port.assertRaises(base.MethodNotSupported): self.service.servertime().create() self.service.servertime().update() self.service.servertime().delete()
def test_events(self): self.service.events().get(since='2013-01-01') self.expect('GET', '/events', {'since': '2013-01-01'}) self.service.events().get(since='2013-01-01', page=3) self.expect('GET', '/events', {'since': '2013-01-01', 'page': 3}) with port.assertRaises(MethodNotSupported): self.service.events().create({})
def test_counts(self): with port.assertRaises(MethodNotSupported): self.service.counts().update() self.service.counts().delete() self.service.counts().get(type='company', count='user') self.expect('GET', '/counts', {'type': 'company', 'count': 'user'}) self.service.counts().get()
def test_customers(self): with port.assertRaises(MethodNotSupported): self.service.customers().update() self.service.customers().delete() self.service.customers().get() self.expect('GET', '/customers', {}) self.service.customers().get(count=23, offset=1) self.expect('GET', '/customers', {'count': 23, 'offset': 1}) self.service.customers().create({'key':'value'}) self.expect('POST', '/customers', {'key': 'value'}) with port.assertRaises(MethodNotSupported): self.service.customer('123').create() self.service.customer('123').subscription().create() self.service.customer('123').discount().get() self.service.customer('123').discount().create() self.service.customer('123').discount().update() self.service.customer('123').get() self.expect('GET', '/customers/123', {}) self.service.customer('123').update({'key':'value'}) self.expect('POST', '/customers/123', {'key': 'value'}) self.service.customer('123').delete() self.expect('DELETE', '/customers/123', {}) self.service.customer('123').subscriptions().get() self.expect('GET', '/customers/123/subscriptions', {}) self.service.customer('123').subscription('ducks').get() self.expect('GET', '/customers/123/subscriptions/ducks', {}) self.service.customer('123').subscription('ducks').update( {'key': 'value'}) self.expect('POST', '/customers/123/subscriptions/ducks', {'key': 'value'}) self.service.customer('123').subscription('ducks').delete() self.expect('DELETE', '/customers/123/subscriptions/ducks', {}) self.service.customer('123').discount().delete() self.expect('DELETE', '/customers/123/discount', {})
def test_customers(self): with port.assertRaises(MethodNotSupported): self.service.customers().update() self.service.customers().delete() self.service.customers().get() self.expect('GET', '/customers', {}) self.service.customers().get(count=23, offset=1) self.expect('GET', '/customers', {'count': 23, 'offset': 1}) self.service.customers().create({'key': 'value'}) self.expect('POST', '/customers', {'key': 'value'}) with port.assertRaises(MethodNotSupported): self.service.customer('123').create() self.service.customer('123').subscription().create() self.service.customer('123').discount().get() self.service.customer('123').discount().create() self.service.customer('123').discount().update() self.service.customer('123').get() self.expect('GET', '/customers/123', {}) self.service.customer('123').update({'key': 'value'}) self.expect('POST', '/customers/123', {'key': 'value'}) self.service.customer('123').delete() self.expect('DELETE', '/customers/123', {}) self.service.customer('123').subscriptions().get() self.expect('GET', '/customers/123/subscriptions', {}) self.service.customer('123').subscription('ducks').get() self.expect('GET', '/customers/123/subscriptions/ducks', {}) self.service.customer('123').subscription('ducks').update( {'key': 'value'}) self.expect('POST', '/customers/123/subscriptions/ducks', {'key': 'value'}) self.service.customer('123').subscription('ducks').delete() self.expect('DELETE', '/customers/123/subscriptions/ducks', {}) self.service.customer('123').discount().delete() self.expect('DELETE', '/customers/123/discount', {})
def test_issues(self): self.service.issues().get() self.expect('GET', '/issues') self.service.issues().get({'state':"closed", 'labels':'feature,bug'}) self.expect('GET', '/issues') self.service.project(1).issue(2).get() self.expect('GET', '/projects/1/issues/2') self.service.project(1).issue(2).update({'title':"test title", 'labels':'feature,bug'}) self.expect('PUT', '/projects/1/issues/2') self.service.project(1).issues().get({'title':"test title", 'labels':'feature,bug'}) self.expect('GET', '/projects/1/issues') self.service.project(1).issues().create({'title':"test title", 'labels':'feature,bug'}) self.expect('POST', '/projects/1/issues') with port.assertRaises(MethodNotSupported): self.assertRaises(self.service.issues().update({ 'note' : 'a nicer note'})) with port.assertRaises(MethodNotSupported): self.assertRaises(self.service.issues().create({ 'note' : 'a nicer note'})) with port.assertRaises(MethodNotSupported): self.assertRaises(self.service.issues().delete()) with port.assertRaises(MethodNotSupported): self.assertRaises(self.service.project(1).issue(1).create({'test':'test'})) with port.assertRaises(MethodNotSupported): self.assertRaises(self.service.project(1).issue(1).delete()) with port.assertRaises(MethodNotSupported): self.assertRaises(self.service.project(1).issues().update({'test':'test'})) with port.assertRaises(MethodNotSupported): self.assertRaises(self.service.project(1).issues().delete())
def test_calendars(self): self.service.calendars().get() self.expect('GET', '/calendars', {}) self.service.calendar('1234').get() self.expect('GET', '/calendars/1234', {}) obj = {'foo': 'bar'} self.service.calendars().create(obj) self.expect('POST', '/calendars', json.dumps(obj)) self.service.calendar('1234').accesses().get() self.expect('GET', '/calendars/1234/accesses', {}) with port.assertRaises(MethodNotSupported): self.service.calendar(1234).accesses().create({}) with port.assertRaises(MethodNotSupported): self.service.calendar(1234).access(1234).update({}) with port.assertRaises(MethodNotSupported): self.service.calendar(1234).access(1234).delete({}) self.service.calendar(1234).accesses().grant(obj) self.expect('POST', '/calendars/1234/accesses', json.dumps(obj)) self.service.calendar(1234).access(1234).revoke() self.expect('DELETE', '/calendars/1234/accesses/1234', {}) self.service.calendar('1234').calendar_events().get() self.expect('GET', '/calendars/1234/calendar_events', {}) self.service.calendar(1234).calendar_events().create(obj) self.expect('POST', '/calendars/1234/calendar_events', json.dumps(obj)) self.service.calendar('1234').calendar_events().past() self.expect('GET', '/calendars/1234/calendar_events/past', {}) self.service.calendar('1234').calendar_event(1234).get() self.expect('GET', '/calendars/1234/calendar_events/1234', {}) self.service.calendar('1234').calendar_event(1234).update(obj) self.expect('PUT', '/calendars/1234/calendar_events/1234', json.dumps(obj)) self.service.calendar('1234').calendar_event(1234).delete() self.expect('DELETE', '/calendars/1234/calendar_events/1234', {})
def test_impressions(self): with port.assertRaises(MethodNotSupported): self.service.impressions().get() self.service.impressions().update() self.service.impressions().delete() impression = {'impression': 'x'} self.service.impressions().create(impression) self.expect('POST', '/users/impressions', json.dumps(impression))
def test_events(self): with port.assertRaises(MethodNotSupported): self.service.events().create() self.service.events().update() self.service.events().delete() self.service.events().get() self.expect('GET', '/events', {}) self.service.events().get(type='type') self.expect('GET', '/events', {'type': 'type'}) with port.assertRaises(MethodNotSupported): self.service.event('123').create() self.service.event('123').update() self.service.event('123').delete() self.service.event('123').get() self.expect('GET', '/events/123', {})
def test_videos(self): with port.assertRaises(MethodNotSupported): self.service.videos().create() self.service.videos().update() self.service.videos().delete() kwargs = {'part': 'snippet', 'id': 'videoid'} self.service.videos().get(**kwargs) self.expect('videos', get_params(None, kwargs))
def test_traceroute(self): p = {'host': 'ducksboard.com', 'probeid': 17} self.service.traceroute().get(**p) self.expect('GET', '/traceroute', p) with port.assertRaises(base.MethodNotSupported): self.service.traceroute().create() self.service.traceroute().update() self.service.traceroute().delete()