def test_constructor_defaults(self): session = JirafeSession(self.site_id) self.assertEqual(self.site_id, self.session.site_id) self.assertEqual('https://accounts.jirafe.com/oauth2/authorize', session.auth_url) self.assertEqual('https://accounts.jirafe.com/oauth2/access_token', session.token_url) self.assertEqual('https://accounts.jirafe.com/accounts/profile', session.profile_url) self.assertIsNone(self.session.access_token) self.assertEqual(requests, session.requests)
def test_constructor_change(self): kwargs = { 'auth_url': 'a', 'token_url': 't', 'profile_url': 'p', 'requests': Mock() } session = JirafeSession(self.site_id, **kwargs) self.assertEqual('a', session.auth_url) self.assertEqual('t', session.token_url) self.assertEqual('p', session.profile_url) self.assertEqual(kwargs['requests'], session.requests)
def setUp(self): self.site_id = 'id' self.mock_requests = Mock() self.session = JirafeSession(self.site_id, requests=self.mock_requests)
class TestJirafeSession(unittest.TestCase): def setUp(self): self.site_id = 'id' self.mock_requests = Mock() self.session = JirafeSession(self.site_id, requests=self.mock_requests) def test_constructor_defaults(self): session = JirafeSession(self.site_id) self.assertEqual(self.site_id, self.session.site_id) self.assertEqual('https://accounts.jirafe.com/oauth2/authorize', session.auth_url) self.assertEqual('https://accounts.jirafe.com/oauth2/access_token', session.token_url) self.assertEqual('https://accounts.jirafe.com/accounts/profile', session.profile_url) self.assertIsNone(self.session.access_token) self.assertEqual(requests, session.requests) def test_constructor_change(self): kwargs = { 'auth_url': 'a', 'token_url': 't', 'profile_url': 'p', 'requests': Mock() } session = JirafeSession(self.site_id, **kwargs) self.assertEqual('a', session.auth_url) self.assertEqual('t', session.token_url) self.assertEqual('p', session.profile_url) self.assertEqual(kwargs['requests'], session.requests) def test_get_header(self): self.session.access_token = 'some_token' expected = {'Authorization': 'Bearer some_token'} self.assertEqual(expected, self.session.get_header()) def test_update_token(self): self.session._get_token = Mock(return_value='token') self.assertEqual('token', self.session.update_token()) self.assertEqual('token', self.session.update_token()) self.session._get_token.assert_called_once() def test_invalidate(self): self.session.access_token = 'some_token' self.assertEqual('some_token', self.session.access_token) self.session.invalidate() self.assertIsNone(self.session.access_token) def test_get_profile(self): json_response = {'a': 'profile'} mock_response = Mock() mock_response.status_code = 200 mock_response.json = Mock(return_value=json_response) self.mock_requests.get = Mock(return_value=mock_response) self.session.get_header = Mock(return_value={'mock': 'header'}) profile = self.session.get_profile() self.assertEqual(json_response, profile) mock_response.json.assert_called_once() self.mock_requests.get.assert_called_once_with( 'https://accounts.jirafe.com/accounts/profile', headers={'mock': 'header'}) def test_get_profile_fail(self): mock_response = Mock() mock_response.status_code = 403 self.mock_requests.get = Mock(return_value=mock_response) self.session.get_header = Mock() self.session.invalidate = Mock() self.assertIsNone(self.session.get_profile()) self.session.invalidate.assert_called_once() def test_get_site(self): profile = {'sites': [{'id': 'id'}]} self.session.get_profile = Mock(return_value=profile) self.assertEqual({'id': 'id'}, self.session.get_site()) def test_get_site_empty(self): profile = {'sites': []} self.session.get_profile = Mock(return_value=profile) self.assertIsNone(self.session.get_site()) def test_get_site_missing(self): profile = {'a': 'profile'} self.session.get_profile = Mock(return_value=profile) self.assertIsNone(self.session.get_site()) def test__get_token(self): self.assertRaises(NotImplementedError, self.session._get_token)
def setUp(self): self.site_id = "id" self.mock_requests = Mock() self.session = JirafeSession(self.site_id, requests=self.mock_requests)
class TestJirafeSession(unittest.TestCase): def setUp(self): self.site_id = "id" self.mock_requests = Mock() self.session = JirafeSession(self.site_id, requests=self.mock_requests) def test_constructor_defaults(self): session = JirafeSession(self.site_id) self.assertEqual(self.site_id, self.session.site_id) self.assertEqual("https://accounts.jirafe.com/oauth2/authorize", session.auth_url) self.assertEqual("https://accounts.jirafe.com/oauth2/access_token", session.token_url) self.assertEqual("https://accounts.jirafe.com/accounts/profile", session.profile_url) self.assertIsNone(self.session.access_token) self.assertEqual(requests, session.requests) def test_constructor_change(self): kwargs = {"auth_url": "a", "token_url": "t", "profile_url": "p", "requests": Mock()} session = JirafeSession(self.site_id, **kwargs) self.assertEqual("a", session.auth_url) self.assertEqual("t", session.token_url) self.assertEqual("p", session.profile_url) self.assertEqual(kwargs["requests"], session.requests) def test_get_header(self): self.session.access_token = "some_token" expected = {"Authorization": "Bearer some_token"} self.assertEqual(expected, self.session.get_header()) def test_update_token(self): self.session._get_token = Mock(return_value="token") self.assertEqual("token", self.session.update_token()) self.assertEqual("token", self.session.update_token()) self.session._get_token.assert_called_once() def test_invalidate(self): self.session.access_token = "some_token" self.assertEqual("some_token", self.session.access_token) self.session.invalidate() self.assertIsNone(self.session.access_token) def test_get_profile(self): json_response = {"a": "profile"} mock_response = Mock() mock_response.status_code = 200 mock_response.json = Mock(return_value=json_response) self.mock_requests.get = Mock(return_value=mock_response) self.session.get_header = Mock(return_value={"mock": "header"}) profile = self.session.get_profile() self.assertEqual(json_response, profile) mock_response.json.assert_called_once() self.mock_requests.get.assert_called_once_with( "https://accounts.jirafe.com/accounts/profile", headers={"mock": "header"} ) def test_get_profile_fail(self): mock_response = Mock() mock_response.status_code = 403 self.mock_requests.get = Mock(return_value=mock_response) self.session.get_header = Mock() self.session.invalidate = Mock() self.assertIsNone(self.session.get_profile()) self.session.invalidate.assert_called_once() def test_get_site(self): profile = {"sites": [{"id": "id"}]} self.session.get_profile = Mock(return_value=profile) self.assertEqual({"id": "id"}, self.session.get_site()) def test_get_site_empty(self): profile = {"sites": []} self.session.get_profile = Mock(return_value=profile) self.assertIsNone(self.session.get_site()) def test_get_site_missing(self): profile = {"a": "profile"} self.session.get_profile = Mock(return_value=profile) self.assertIsNone(self.session.get_site()) def test__get_token(self): self.assertRaises(NotImplementedError, self.session._get_token)