Пример #1
0
    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)
Пример #2
0
    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)
Пример #3
0
    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',
        )
Пример #4
0
 def test_add_request(self):
     c = BaseClient(Mock(name='hub'))
     with self.assertRaises(NotImplementedError):
         c.add_request(Mock(name='request'))
Пример #5
0
 def test_init(self):
     c = BaseClient(Mock(name='hub'))
     self.assertTrue(c.hub)
     self.assertTrue(c._header_parser)
Пример #6
0
 def test_as_context(self):
     c = BaseClient(Mock(name='hub'))
     c.close = Mock(name='close')
     with c:
         pass
     c.close.assert_called_with()
Пример #7
0
 def test_close(self):
     BaseClient(Mock(name='hub')).close()
Пример #8
0
 def test_add_request(self):
     c = BaseClient(Mock(name='hub'))
     with self.assertRaises(NotImplementedError):
         c.add_request(Mock(name='request'))
Пример #9
0
 def test_as_context(self):
     c = BaseClient(Mock(name='hub'))
     c.close = Mock(name='close')
     with c:
         pass
     c.close.assert_called_with()
Пример #10
0
    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',
        )
Пример #11
0
 def test_init(self):
     c = BaseClient(Mock(name='hub'))
     assert c.hub
     assert c._header_parser
Пример #12
0
    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')