class TestWIP(BehanceTestCase): def test_search(self): wips = self.api.wip_search('apple') self.assertEqual(len(wips), 12) for wip in wips: for key in WIP_KEYS: self.assertTrue(wip.has_key(key)) self.assertTrue(hasattr(wip, key)) def test_wip(self): wip = self.api.get_wip(WIP_ID) self.assertIsNotNone(wip) for key in WIP_KEYS: self.assertTrue(hasattr(wip, key)) self.assertTrue(wip.has_key(key)) def test_revision(self): wip = self.api.get_wip(WIP_ID) revision = wip.get_revision(WIP_REVISION_ID) for key in ['id', 'description', 'url']: self.assertTrue(revision.has_key(key)) self.assertTrue(hasattr(revision, key)) def test_comments(self): wip = self.api.get_wip(WIP_ID) comments = wip.get_revision_comments(WIP_REVISION_ID) for comment in comments: for key in ['user', 'comment', 'created_on']: self.assertTrue(comment.has_key(key)) self.assertTrue(hasattr(comment, key)) def test_exception(self): with self.assertRaises(NotFound): wip = self.api.get_wip('asdf1234') with self.assertRaises(Forbidden): self.api = API('12345') wips = self.api.wip_search('apple')