Skip to content

Commit

Permalink
Merge pull request #1191 from tseaver/coverage-gcloud__apitools_excep…
Browse files Browse the repository at this point in the history
…tions

Coverage for 'gcloud._apitools.exceptions'
  • Loading branch information
tseaver committed Oct 25, 2015
2 parents 1a78ec9 + 61466cf commit fa20671
Showing 1 changed file with 88 additions and 0 deletions.
88 changes: 88 additions & 0 deletions gcloud/_apitools/test_exceptions.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,88 @@
# pylint: skip-file
import unittest2


class Test_HttpError(unittest2.TestCase):

def _getTargetClass(self):
from gcloud._apitools.exceptions import HttpError
return HttpError

def _makeOne(self, *args, **kw):
return self._getTargetClass()(*args, **kw)

def test_ctor(self):
RESPONSE = {'status': '404'}
CONTENT = b'CONTENT'
URL = 'http://www.example.com'
exception = self._makeOne(RESPONSE, CONTENT, URL)
self.assertEqual(exception.response, RESPONSE)
self.assertEqual(exception.content, CONTENT)
self.assertEqual(exception.url, URL)
self.assertEqual(exception.status_code, 404)
self.assertEqual(
str(exception),
"HttpError accessing <http://www.example.com>: "
"response: <{'status': '404'}>, content <CONTENT>")

def test_FromResponse(self):
RESPONSE = {'status': '404'}
CONTENT = b'CONTENT'
URL = 'http://www.example.com'

class _Response(object):
info = RESPONSE
content = CONTENT
request_url = URL

klass = self._getTargetClass()
exception = klass.FromResponse(_Response())
self.assertTrue(isinstance(exception, klass))
self.assertEqual(exception.response, RESPONSE)
self.assertEqual(exception.content, CONTENT)
self.assertEqual(exception.url, URL)


class Test_RetryAfterError(unittest2.TestCase):

def _getTargetClass(self):
from gcloud._apitools.exceptions import RetryAfterError
return RetryAfterError

def _makeOne(self, *args, **kw):
return self._getTargetClass()(*args, **kw)

def test_ctor(self):
RESPONSE = {'status': '404'}
CONTENT = b'CONTENT'
URL = 'http://www.example.com'
RETRY_AFTER = 60
exception = self._makeOne(RESPONSE, CONTENT, URL, RETRY_AFTER)
self.assertEqual(exception.response, RESPONSE)
self.assertEqual(exception.content, CONTENT)
self.assertEqual(exception.url, URL)
self.assertEqual(exception.retry_after, RETRY_AFTER)
self.assertEqual(
str(exception),
"HttpError accessing <http://www.example.com>: "
"response: <{'status': '404'}>, content <CONTENT>")

def test_FromResponse(self):
RESPONSE = {'status': '404'}
CONTENT = b'CONTENT'
URL = 'http://www.example.com'
RETRY_AFTER = 60

class _Response(object):
info = RESPONSE
content = CONTENT
request_url = URL
retry_after = RETRY_AFTER

klass = self._getTargetClass()
exception = klass.FromResponse(_Response())
self.assertTrue(isinstance(exception, klass))
self.assertEqual(exception.response, RESPONSE)
self.assertEqual(exception.content, CONTENT)
self.assertEqual(exception.url, URL)
self.assertEqual(exception.retry_after, RETRY_AFTER)

0 comments on commit fa20671

Please sign in to comment.