From 1e49fd05b57fe8f4f0747b9841029c74ef066a81 Mon Sep 17 00:00:00 2001 From: Lucidiot Date: Wed, 30 Jan 2019 20:16:54 +0100 Subject: [PATCH] Unit tests for APIError --- urbantz/exceptions.py | 2 +- urbantz/tests/test_exceptions.py | 35 ++++++++++++++++++++++++++++++++ 2 files changed, 36 insertions(+), 1 deletion(-) create mode 100644 urbantz/tests/test_exceptions.py diff --git a/urbantz/exceptions.py b/urbantz/exceptions.py index 36cb336..fbf4161 100644 --- a/urbantz/exceptions.py +++ b/urbantz/exceptions.py @@ -13,7 +13,7 @@ class APIError(Exception): self.code = error.get('code') def __repr__(self): - return "".format(str(self)) + return "".format(repr(str(self))) def __str__(self): return self.message or 'Unknown error' diff --git a/urbantz/tests/test_exceptions.py b/urbantz/tests/test_exceptions.py new file mode 100644 index 0000000..66bbc6d --- /dev/null +++ b/urbantz/tests/test_exceptions.py @@ -0,0 +1,35 @@ +from unittest import TestCase +from urbantz.exceptions import APIError + + +class TestExceptions(TestCase): + + @classmethod + def setUpClass(self): + self.error = APIError({ + 'code': 9000, + 'message': "I'm afraid I can't do that, Dave." + }) + + def test_init(self): + self.assertEqual(self.error.code, 9000) + self.assertEqual( + self.error.message, + "I'm afraid I can't do that, Dave.", + ) + + def test_empty(self): + error = APIError({}) + self.assertIsNone(error.message) + self.assertIsNone(error.code) + self.assertEqual(str(error), 'Unknown error') + self.assertEqual(repr(error), "") + + def test_repr(self): + self.assertEqual( + repr(self.error), + '', + ) + + def test_str(self): + self.assertEqual(str(self.error), "I'm afraid I can't do that, Dave.")