当前位置: 首页>>代码示例>>Python>>正文


Python support.transient_internet方法代码示例

本文整理汇总了Python中test.support.transient_internet方法的典型用法代码示例。如果您正苦于以下问题:Python support.transient_internet方法的具体用法?Python support.transient_internet怎么用?Python support.transient_internet使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在test.support的用法示例。


在下文中一共展示了support.transient_internet方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。

示例1: wrap_methods

# 需要导入模块: from test import support [as 别名]
# 或者: from test.support import transient_internet [as 别名]
def wrap_methods(cls):
        # Wrap all methods in a transient_internet() exception catcher
        # XXX put a generic version in test.support?
        def wrap_meth(meth):
            @functools.wraps(meth)
            def wrapped(self):
                with support.transient_internet(self.NNTP_HOST):
                    meth(self)
            return wrapped
        for name in dir(cls):
            if not name.startswith('test_'):
                continue
            meth = getattr(cls, name)
            if not callable(meth):
                continue
            # Need to use a closure so that meth remains bound to its current
            # value
            setattr(cls, name, wrap_meth(meth)) 
开发者ID:Microvellum,项目名称:Fluid-Designer,代码行数:20,代码来源:test_nntplib.py

示例2: test_connect_cadata

# 需要导入模块: from test import support [as 别名]
# 或者: from test.support import transient_internet [as 别名]
def test_connect_cadata(self):
        with open(CAFILE_CACERT) as f:
            pem = f.read()
        der = ssl.PEM_cert_to_DER_cert(pem)
        with support.transient_internet("svn.python.org"):
            ctx = ssl.SSLContext(ssl.PROTOCOL_SSLv23)
            ctx.verify_mode = ssl.CERT_REQUIRED
            ctx.load_verify_locations(cadata=pem)
            with ctx.wrap_socket(socket.socket(socket.AF_INET)) as s:
                s.connect(("svn.python.org", 443))
                cert = s.getpeercert()
                self.assertTrue(cert)

            # same with DER
            ctx = ssl.SSLContext(ssl.PROTOCOL_SSLv23)
            ctx.verify_mode = ssl.CERT_REQUIRED
            ctx.load_verify_locations(cadata=der)
            with ctx.wrap_socket(socket.socket(socket.AF_INET)) as s:
                s.connect(("svn.python.org", 443))
                cert = s.getpeercert()
                self.assertTrue(cert) 
开发者ID:Microvellum,项目名称:Fluid-Designer,代码行数:23,代码来源:test_ssl.py

示例3: test_makefile_close

# 需要导入模块: from test import support [as 别名]
# 或者: from test.support import transient_internet [as 别名]
def test_makefile_close(self):
        # Issue #5238: creating a file-like object with makefile() shouldn't
        # delay closing the underlying "real socket" (here tested with its
        # file descriptor, hence skipping the test under Windows).
        with support.transient_internet("svn.python.org"):
            ss = ssl.wrap_socket(socket.socket(socket.AF_INET))
            ss.connect(("svn.python.org", 443))
            fd = ss.fileno()
            f = ss.makefile()
            f.close()
            # The fd is still open
            os.read(fd, 0)
            # Closing the SSL socket should close the fd too
            ss.close()
            gc.collect()
            with self.assertRaises(OSError) as e:
                os.read(fd, 0)
            self.assertEqual(e.exception.errno, errno.EBADF) 
开发者ID:Microvellum,项目名称:Fluid-Designer,代码行数:20,代码来源:test_ssl.py

示例4: test_read_write_data

# 需要导入模块: from test import support [as 别名]
# 或者: from test.support import transient_internet [as 别名]
def test_read_write_data(self):
        with support.transient_internet("svn.python.org"):
            sock = socket.socket(socket.AF_INET)
            sock.connect(("svn.python.org", 443))
            incoming = ssl.MemoryBIO()
            outgoing = ssl.MemoryBIO()
            ctx = ssl.SSLContext(ssl.PROTOCOL_SSLv23)
            ctx.verify_mode = ssl.CERT_NONE
            sslobj = ctx.wrap_bio(incoming, outgoing, False)
            self.ssl_io_loop(sock, incoming, outgoing, sslobj.do_handshake)
            req = b'GET / HTTP/1.0\r\n\r\n'
            self.ssl_io_loop(sock, incoming, outgoing, sslobj.write, req)
            buf = self.ssl_io_loop(sock, incoming, outgoing, sslobj.read, 1024)
            self.assertEqual(buf[:5], b'HTTP/')
            self.ssl_io_loop(sock, incoming, outgoing, sslobj.unwrap)
            sock.close() 
开发者ID:Microvellum,项目名称:Fluid-Designer,代码行数:18,代码来源:test_ssl.py

示例5: test_connect_ex_error

# 需要导入模块: from test import support [as 别名]
# 或者: from test.support import transient_internet [as 别名]
def test_connect_ex_error(self):
        with support.transient_internet(REMOTE_HOST):
            s = ssl.wrap_socket(socket.socket(socket.AF_INET),
                                cert_reqs=ssl.CERT_REQUIRED,
                                ca_certs=REMOTE_ROOT_CERT)
            try:
                rc = s.connect_ex((REMOTE_HOST, 444))
                # Issue #19919: Windows machines or VMs hosted on Windows
                # machines sometimes return EWOULDBLOCK.
                errors = (
                    errno.ECONNREFUSED, errno.EHOSTUNREACH, errno.ETIMEDOUT,
                    errno.EWOULDBLOCK,
                )
                self.assertIn(rc, errors)
            finally:
                s.close() 
开发者ID:IronLanguages,项目名称:ironpython3,代码行数:18,代码来源:test_ssl.py

示例6: test_connect_cadata

# 需要导入模块: from test import support [as 别名]
# 或者: from test.support import transient_internet [as 别名]
def test_connect_cadata(self):
        with open(REMOTE_ROOT_CERT) as f:
            pem = f.read()
        der = ssl.PEM_cert_to_DER_cert(pem)
        with support.transient_internet(REMOTE_HOST):
            ctx = ssl.SSLContext(ssl.PROTOCOL_SSLv23)
            ctx.verify_mode = ssl.CERT_REQUIRED
            ctx.load_verify_locations(cadata=pem)
            with ctx.wrap_socket(socket.socket(socket.AF_INET)) as s:
                s.connect((REMOTE_HOST, 443))
                cert = s.getpeercert()
                self.assertTrue(cert)

            # same with DER
            ctx = ssl.SSLContext(ssl.PROTOCOL_SSLv23)
            ctx.verify_mode = ssl.CERT_REQUIRED
            ctx.load_verify_locations(cadata=der)
            with ctx.wrap_socket(socket.socket(socket.AF_INET)) as s:
                s.connect((REMOTE_HOST, 443))
                cert = s.getpeercert()
                self.assertTrue(cert) 
开发者ID:IronLanguages,项目名称:ironpython3,代码行数:23,代码来源:test_ssl.py

示例7: test_makefile_close

# 需要导入模块: from test import support [as 别名]
# 或者: from test.support import transient_internet [as 别名]
def test_makefile_close(self):
        # Issue #5238: creating a file-like object with makefile() shouldn't
        # delay closing the underlying "real socket" (here tested with its
        # file descriptor, hence skipping the test under Windows).
        with support.transient_internet(REMOTE_HOST):
            ss = ssl.wrap_socket(socket.socket(socket.AF_INET))
            ss.connect((REMOTE_HOST, 443))
            fd = ss.fileno()
            f = ss.makefile()
            f.close()
            # The fd is still open
            os.read(fd, 0)
            # Closing the SSL socket should close the fd too
            ss.close()
            gc.collect()
            with self.assertRaises(OSError) as e:
                os.read(fd, 0)
            self.assertEqual(e.exception.errno, errno.EBADF) 
开发者ID:IronLanguages,项目名称:ironpython3,代码行数:20,代码来源:test_ssl.py

示例8: setUpClass

# 需要导入模块: from test import support [as 别名]
# 或者: from test.support import transient_internet [as 别名]
def setUpClass(cls):
        support.requires('network')
        with support.transient_internet(cls.base_url):
            cls.parser = robotparser.RobotFileParser(cls.robots_txt)
            cls.parser.read() 
开发者ID:IronLanguages,项目名称:ironpython2,代码行数:7,代码来源:test_robotparser.py

示例9: test_idna

# 需要导入模块: from test import support [as 别名]
# 或者: from test.support import transient_internet [as 别名]
def test_idna(self):
        # Check for internet access before running test
        # (issue #12804, issue #25138).
        with support.transient_internet('python.org'):
            socket.gethostbyname('python.org')

        # these should all be successful
        domain = 'испытание.pythontest.net'
        socket.gethostbyname(domain)
        socket.gethostbyname_ex(domain)
        socket.getaddrinfo(domain,0,socket.AF_UNSPEC,socket.SOCK_STREAM)
        # this may not work if the forward lookup choses the IPv6 address, as that doesn't
        # have a reverse entry yet
        # socket.gethostbyaddr('испытание.python.org') 
开发者ID:Microvellum,项目名称:Fluid-Designer,代码行数:16,代码来源:test_socket.py

示例10: test_close

# 需要导入模块: from test import support [as 别名]
# 或者: from test.support import transient_internet [as 别名]
def test_close(self):
        # calling .close() on urllib2's response objects should close the
        # underlying socket
        url = "http://www.example.com/"
        with support.transient_internet(url):
            response = _urlopen_with_retry(url)
            sock = response.fp
            self.assertFalse(sock.closed)
            response.close()
            self.assertTrue(sock.closed) 
开发者ID:Microvellum,项目名称:Fluid-Designer,代码行数:12,代码来源:test_urllib2net.py

示例11: test_urlwithfrag

# 需要导入模块: from test import support [as 别名]
# 或者: from test.support import transient_internet [as 别名]
def test_urlwithfrag(self):
        urlwith_frag = "http://www.pythontest.net/index.html#frag"
        with support.transient_internet(urlwith_frag):
            req = urllib.request.Request(urlwith_frag)
            res = urllib.request.urlopen(req)
            self.assertEqual(res.geturl(),
                    "http://www.pythontest.net/index.html#frag") 
开发者ID:Microvellum,项目名称:Fluid-Designer,代码行数:9,代码来源:test_urllib2net.py

示例12: test_redirect_url_withfrag

# 需要导入模块: from test import support [as 别名]
# 或者: from test.support import transient_internet [as 别名]
def test_redirect_url_withfrag(self):
        redirect_url_with_frag = "http://www.pythontest.net/redir/with_frag/"
        with support.transient_internet(redirect_url_with_frag):
            req = urllib.request.Request(redirect_url_with_frag)
            res = urllib.request.urlopen(req)
            self.assertEqual(res.geturl(),
                    "http://www.pythontest.net/elsewhere/#frag") 
开发者ID:Microvellum,项目名称:Fluid-Designer,代码行数:9,代码来源:test_urllib2net.py

示例13: test_custom_headers

# 需要导入模块: from test import support [as 别名]
# 或者: from test.support import transient_internet [as 别名]
def test_custom_headers(self):
        url = "http://www.example.com"
        with support.transient_internet(url):
            opener = urllib.request.build_opener()
            request = urllib.request.Request(url)
            self.assertFalse(request.header_items())
            opener.open(request)
            self.assertTrue(request.header_items())
            self.assertTrue(request.has_header('User-agent'))
            request.add_header('User-Agent','Test-Agent')
            opener.open(request)
            self.assertEqual(request.get_header('User-agent'),'Test-Agent') 
开发者ID:Microvellum,项目名称:Fluid-Designer,代码行数:14,代码来源:test_urllib2net.py

示例14: _test_urls

# 需要导入模块: from test import support [as 别名]
# 或者: from test.support import transient_internet [as 别名]
def _test_urls(self, urls, handlers, retry=True):
        import time
        import logging
        debug = logging.getLogger("test_urllib2").debug

        urlopen = urllib.request.build_opener(*handlers).open
        if retry:
            urlopen = _wrap_with_retry_thrice(urlopen, urllib.error.URLError)

        for url in urls:
            with self.subTest(url=url):
                if isinstance(url, tuple):
                    url, req, expected_err = url
                else:
                    req = expected_err = None

                with support.transient_internet(url):
                    try:
                        f = urlopen(url, req, TIMEOUT)
                    # urllib.error.URLError is a subclass of OSError
                    except OSError as err:
                        if expected_err:
                            msg = ("Didn't get expected error(s) %s for %s %s, got %s: %s" %
                                   (expected_err, url, req, type(err), err))
                            self.assertIsInstance(err, expected_err, msg)
                        else:
                            raise
                    else:
                        try:
                            with support.time_out, \
                                 support.socket_peer_reset, \
                                 support.ioerror_peer_reset:
                                buf = f.read()
                                debug("read %d bytes" % len(buf))
                        except socket.timeout:
                            print("<timeout: %s>" % url, file=sys.stderr)
                        f.close()
                time.sleep(0.1) 
开发者ID:Microvellum,项目名称:Fluid-Designer,代码行数:40,代码来源:test_urllib2net.py

示例15: test_http_basic

# 需要导入模块: from test import support [as 别名]
# 或者: from test.support import transient_internet [as 别名]
def test_http_basic(self):
        self.assertIsNone(socket.getdefaulttimeout())
        url = "http://www.example.com"
        with support.transient_internet(url, timeout=None):
            u = _urlopen_with_retry(url)
            self.addCleanup(u.close)
            self.assertIsNone(u.fp.raw._sock.gettimeout()) 
开发者ID:Microvellum,项目名称:Fluid-Designer,代码行数:9,代码来源:test_urllib2net.py


注:本文中的test.support.transient_internet方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。