def test_get_args(json_response, text_response, malformed_response): err = GlobusAPIError(json_response.r) assert err._get_args() == ("400", "Json Error", "json error message") err = GlobusAPIError(text_response.r) assert err._get_args() == ("401", "Error", "error message") err = GlobusAPIError(malformed_response.r) assert err._get_args() == ("403", "Error", "{")
def test_raw_text(self): """ Gets raw text from both json and text responses, confirms results """ # json with self.assertRaises(GlobusAPIError) as apiErr: raise GlobusAPIError(self.json_response) self.assertEqual(apiErr.exception.raw_text, json.dumps(self.json_data)) # text with self.assertRaises(GlobusAPIError) as apiErr: raise GlobusAPIError(self.text_response) self.assertEqual(apiErr.exception.raw_text, self.text_data)
def test_raw_json(self): """ Confirms the GlobusAPIError can get raw json from the json responses, and defaults to text for the text response """ # json with self.assertRaises(GlobusAPIError) as apiErr: raise GlobusAPIError(self.json_response) self.assertEqual(apiErr.exception.raw_json, self.json_data) # text with self.assertRaises(GlobusAPIError) as apiErr: raise GlobusAPIError(self.text_response) self.assertEqual(apiErr.exception.raw_json, None) # malformed with self.assertRaises(GlobusAPIError) as apiErr: raise GlobusAPIError(self.malformed_response) self.assertEqual(apiErr.exception.raw_json, None)
def test_get_args(self): """ Gets args from json text and malformed responses, confirms results Implicitly tests _load_from_json and _load_from_text """ # json with self.assertRaises(GlobusAPIError) as apiErr: raise GlobusAPIError(self.json_response) expected = ("400", "Json Error", "json error message") self.assertEqual(apiErr.exception._get_args(), expected) # text with self.assertRaises(GlobusAPIError) as apiErr: raise GlobusAPIError(self.text_response) expected = ("401", "Error", "error message") self.assertEqual(apiErr.exception._get_args(), expected) # malformed with self.assertRaises(GlobusAPIError) as apiErr: raise GlobusAPIError(self.malformed_response) expected = ("403", "Error", "{") self.assertEqual(apiErr.exception._get_args(), expected)
def test_raw_json_fail(text_response, malformed_response): err = GlobusAPIError(text_response.r) assert err.raw_json is None err = GlobusAPIError(malformed_response.r) assert err.raw_json is None
def test_raw_json_works(json_response): err = GlobusAPIError(json_response.r) assert err.raw_json == json_response.data
def test_raw_text_works(json_response, text_response): err = GlobusAPIError(json_response.r) assert err.raw_text == json.dumps(json_response.data) err = GlobusAPIError(text_response.r) assert err.raw_text == text_response.data