def test_category_put_method(self): ''' Add a category through the api and then update it. ''' slug = 'different' name_1 = 'Name' description_1 = 'Think.' name_2 = 'Different Name' description_2 = 'Think different.' params = { 'slug': slug, 'name': name_1, 'description': description_1, } response = generic_service_method_success_test(self, 'category', 'put', params=params) self.assertEqual(response['response']['type'], 'Category', 'Category put service method failed to create a new category.') self.assertEqual(response['response']['content']['name'], name_1, 'Category put failed to set the name.') self.assertEqual(response['response']['content']['description'], description_1, 'Category put failed to set the description.') params['name'] = name_2 params['description'] = description_2 params['key'] = encrypt(response['response']['content']['key']) response = generic_service_method_success_test(self, 'category', 'put', params=params) self.assertEqual(response['response']['type'], 'Category', 'Category put service method failed.') self.assertEqual(response['response']['content']['name'], name_2, 'Category put failed to change the name.') self.assertEqual(response['response']['content']['description'], description_2, 'Category put failed to change the description.')
def test_proposal_put_method(self): ''' Add a proposal through the api and then update it. ''' name_1 = 'Save the Everything!' pitch_1 = 'Save all the animals!' name_2 = 'Save everything!!' pitch_2 = 'Yeah, save all those things.' params = { 'name': name_1, 'pitch': pitch_1, 'category': ndb.Key('Category', 'everything').urlsafe(), 'creator': ndb.Key('User', 'fakie').urlsafe(), } response = generic_service_method_success_test(self, 'proposal', 'put', params=params) self.assertEqual(response['response']['type'], 'Proposal', 'Proposal put service method failed to create a new proposal.') self.assertEqual(response['response']['content']['name'], name_1, 'Proposal put failed to set the name.') self.assertEqual(response['response']['content']['pitch'], pitch_1, 'Proposal put failed to set the description.') params['name'] = name_2 params['pitch'] = pitch_2 params['key'] = encrypt(response['response']['content']['key']) response = generic_service_method_success_test(self, 'proposal', 'put', params=params) self.assertEqual(response['response']['type'], 'Proposal', 'Proposal put service method failed.') self.assertEqual(response['response']['content']['name'], name_2, 'Proposal put failed to change the name.') self.assertEqual(response['response']['content']['pitch'], pitch_2, 'Proposal put failed to change the description.')
def test_custom_url_delete_method(self): ''' Add a custom_url and then delete it through the api. ''' slug = 'test-slug' custom_url_key = db_loader.create_custom_url(slug=slug) params = { 'key': encrypt(custom_url_key.urlsafe()), } response = generic_service_method_success_test(self, 'url', 'delete', params=params) self.assertEqual(response['response']['type'], 'Echo', 'CustomUrl delete service method failed.') self.assertEqual(len(CustomURL.query().fetch(1)), 0, 'Failed to delete custom url.')
def test_category_delete_method(self): ''' Add a category and then delete it through the api. ''' slug = 'test-slug' category_key = db_loader.create_category(slug=slug) params = { 'key': encrypt(category_key.urlsafe()), } response = generic_service_method_success_test(self, 'category', 'delete', params=params) self.assertEqual(response['response']['type'], 'Echo', 'Category put service method failed.') self.assertEqual(len(Category.query().fetch(1)), 0, 'Failed to delete category.')
def test_custom_url_put_method(self): ''' Add a custom url through the api and then try again to get an error. ''' target = db_loader.create_project() params = { 'slug': 'test', 'target': encrypt(target.urlsafe()), } response = generic_service_method_success_test(self, 'url', 'put', params=params) self.assertEqual(response['response']['type'], 'CustomUrl', 'CustomUrl put service method failed to create a new custom_url.') self.assertEqual(target.get().customurl.urlsafe(), response['response']['content']['key'], 'Failed to set custom url on target during put.') response = generic_service_method_success_test(self, 'url', 'put', params=params, should_fail=True) self.assertEqual(response['response']['content']['state'], 'APPLICATION_ERROR', 'Allowed overwriting of a custom url.')
def test_proposal_get_method(self): ''' Add one private and one public proposal to the database then query. ''' proposal_key = db_loader.create_proposal() key = proposal_key.urlsafe() response = generic_service_method_success_test(self, 'proposal', 'get', params={'key':encrypt(key)}) self.assertEqual(response['response']['type'], 'Proposal', 'Proposal get service method failed.') self.assertEqual(response['response']['content']['key'], key, 'Proposal get method returned the wrong proposal.')