Revision 8419a4c9 kamaki/clients/connection/test.py

b/kamaki/clients/connection/test.py
173 173

  
174 174
class KamakiHTTPResponse(TestCase):
175 175

  
176
    class fakeResponse(object):
177
        sample = 'sample string'
178
        getheaders = Mock(return_value={})
179
        read = Mock(return_value=sample)
180
        status = Mock(return_value=None)
181
        reason = Mock(return_value=None)
182

  
176 183
    def setUp(self):
177
        pass
184
        from httplib import HTTPConnection
185
        self.HTC = HTTPConnection
186
        self.FR = self.fakeResponse
187

  
188
    def test_text(self):
189
        with patch.object(self.HTC, 'getresponse', return_value=self.FR()):
190
            self.resp = kamakicon.KamakiHTTPResponse(self.HTC('X', 'Y'))
191
            self.assertEquals(self.resp.text, self.FR.sample)
192
            sample2 = 'some other string'
193
            self.resp.text = sample2
194
            self.assertNotEquals(self.resp.text, sample2)
195

  
196
    def test_json(self):
197
        with patch.object(self.HTC, 'getresponse', return_value=self.FR()):
198
            self.resp = kamakicon.KamakiHTTPResponse(self.HTC('X', 'Y'))
199
            self.assertRaises(errors.KamakiResponseError, self.resp.json)
200
            sample2 = '{"antoher":"sample", "formated":"in_json"}'
201
            with patch.object(self.FR, 'read', return_value=sample2):
202
                self.resp = kamakicon.KamakiHTTPResponse(self.HTC('X', 'Y'))
203
                from json import loads
204
                self.assertEquals(loads(sample2), self.resp.json)
178 205

  
179 206

  
180 207
class KamakiResponse(TestCase):

Also available in: Unified diff