def test_should_set_requests_module(self, m): """ HTTP Client should set to requests property. """ import requests from qiita.client import Client dummy_response(m, 'data/rate_limit.json') client = Client(requests=requests) result = client.rate_limit() self.assertEqual(result.keys(), ['limit', 'remaining'])
def test_shortcut(self): """ qiita should import Client, Items, Tags, Users. """ from qiita import Client, Items, Tags, Users self.assertTrue(isinstance(Client(), Client)) self.assertTrue(isinstance(Items(), Items)) self.assertTrue(isinstance(Tags(), Tags)) self.assertTrue(isinstance(Users(), Users))
class TestException(TestCase): def setUp(self): from qiita.client import Client self.client = Client() @patch('qiita.client.requests.get') def test_should_raise_not_found_exception(self, m): """ NotFound Error should be raised if user not exists. """ from qiita.exceptions import NotFoundError dummy_error_response(m, 404) # with self.assertRaises() plays with Python2.7+ try: self.client.get('/users/foobar') self.fail() except NotFoundError: self.assertTrue(True) except Exception: self.fail()
def setUp(self, m): from qiita.client import Client dummy_response(m, 'data/auth.json') self.params = settings() self.client = Client(**self.params)
class TestCient(TestCase): @patch('qiita.client.requests.post') def setUp(self, m): from qiita.client import Client dummy_response(m, 'data/auth.json') self.params = settings() self.client = Client(**self.params) @patch('qiita.client.requests.get') def test_rate_limit(self, m): """ Client should get rate limit. """ dummy_response(m, 'data/rate_limit.json') result = self.client.rate_limit() self.assertEqual(result.keys(), ['limit', 'remaining']) @patch('qiita.client.requests.get') def test_init_options(self, m): """ Client should set options. """ dummy_response(m, 'data/rate_limit.json') client = self.client self.assertEqual(client.url_name, self.params['url_name']) self.assertEqual(client.password, self.params['password']) @patch('qiita.client.requests.post') def test_get_token(self, m): """ login should return token. """ dummy_response(m, 'data/auth.json') result = self.client.login() self.assertTrue('token' in result) @patch('qiita.client.requests.post') def test_get_token_to_options(self, m): """ login should set token to token property. """ dummy_response(m, 'data/auth.json') result = self.client.login() self.assertEqual(self.client.token, result['token']) @patch('qiita.client.requests.get') def test_should_set_requests_module(self, m): """ HTTP Client should set to requests property. """ import requests from qiita.client import Client dummy_response(m, 'data/rate_limit.json') client = Client(requests=requests) result = client.rate_limit() self.assertEqual(result.keys(), ['limit', 'remaining']) def test_login_automatically(self): """ Client should get token when url_name and password set. """ self.assertTrue(self.client.token is not None) @patch('qiita.client.requests.post') @patch('qiita.client.requests.get') def test_token_exists(self, m_get, m_post): """ Client should authorize when only token set. """ from qiita.items import Items dummy_response(m_post, 'data/auth.json') client = Items(**self.params) token = client.token client = Items(token=token) dummy_response(m_get, 'data/search_item.json') params = {'stocked': 'true'} items = client.search_items(query='vim', params=params) self.assertTrue('body' in items[0])
def setUp(self): from qiita.client import Client self.client = Client()