Ejemplo n.º 1
0
    def test_getconnection(self):
        """Test HTTPClient._getconnection."""
        # http
        http = HTTPClient("127.0.0.1", 80)
        con = http._getconnection()
        self.assertTrue(isinstance(con, httplib.HTTPConnection))
        # https
        http = HTTPClient("127.0.0.1", 80, protocol="https")
        con = http._getconnection()
        self.assertTrue(isinstance(con, httplib.HTTPSConnection))


        http = HTTPClient("127.0.0.1", timeout=300, source_address="here.loc")
        # Python2.5
        mockhttplib = Mock.Omnivore(HTTPConnection=[None])
        context = dict(
            PYTHON2_6=False,
            PYTHON2_7=False,
            httplib=mockhttplib,
        )
        with injected(http._getconnection, **context):
            http._getconnection()
            call_log = mockhttplib.called["HTTPConnection"][0][1]
            self.assertFalse(call_log["strict"])
            self.assertEqual(call_log.get("timeout"), None)
            self.assertEqual(call_log.get("source_address"), None)
        # Python2.6
        mockhttplib = Mock.Omnivore(HTTPConnection=[None])
        context = dict(
            PYTHON2_6=True,
            PYTHON2_7=False,
            httplib=mockhttplib,
        )
        with injected(http._getconnection, **context):
            http._getconnection()
            call_log = mockhttplib.called["HTTPConnection"][0][1]
            self.assertFalse(call_log["strict"])
            self.assertEqual(call_log["timeout"], 300)
            self.assertEqual(call_log.get("source_address"), None)
        # Python2.7
        mockhttplib = Mock.Omnivore(HTTPConnection=[None])
        context = dict(
            PYTHON2_6=True,
            PYTHON2_7=True,
            httplib=mockhttplib,
        )
        with injected(http._getconnection, **context):
            http._getconnection()
            call_log = mockhttplib.called["HTTPConnection"][0][1]
            self.assertFalse(call_log["strict"])
            self.assertEqual(call_log["timeout"], 300)
            self.assertEqual(call_log.get("source_address"), "here.loc")
Ejemplo n.º 2
0
    def test_getconnection(self):
        """Test HTTPClient._getconnection."""
        # http
        http = HTTPClient("127.0.0.1", 80)
        con = http._getconnection()
        assert isinstance(con, httplib.HTTPConnection)
        # https
        http = HTTPClient("127.0.0.1", 80, protocol="https")
        con = http._getconnection()
        assert isinstance(con, httplib.HTTPSConnection)

        http = HTTPClient("127.0.0.1", timeout=300, source_address="here.loc")
        # Python2.5
        mockhttplib = Mock.Omnivore(HTTPConnection=[None])
        context = dict(
            PYTHON2_6=False,
            PYTHON2_7=False,
            httplib=mockhttplib,
        )
        with injected(http._getconnection, **context):
            http._getconnection()
            call_log = mockhttplib.called["HTTPConnection"][0][1]
            assert not call_log.get("strict")
            assert call_log.get("timeout") == None
            assert call_log.get("source_address") == None
        # Python2.6
        mockhttplib = Mock.Omnivore(HTTPConnection=[None])
        context = dict(
            PYTHON2_6=True,
            PYTHON2_7=False,
            httplib=mockhttplib,
        )
        with injected(http._getconnection, **context):
            http._getconnection()
            call_log = mockhttplib.called["HTTPConnection"][0][1]
            assert not call_log.get("strict")
            assert call_log["timeout"] == 300
            assert call_log.get("source_address") == None
        # Python2.7
        mockhttplib = Mock.Omnivore(HTTPConnection=[None])
        context = dict(
            PYTHON2_6=True,
            PYTHON2_7=True,
            httplib=mockhttplib,
        )
        with injected(http._getconnection, **context):
            http._getconnection()
            call_log = mockhttplib.called["HTTPConnection"][0][1]
            assert not call_log.get("strict")
            assert call_log["timeout"] == 300
            assert call_log.get("source_address") == "here.loc"