class TestUser(BehanceTestCase): def test_search(self): users = self.api.user_search('alex') self.assertEqual(len(users), 12) for user in users: for key in USER_KEYS: self.assertTrue(user.has_key(key)) self.assertTrue(hasattr(user, key)) def test_user(self): user = self.api.get_user(USER_NAME) self.assertIsNotNone(user) for key in USER_KEYS: self.assertTrue(hasattr(user, key)) self.assertTrue(user.has_key(key)) def test_user_projects(self): user = self.api.get_user(USER_NAME) projects = user.get_projects() self.assertIsNotNone(projects) for project in projects: for key in PROJECT_KEYS: self.assertTrue(project.has_key(key)) self.assertTrue(hasattr(project, key)) def test_user_wips(self): user = self.api.get_user(USER_NAME) wips = user.get_wips() self.assertIsNotNone(wips) for wip in wips: for key in WIP_KEYS: self.assertTrue(wip.has_key(key)) self.assertTrue(hasattr(wip, key)) def test_user_appreciations(self): user = self.api.get_user(USER_NAME) appreciations = user.get_appreciations() self.assertIsNotNone(appreciations) for appreciation in appreciations: for key in ['project', 'timestamp']: self.assertTrue(appreciation.has_key(key)) self.assertTrue(hasattr(appreciation, key)) def test_user_collections(self): user = self.api.get_user(USER_NAME) collections = user.get_collections() self.assertIsNotNone(collections) for collection in collections: for key in COLLECTION_KEYS: self.assertTrue(collection.has_key(key)) self.assertTrue(hasattr(collection, key)) def test_user_stats(self): user = self.api.get_user(USER_NAME) stats = user.get_stats() self.assertIsNotNone(stats) self.assertTrue(stats.has_key('today')) self.assertTrue(stats.has_key('all_time')) self.assertTrue(hasattr(stats, 'today')) self.assertTrue(hasattr(stats, 'all_time')) def test_user_followers(self): user = self.api.get_user(USER_NAME) followers = user.get_followers() self.assertIsNotNone(followers) for follower in followers: self.assertTrue(follower.has_key('id')) self.assertTrue(follower.has_key('username')) self.assertTrue(hasattr(follower, 'id')) self.assertTrue(hasattr(follower, 'username')) def test_user_following(self): user = self.api.get_user(USER_NAME) following = user.get_following() self.assertIsNotNone(following) for follow in following: self.assertTrue(follow.has_key('id')) self.assertTrue(follow.has_key('username')) self.assertTrue(hasattr(follow, 'id')) self.assertTrue(hasattr(follow, 'username')) def test_user_work_experience(self): user = self.api.get_user(USER_NAME) work_experience = user.get_work_experience() WE_KEYS = ['position', 'organization', 'location'] for we in work_experience: for key in WE_KEYS: self.assertTrue(we.has_key(key)) self.assertTrue(hasattr(we, key)) def test_exception(self): with self.assertRaises(NotFound): user = self.api.get_user('asdf1234') with self.assertRaises(Forbidden): self.api = API('12345') users = self.api.user_search('apple')
class TestUser(BehanceTestCase): def test_search(self): users = self.api.user_search('alex') self.assertEqual(len(users), 12) for user in users: for key in USER_KEYS: self.assertTrue(user.has_key(key)) self.assertTrue(hasattr(user, key)) def test_user(self): user = self.api.get_user(USER_NAME) self.assertIsNotNone(user) for key in USER_KEYS: self.assertTrue(hasattr(user, key)) self.assertTrue(user.has_key(key)) def test_user_projects(self): user = self.api.get_user(USER_NAME) projects = user.get_projects() self.assertIsNotNone(projects) for project in projects: for key in PROJECT_KEYS: self.assertTrue(project.has_key(key)) self.assertTrue(hasattr(project, key)) def test_user_wips(self): user = self.api.get_user(USER_NAME) wips = user.get_wips() self.assertIsNotNone(wips) for wip in wips: for key in WIP_KEYS: self.assertTrue(wip.has_key(key)) self.assertTrue(hasattr(wip, key)) def test_user_appreciations(self): user = self.api.get_user(USER_NAME) appreciations = user.get_appreciations() self.assertIsNotNone(appreciations) for appreciation in appreciations: for key in ['project', 'timestamp']: self.assertTrue(appreciation.has_key(key)) self.assertTrue(hasattr(appreciation, key)) def test_user_collections(self): user = self.api.get_user(USER_NAME) collections = user.get_collections() self.assertIsNotNone(collections) for collection in collections: for key in COLLECTION_KEYS: self.assertTrue(collection.has_key(key)) self.assertTrue(hasattr(collection, key)) def test_user_stats(self): user = self.api.get_user(USER_NAME) stats = user.get_stats() self.assertIsNotNone(stats) self.assertTrue(stats.has_key('today')) self.assertTrue(stats.has_key('all_time')) self.assertTrue(hasattr(stats, 'today')) self.assertTrue(hasattr(stats, 'all_time')) def test_user_followers(self): user = self.api.get_user(USER_NAME) followers = user.get_followers() self.assertIsNotNone(followers) for follower in followers: self.assertTrue(follower.has_key('id')) self.assertTrue(follower.has_key('username')) self.assertTrue(hasattr(follower, 'id')) self.assertTrue(hasattr(follower, 'username')) def test_user_following(self): user = self.api.get_user(USER_NAME) following = user.get_following() self.assertIsNotNone(following) for follow in following: self.assertTrue(follow.has_key('id')) self.assertTrue(follow.has_key('username')) self.assertTrue(hasattr(follow, 'id')) self.assertTrue(hasattr(follow, 'username')) def test_user_feedback(self): user = self.api.get_user(USER_NAME) feedback = user.get_feedback() KEYS = ['id', 'username', 'url'] for fb in feedback: for key in KEYS: self.assertTrue(fb.has_key(key)) self.assertTrue(hasattr(fb, key)) def test_user_work_experience(self): user = self.api.get_user(USER_NAME) work_experience = user.get_work_experience() WE_KEYS = ['position', 'organization', 'location'] for we in work_experience: for key in WE_KEYS: self.assertTrue(we.has_key(key)) self.assertTrue(hasattr(we, key)) def test_exception(self): with self.assertRaises(NotFound): user = self.api.get_user('asdf1234') with self.assertRaises(Forbidden): self.api = API('12345') users = self.api.user_search('apple')