def test_parsable_verbose(self): message = "The Stack (bad) could not be found." resp_dict = { "explanation": "The resource could not be found.", "code": 404, "error": { "message": message, "type": "StackNotFound", "traceback": "<TRACEBACK>", }, "title": "Not Found" } self._script_keystone_client() fakes.script_heat_error(jsonutils.dumps(resp_dict)) self.m.ReplayAll() exc.verbose = 1 try: self.shell("stack-show bad") except exc.HTTPException as e: expect = 'ERROR: The Stack (bad) could not be found.\n<TRACEBACK>' self.assertEqual(expect, str(e))
def test_parsable_malformed_error(self): invalid_json = "ERROR: {Invalid JSON Error." fakes.script_keystone_client() fakes.script_heat_error(invalid_json) self.m.ReplayAll() try: self.shell("stack-show bad") except exc.HTTPException as e: self.assertEqual(str(e), "ERROR: " + invalid_json)
def test_parsable_malformed_error_missing_message(self): missing_message = { "explanation": "The resource could not be found.", "code": 404, "error": { "type": "StackNotFound", "traceback": "", }, "title": "Not Found" } fakes.script_keystone_client() fakes.script_heat_error(json.dumps(missing_message)) self.m.ReplayAll() try: self.shell("stack-show bad") except exc.HTTPException as e: self.assertEqual(str(e), "ERROR: Internal Error")
def test_parsable_malformed_error_missing_traceback(self): message = "The Stack (bad) could not be found." resp_dict = { "explanation": "The resource could not be found.", "code": 404, "error": { "message": message, "type": "StackNotFound", }, "title": "Not Found" } fakes.script_keystone_client() fakes.script_heat_error(json.dumps(resp_dict)) self.m.ReplayAll() try: exc.verbose = 1 self.shell("stack-show bad") except exc.HTTPException as e: self.assertEqual(str(e), "ERROR: The Stack (bad) could not be found.\n")