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


Python PortNumberGenerator.next方法代码示例

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


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

示例1: testHttpGetViaProxy

# 需要导入模块: from seecr.test.portnumbergenerator import PortNumberGenerator [as 别名]
# 或者: from seecr.test.portnumbergenerator.PortNumberGenerator import next [as 别名]
    def testHttpGetViaProxy(self):
        get_request = []
        port = PortNumberGenerator.next()
        proxyPort = PortNumberGenerator.next()
        self.proxyServer(proxyPort, get_request)
        self.referenceHttpServer(port, get_request)

        responses = []
        def gethandler(*args, **kwargs):
            response = yield httpget('localhost', port, '/path',
                    headers={'Content-Type': 'text/plain', 'Content-Length': 0},
                    proxyServer="http://localhost:%s" % proxyPort
            )
            yield response
            responses.append(response)
        self.handler = gethandler
        clientget('localhost', self.port, '/')

        self._loopReactorUntilDone()

        self.assertTrue("GET RESPONSE" in responses[0], responses[0])
        self.assertEquals('CONNECT', get_request[0]['command'])
        self.assertEquals('localhost:%s' % port, get_request[0]['path'])
        self.assertEquals('GET', get_request[1]['command'])
        self.assertEquals('/path', get_request[1]['path'])
开发者ID:seecr,项目名称:weightless-core,代码行数:27,代码来源:asyncreadertest.py

示例2: __init__

# 需要导入模块: from seecr.test.portnumbergenerator import PortNumberGenerator [as 别名]
# 或者: from seecr.test.portnumbergenerator.PortNumberGenerator import next [as 别名]
    def __init__(self, stateName, tests=None, fastMode=False):
        IntegrationState.__init__(self, "examples-" + stateName, tests=tests, fastMode=fastMode)

        self.testdataDir = join(dirname(mydir), 'data')
        self.gatewayPort = PortNumberGenerator.next()
        self.indexPort = PortNumberGenerator.next()
        self.apiPort = PortNumberGenerator.next()
        self.lucenePort = PortNumberGenerator.next()
开发者ID:seecr,项目名称:meresco-examples,代码行数:10,代码来源:integrationstate.py

示例3: testConnectFails

# 需要导入模块: from seecr.test.portnumbergenerator import PortNumberGenerator [as 别名]
# 或者: from seecr.test.portnumbergenerator.PortNumberGenerator import next [as 别名]
    def testConnectFails(self):
        def failingserver(*args, **kwarg):
            response = yield httpget(*target)

        self.handler = failingserver

        clientget('localhost', self.port, '/')
        target = ('localhost', 'port', '/') # non-numeric port
        self._loopReactorUntilDone()

        expectedTraceback = ignoreLineNumbers("""Traceback (most recent call last):
  File "%(__file__)s", line 0, in handle
      yield self.handler(*args, **kwargs)
  File "%(__file__)s", line 85, in failingserver
    response = yield httpget(*target)
  File "%(httprequest.py)s", line 78, in httprequest
    result = s.getResult()
  File "%(suspend.py)s", line 34, in __call__
    self._doNext(self)
  File "%(httprequest.py)s", line 35, in _do
    sok.connect((host, port))
  File "<string>", line 1, in connect
TypeError: an integer is required
       """ % fileDict)
        if PYVERSION == "2.7":
            expectedTraceback = ignoreLineNumbers("""Traceback (most recent call last):
  File "%(__file__)s", line 0, in handle
      yield self.handler(*args, **kwargs)
  File "%(__file__)s", line 85, in failingserver
    response = yield httpget(*target)
  File "%(httprequest.py)s", line 78, in httprequest
    result = s.getResult()
  File "%(suspend.py)s", line 34, in __call__
    self._doNext(self)
  File "%(httprequest.py)s", line 35, in _do
    sok.connect((host, port))
  File "/usr/lib/python2.7/socket.py", line [#], in meth
    return getattr(self._sock,name)(*args)
TypeError: an integer is required
       """ % fileDict)
        self.assertEquals(TypeError, self.error[0])
        self.assertEqualsWS(expectedTraceback, ignoreLineNumbers(''.join(format_exception(*self.error))))

        target = ('localhost', 87, '/') # invalid port
        clientget('localhost', self.port, '/')
        self._loopReactorUntilDone()
        self.assertEquals(IOError, self.error[0])

        target = ('UEYR^$*FD(#>NDJ.khfd9.(*njnd', PortNumberGenerator.next(), '/') # invalid host
        clientget('localhost', self.port, '/')
        self._loopReactorUntilDone()
        self.assertEquals(SocketGaiError, self.error[0])

        target = ('127.0.0.1', PortNumberGenerator.next(), '/')  # No-one listens
        clientget('localhost', self.port, '/')
        self._loopReactorUntilDone()
        self.assertEquals(IOError, self.error[0])
        self.assertEquals('111', str(self.error[1]))
开发者ID:seecr,项目名称:weightless-core,代码行数:60,代码来源:asyncreadertest.py

示例4: __init__

# 需要导入模块: from seecr.test.portnumbergenerator import PortNumberGenerator [as 别名]
# 或者: from seecr.test.portnumbergenerator.PortNumberGenerator import next [as 别名]
    def __init__(self, stateName, tests=None, fastMode=False):
        IntegrationState.__init__(self, stateName=stateName, tests=tests, fastMode=fastMode)

        self.virtuosoDataDir = join(self.integrationTempdir, 'virtuoso-data')
        self.bulkLoadDir = join(self.integrationTempdir, 'bulk-load-data')
        self.virtuosoPort = PortNumberGenerator.next()
        self.odbcPort = PortNumberGenerator.next()
        self.httpPort = PortNumberGenerator.next()
        self.testdataDir = join(dirname(myDir), 'data')
        if not fastMode:
            system('rm -rf ' + self.integrationTempdir)
            system('mkdir --parents ' + self.virtuosoDataDir)
开发者ID:seecr,项目名称:meresco-virtuoso,代码行数:14,代码来源:virtuosointegrationstate.py

示例5: testBindPortNumberGivenKeepsOldUsedPortsOnFailure

# 需要导入模块: from seecr.test.portnumbergenerator import PortNumberGenerator [as 别名]
# 或者: from seecr.test.portnumbergenerator.PortNumberGenerator import next [as 别名]
    def testBindPortNumberGivenKeepsOldUsedPortsOnFailure(self):
        port1 = PortNumberGenerator.next()
        port2 = PortNumberGenerator.next(blockSize=2)
        port3 = port2 + 1
        PortNumberGenerator.bind(port3)

        # Overlap with already bind port: port3.
        self.assertEquals(set([port1, port2, port3]), PortNumberGenerator._usedPorts)
        self.assertEquals(set([port3]), set(PortNumberGenerator._bound.keys()))
        try:
            PortNumberGenerator.bind(port2, blockSize=2)
        except RuntimeError, e:
            self.assertEquals('Port(s) already bound', str(e))
开发者ID:seecr,项目名称:seecr-test,代码行数:15,代码来源:portnumbergeneratortest.py

示例6: __init__

# 需要导入模块: from seecr.test.portnumbergenerator import PortNumberGenerator [as 别名]
# 或者: from seecr.test.portnumbergenerator.PortNumberGenerator import next [as 别名]
 def __init__(self, stateName, tests=None, fastMode=False):
     SeecrIntegrationState.__init__(self, "meresco-lucene-" + stateName, tests=tests, fastMode=fastMode)
     self.stateName = stateName
     if not fastMode:
         system('rm -rf ' + self.integrationTempdir)
         system('mkdir --parents '+ self.integrationTempdir)
     self.suggestionServerPort = PortNumberGenerator.next()
     self.luceneServerPort = PortNumberGenerator.next()
     self.httpPort = PortNumberGenerator.next()
     self.testdataDir = join(dirname(mydir), "data")
     self.JAVA_BIN = "/usr/lib/jvm/java-1.8.0-openjdk-amd64/jre/bin"
     if not isdir(self.JAVA_BIN):
         self.JAVA_BIN = "/usr/lib/jvm/java-1.8.0/bin"
开发者ID:seecr,项目名称:meresco-lucene,代码行数:15,代码来源:integrationstate.py

示例7: testReasonableAmountOfUniquePortNumbers

# 需要导入模块: from seecr.test.portnumbergenerator import PortNumberGenerator [as 别名]
# 或者: from seecr.test.portnumbergenerator.PortNumberGenerator import next [as 别名]
    def testReasonableAmountOfUniquePortNumbers(self):
        number = PortNumberGenerator.next()

        self.assertEquals(int, type(number))

        numbers = []
        # More than 14000 gets *very* slow or fails
        # When guaranteed uniqe numbers for that many ports are needed,
        # change the approach (say reading: cat /proc/net/tcp | awk '{print $2}' | sed -e '1d')
        for i in xrange(14000):
            numbers.append(PortNumberGenerator.next())

        self.assertEquals(14000, len(numbers))
        self.assertEquals(14000, len(set(numbers)))
        self.assertEquals(True, all((0 <= n < 65536) for n in numbers))
开发者ID:seecr,项目名称:seecr-test,代码行数:17,代码来源:portnumbergeneratortest.py

示例8: testSuspendProtocol

# 需要导入模块: from seecr.test.portnumbergenerator import PortNumberGenerator [as 别名]
# 或者: from seecr.test.portnumbergenerator.PortNumberGenerator import next [as 别名]
    def testSuspendProtocol(self):
        with Reactor() as reactor:
            suspend = Suspend()
            def handler(**httpvars):
                yield 'before suspend'
                yield suspend
                yield "result = %s" % suspend.getResult()
                yield 'after suspend'
            listener = MyMockSocket()
            port = PortNumberGenerator.next()
            httpserver = HttpServer(reactor, port, handler, sok=listener)
            httpserver.listen()
            reactor.removeReader(listener) # avoid new connections
            httpserver._acceptor._accept()
            self.assertEquals(1, len(reactor._fds))
            self.assertEquals([READ_INTENT], [v.intent for v in reactor._fds.values()])
            reactor.step()
            self.assertEquals(1, len(reactor._fds))
            self.assertEquals([WRITE_INTENT], [v.intent for v in reactor._fds.values()])
            reactor.step()
            reactor.step()
            self.assertEquals(reactor, suspend._reactor)
            self.assertEquals(0, len(reactor._fds))
            suspend.resume('RESPONSE')
            self.assertEquals(1, len(reactor._fds))
            self.assertEquals([WRITE_INTENT], [v.intent for v in reactor._fds.values()])
            reactor.step()
            reactor.step()
            reactor.step()
            self.assertEquals(['before suspend', 'result = RESPONSE', 'after suspend'], listener.data)
            self.assertEquals(0, len(reactor._fds))

            # cleanup (most) fd's
            listener.close()
开发者ID:seecr,项目名称:weightless-core,代码行数:36,代码来源:suspendtest.py

示例9: testCloseStatesLocalFirst

# 需要导入模块: from seecr.test.portnumbergenerator import PortNumberGenerator [as 别名]
# 或者: from seecr.test.portnumbergenerator.PortNumberGenerator import next [as 别名]
    def testCloseStatesLocalFirst(self):
        remoteport = PortNumberGenerator.next()
        server = socket()
        server.bind(('localhost', remoteport))
        server.listen(1)
        local = socket()
        local.connect(('localhost', remoteport))
        localport = local.getsockname()[1]

        remote = server.accept()[0]
        self.assertNetStat(remoteport, localport, 'ESTABLISHED')
        self.assertNetStat(localport, remoteport, 'ESTABLISHED')

        local.close()
        self.assertNetStat(localport, remoteport, 'FIN_WAIT')
        self.assertNetStat(remoteport, localport, 'CLOSE_WAIT')

        remote.close()
        self.assertNetStat(localport, remoteport, 'TIME_WAIT')
        self.assertNetStat(remoteport, localport, None)

        server = socket()
        try:
            server.bind(('127.0.0.1', remoteport))
        except:
            self.fail('bind must succeed')
开发者ID:seecr,项目名称:weightless-core,代码行数:28,代码来源:httpprotocolintegrationtest.py

示例10: setUp

# 需要导入模块: from seecr.test.portnumbergenerator import PortNumberGenerator [as 别名]
# 或者: from seecr.test.portnumbergenerator.PortNumberGenerator import next [as 别名]
 def setUp(self):
     TestCase.setUp(self)
     self.tempdir = mkdtemp()
     fd, self.tempfile = mkstemp()
     os.close(fd)
     self.reactor = Reactor()
     self.port = PortNumberGenerator.next()
开发者ID:seecr,项目名称:weightless-core,代码行数:9,代码来源:weightlesstestcase.py

示例11: testHttpGet

# 需要导入模块: from seecr.test.portnumbergenerator import PortNumberGenerator [as 别名]
# 或者: from seecr.test.portnumbergenerator.PortNumberGenerator import next [as 别名]
    def testHttpGet(self):
        get_request = []
        port = PortNumberGenerator.next()
        self.referenceHttpServer(port, get_request)

        responses = []
        def gethandler(*args, **kwargs):
            response = 'no response yet'
            try:
                response = yield httpget('localhost', port, '/path',
                        headers={'Content-Type': 'text/plain', 'Content-Length': 0},
                        prio=4
                )
            finally:
                responses.append(response)
            yield 'HTTP/1.0 200 OK\r\n\r\n'
        self.handler = gethandler
        clientget('localhost', self.port, '/')
        self._loopReactorUntilDone()

        self.assertTrue("GET RESPONSE" in responses[0], responses[0])
        self.assertEquals('GET', get_request[0]['command'])
        self.assertEquals('/path', get_request[0]['path'])
        headers = get_request[0]['headers'].headers
        self.assertEquals(['Content-Length: 0\r\n', 'Content-Type: text/plain\r\n'], headers)
开发者ID:seecr,项目名称:weightless-core,代码行数:27,代码来源:asyncreadertest.py

示例12: testConnect

# 需要导入模块: from seecr.test.portnumbergenerator import PortNumberGenerator [as 别名]
# 或者: from seecr.test.portnumbergenerator.PortNumberGenerator import next [as 别名]
    def testConnect(self):
        self.req = False
        serverResponse = 'Hello World'
        def onRequest(**kwargs):
            yield 'HTTP/1.0 200 OK\r\n\r\n' + serverResponse
            self.req = True

        port = PortNumberGenerator.next()
        with Reactor() as reactor:
            try:
                server = HttpsServer(reactor, port, onRequest, keyfile='ssl/server.pkey', certfile='ssl/server.cert')
                server.listen()

                p = Popen('wget -O - --no-check-certificate --quiet https://localhost:%s' % port, shell=True, stdout=PIPE)

                popenStdout = []
                def readPopenStdout():
                    popenStdout.append(p.stdout.read())
                reactor.addReader(p.stdout, readPopenStdout)

                while not self.req:
                   reactor.step()

                reactor.step()
                self.assertEquals(1, len(popenStdout))
                self.assertEquals(serverResponse, popenStdout[0])
            finally:
                server.shutdown()

            # cleanup
            reactor.removeReader(p.stdout)
开发者ID:seecr,项目名称:weightless-core,代码行数:33,代码来源:httpsservertest.py

示例13: testHttpGetWithReallyLargeHeaders

# 需要导入模块: from seecr.test.portnumbergenerator import PortNumberGenerator [as 别名]
# 或者: from seecr.test.portnumbergenerator.PortNumberGenerator import next [as 别名]
    def testHttpGetWithReallyLargeHeaders(self):
        get_request = []
        port = PortNumberGenerator.next()
        self.referenceHttpServer(port, get_request)

        responses = []
        headersOrig = {'Accept': 'text/plain'}
        headersOrig.update([
            ('X-Really-Largely-Large-%s' % i, 'aLargelyLargeValue')
            for i in range(10000)
        ])
        def gethandler(*args, **kwargs):
            response = 'no response yet'
            try:
                response = yield httpget('localhost', port, '/path',
                    headers=headersOrig,
                )
            finally:
                responses.append(response)

            yield 'HTTP/1.0 200 OK\r\n\r\n'
        self.handler = gethandler
        clientget('localhost', self.port, '/')
        self._loopReactorUntilDone()

        headers = get_request[0]['headers'].headers
        headersAsDict = dict([tuple(h.strip().split(': ', 1)) for h in headers])
        self.assertEquals(len(headersOrig), len(headersAsDict))
        self.assertEquals(headersOrig, headersAsDict)

        self.assertTrue("GET RESPONSE" in responses[0], responses[0])
        self.assertEquals('GET', get_request[0]['command'])
        self.assertEquals('/path', get_request[0]['path'])
开发者ID:seecr,项目名称:weightless-core,代码行数:35,代码来源:asyncreadertest.py

示例14: testSuspendProtocolWithThrow

# 需要导入模块: from seecr.test.portnumbergenerator import PortNumberGenerator [as 别名]
# 或者: from seecr.test.portnumbergenerator.PortNumberGenerator import next [as 别名]
 def testSuspendProtocolWithThrow(self):
     with Reactor() as reactor:
         suspend = Suspend()
         def handler(**httpvars):
             yield 'before suspend'
             yield suspend
             try:
                 suspend.getResult()
                 self.fail()
             except ValueError, e:
                 tbstring = format_exc()
                 yield "result = %s" % tbstring
             yield 'after suspend'
         listener = MyMockSocket()
         port = PortNumberGenerator.next()
         httpserver = HttpServer(reactor, port, handler, sok=listener)
         httpserver.listen()
         reactor.removeReader(listener) # avoid new connections
         httpserver._acceptor._accept()
         reactor.step()
         reactor.step()
         reactor.step()
         self.assertEquals(reactor, suspend._reactor)
         self.assertEquals(0, len(reactor._fds))
         def raiser():
             raise ValueError("BAD VALUE")
         try:
             raiser()
         except ValueError, e:
             exc_type, exc_value, exc_traceback = exc_info()
             suspend.throw(exc_type, exc_value, exc_traceback)
开发者ID:seecr,项目名称:weightless-core,代码行数:33,代码来源:suspendtest.py

示例15: testCloseStatesRemoteFirst

# 需要导入模块: from seecr.test.portnumbergenerator import PortNumberGenerator [as 别名]
# 或者: from seecr.test.portnumbergenerator.PortNumberGenerator import next [as 别名]
    def testCloseStatesRemoteFirst(self):
        remoteport = PortNumberGenerator.next()
        server = socket()
        server.bind(('127.0.0.1', remoteport))
        server.listen(1)
        local = socket()
        local.connect(('127.0.0.1', remoteport))
        localport = local.getsockname()[1]

        remote = server.accept()[0]
        self.assertNetStat(remoteport, localport, 'ESTABLISHED')
        self.assertNetStat(localport, remoteport, 'ESTABLISHED')

        remote.close()
        self.assertNetStat(remoteport, localport, 'FIN_WAIT')
        self.assertNetStat(localport, remoteport, 'CLOSE_WAIT')

        local.close()
        self.assertNetStat(remoteport, localport, 'TIME_WAIT')
        self.assertNetStat(localport, remoteport, None)

        server.close()
        server = socket()
        try:
            server.bind(('127.0.0.1', remoteport))
            self.fail('re-bind must raise Address Already in Use Exception')
        except AssertionError:
            raise
        except Exception, e:
            pass
开发者ID:seecr,项目名称:weightless-core,代码行数:32,代码来源:httpprotocolintegrationtest.py


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