From ae3455c8d7c9a449218a67ab3615aa2e96bda958 Mon Sep 17 00:00:00 2001 From: Vincent Jacques Date: Tue, 20 Aug 2013 23:17:19 +0200 Subject: [PATCH] Add test coverage for #182 --- github/tests/Exceptions.py | 16 ++++++++++++++++ ...xceptions.testNonJsonDataReturnedByGithub.txt | 11 +++++++++++ 2 files changed, 27 insertions(+) create mode 100755 github/tests/ReplayData/Exceptions.testNonJsonDataReturnedByGithub.txt diff --git a/github/tests/Exceptions.py b/github/tests/Exceptions.py index 455ad941..2e002b78 100644 --- a/github/tests/Exceptions.py +++ b/github/tests/Exceptions.py @@ -56,6 +56,22 @@ class Exceptions(Framework.TestCase): # To stay compatible with Python 2.6, we ) self.assertTrue(raised) + def testNonJsonDataReturnedByGithub(self): + # Replay data was forged according to https://github.com/jacquev6/PyGithub/pull/182 + raised = False + try: + self.g.get_user("jacquev6") + except github.GithubException, exception: + raised = True + self.assertEqual(exception.status, 503) + self.assertEqual( + exception.data, + { + "data": "

503 Service Unavailable

No server is available to handle this request.", + } + ) + self.assertTrue(raised) + def testUnknownObject(self): raised = False try: diff --git a/github/tests/ReplayData/Exceptions.testNonJsonDataReturnedByGithub.txt b/github/tests/ReplayData/Exceptions.testNonJsonDataReturnedByGithub.txt new file mode 100755 index 00000000..963a3467 --- /dev/null +++ b/github/tests/ReplayData/Exceptions.testNonJsonDataReturnedByGithub.txt @@ -0,0 +1,11 @@ +https +GET +api.github.com +None +/users/jacquev6 +{'Authorization': 'Basic login_and_password_removed', 'User-Agent': 'PyGithub/Python'} +null +503 +[('status', '503 Servive Unavailable'), ('content-length', '104'), ('server', 'nginx/1.0.13'), ('connection', 'keep-alive'), ('etag', '"ca6a3702f840b6bff0bb1bca6be0337c"'), ('date', 'Sat, 02 Jun 2012 12:12:32 GMT'), ('content-type', 'application/json; charset=utf-8')] +

503 Service Unavailable

No server is available to handle this request. +