示例#1
0
    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.')
示例#2
0
    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.')
示例#3
0
    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.')
示例#4
0
    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.')
示例#5
0
    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.')
示例#6
0
 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.')