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.
+