def get_one(session, cls, filter_value, alternative_check=None): if utils.is_uuid(filter_value): return session.query(cls).filter(cls.id == filter_value).one() elif alternative_check is not None: alt_col = getattr(cls, alternative_check) filter_value = filter_value.lower() return session.query(cls).filter(alt_col == filter_value).one() raise exc.InvalidInput()
def test_post_dataproviders(self): self.create_user("john") rv = self.client.post('/dataproviders', data=json.dumps( {'name': "test provider", 'owner_id': 'john'} ), follow_redirects=True) res = json.loads(rv.data) self.assertEqual(rv.status_code, 201) self.assertTrue(utils.is_uuid(res['id']))
def test_post_user_just_username(self): rv = self.client.post('/users', data=json.dumps( {'username': '******'} ), follow_redirects=True) res = json.loads(rv.data) self.assertTrue(res['username'] == 'test') self.assertTrue(res['first_name'] is None) self.assertTrue(res['last_name'] is None) self.assertTrue(res['id'] is not None) self.assertTrue(utils.is_uuid(res['id'])) self.assertEqual(rv.status_code, 201)
def test_post_question(self): rv = self.create_user('test_user') rv = self.client.post('/questions', data=json.dumps( {'name': 'test', 'description': 'derp', 'owner_id': 'test_user'} ), follow_redirects=True) res = json.loads(rv.data) self.assertTrue(res['name'] == 'test') self.assertTrue(res['id'] is not None) self.assertTrue(utils.is_uuid(res['id'])) self.assertEqual(rv.status_code, 201)
def test_create_event_under_owner_user(self): id = self.user1['id'] uri = '/users/%s/events' % id rv = self.client.post(uri, data=json.dumps({'name': 'test'}), follow_redirects=True, headers=self.headers1) res = json.loads(rv.data) self.assertEqual(rv.status_code, 201) self.assertTrue('owner' in res) self.assertTrue(res['owner']['username'] == self.user1['username']) self.assertTrue(res['name'] == 'test') self.assertTrue(res['id'] is not None) self.assertTrue(utils.is_uuid(res['id']))
def test_post_event_just_name(self): rv = self.create_user('test_user') rv = self.client.post('/events', data=json.dumps( {'name': 'test', 'owner_id': 'test_user'} ), follow_redirects=True) res = json.loads(rv.data) logger.debug(rv.data) self.assertTrue(res['name'] == 'test') self.assertTrue(res['id'] is not None) self.assertTrue(utils.is_uuid(res['id'])) self.assertEqual(rv.status_code, 201)
def test_create_event_under_user(self): rv = self.create_user('test_user') self.assertEqual(rv.status_code, 201) rv = self.client.post('/users/test_user/events', data=json.dumps( {'name': 'test'}), follow_redirects=True) res = json.loads(rv.data) self.assertEqual(rv.status_code, 201) self.assertTrue('owner' in res) self.assertTrue(res['owner']['username'] == 'test_user') self.assertTrue(res['name'] == 'test') self.assertTrue(res['id'] is not None) self.assertTrue(utils.is_uuid(res['id']))
def test_postget_question_under_user(self): rv = self.create_user("john") res = json.loads(rv.data) user_id = res['id'] uri = "/users/%s/questions" % user_id rv = self.client.post(uri, data=json.dumps( {'name': 'test'}), follow_redirects=True) res = json.loads(rv.data) logger.debug(rv.data) self.assertEqual(rv.status_code, 201) self.assertTrue(res['name'] == 'test') self.assertTrue(res['id'] is not None) self.assertTrue(utils.is_uuid(res['id'])) rv = self.client.get(uri) res = json.loads(rv.data) logger.debug(rv.data) self.assertTrue(len(res['objects']) == 1)
def test_uuid_check_invalid(self): assert not utils.is_uuid("asdf") assert not utils.is_uuid("") assert not utils.is_uuid(None)
def test_uuid_check_valid(self): uuids = set([utils.make_uuid() for i in range(100)]) for uuid in uuids: assert utils.is_uuid(uuid)