def test_perform(self): c = BaseClient(Mock(name='hub')) c.add_request = Mock(name='add_request') c.perform('http://foo') self.assertTrue(c.add_request.called) self.assertIsInstance(c.add_request.call_args[0][0], http.Request) req = http.Request('http://bar') c.perform(req) c.add_request.assert_called_with(req)
def test_header_parser(self): c = BaseClient(Mock(name='hub')) parser = c._header_parser headers = http.Headers() c.on_header(headers, 'HTTP/1.1') c.on_header(headers, 'x-foo-bar: 123') c.on_header(headers, 'People: George Costanza') self.assertEqual(headers._prev_key, 'People') c.on_header(headers, ' Jerry Seinfeld') c.on_header(headers, ' Elaine Benes') c.on_header(headers, ' Cosmo Kramer') self.assertFalse(headers.complete) c.on_header(headers, '') self.assertTrue(headers.complete) with self.assertRaises(KeyError): parser.throw(KeyError('foo')) c.on_header(headers, '') self.assertEqual(headers['X-Foo-Bar'], '123') self.assertEqual( headers['People'], 'George Costanza Jerry Seinfeld Elaine Benes Cosmo Kramer', )
def test_add_request(self): c = BaseClient(Mock(name='hub')) with self.assertRaises(NotImplementedError): c.add_request(Mock(name='request'))
def test_init(self): c = BaseClient(Mock(name='hub')) self.assertTrue(c.hub) self.assertTrue(c._header_parser)
def test_as_context(self): c = BaseClient(Mock(name='hub')) c.close = Mock(name='close') with c: pass c.close.assert_called_with()
def test_close(self): BaseClient(Mock(name='hub')).close()
def test_init(self): c = BaseClient(Mock(name='hub')) assert c.hub assert c._header_parser
def test_header_parser(self): c = BaseClient(Mock(name='hub')) parser = c._header_parser headers = http.Headers() c.on_header(headers, 'HTTP/1.1') c.on_header(headers, 'x-foo-bar: 123') c.on_header(headers, 'People: George Costanza') assert headers._prev_key == 'People' c.on_header(headers, ' Jerry Seinfeld') c.on_header(headers, ' Elaine Benes') c.on_header(headers, ' Cosmo Kramer') assert not headers.complete c.on_header(headers, '') assert headers.complete with pytest.raises(KeyError): parser.throw(KeyError('foo')) c.on_header(headers, '') assert headers['X-Foo-Bar'] == '123' assert (headers['People'] == 'George Costanza Jerry Seinfeld Elaine Benes Cosmo Kramer')