Skip to content

Commit 14e7dd5

Browse files
committed
Coverage for 'gcloud._apitools.http_wrapper.Request'.
1 parent 75487a1 commit 14e7dd5

1 file changed

Lines changed: 40 additions & 0 deletions

File tree

gcloud/_apitools/test_http_wrapper.py

Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -72,6 +72,46 @@ def set_debuglevel(self, value):
7272
self.assertEqual(skip_me.debuglevel, 0)
7373

7474

75+
class Test_Request(unittest2.TestCase):
76+
77+
def _getTargetClass(self):
78+
from gcloud._apitools.http_wrapper import Request
79+
return Request
80+
81+
def _makeOne(self, *args, **kw):
82+
return self._getTargetClass()(*args, **kw)
83+
84+
def test_ctor_defaults(self):
85+
request = self._makeOne()
86+
self.assertEqual(request.url, '')
87+
self.assertEqual(request.http_method, 'GET')
88+
self.assertEqual(request.headers, {'content-length': '0'})
89+
self.assertEqual(request.body, '')
90+
self.assertEqual(request.loggable_body, None)
91+
92+
def test_loggable_body_setter_w_body_None(self):
93+
from gcloud._apitools.exceptions import RequestError
94+
request = self._makeOne(body=None)
95+
with self.assertRaises(RequestError):
96+
request.loggable_body = 'abc'
97+
98+
def test_body_setter_w_None(self):
99+
request = self._makeOne()
100+
request.loggable_body = 'abc'
101+
request.body = None
102+
self.assertEqual(request.headers, {})
103+
self.assertEqual(request.body, None)
104+
self.assertEqual(request.loggable_body, 'abc')
105+
106+
def test_body_setter_w_non_string(self):
107+
request = self._makeOne()
108+
request.loggable_body = 'abc'
109+
request.body = body = _Dummy(length=123)
110+
self.assertEqual(request.headers, {'content-length': '123'})
111+
self.assertTrue(request.body is body)
112+
self.assertEqual(request.loggable_body, '<media body>')
113+
114+
75115
class _Dummy(object):
76116
def __init__(self, **kw):
77117
self.__dict__.update(kw)

0 commit comments

Comments
 (0)