unit-test for relay request, and fix Data() handling
This commit is contained in:
parent
1170f196b3
commit
07b4067727
|
@ -1,4 +1,6 @@
|
||||||
from __future__ import print_function, unicode_literals
|
# NO unicode_literals or static.Data() will break, because it demands
|
||||||
|
# a str on Python 2
|
||||||
|
from __future__ import print_function
|
||||||
from twisted.python import log
|
from twisted.python import log
|
||||||
from twisted.internet import reactor, endpoints
|
from twisted.internet import reactor, endpoints
|
||||||
from twisted.application import service
|
from twisted.application import service
|
||||||
|
|
|
@ -13,21 +13,21 @@ class ServerBase:
|
||||||
def _setup_relay(self, error):
|
def _setup_relay(self, error):
|
||||||
self.sp = service.MultiService()
|
self.sp = service.MultiService()
|
||||||
self.sp.startService()
|
self.sp.startService()
|
||||||
relayport = allocate_tcp_port()
|
self.relayport = allocate_tcp_port()
|
||||||
transitport = allocate_tcp_port()
|
self.transitport = allocate_tcp_port()
|
||||||
# need to talk to twisted team about only using unicode in
|
# need to talk to twisted team about only using unicode in
|
||||||
# endpoints.serverFromString
|
# endpoints.serverFromString
|
||||||
s = RelayServer("tcp:%d:interface=127.0.0.1" % relayport,
|
s = RelayServer("tcp:%d:interface=127.0.0.1" % self.relayport,
|
||||||
"tcp:%s:interface=127.0.0.1" % transitport,
|
"tcp:%s:interface=127.0.0.1" % self.transitport,
|
||||||
advertise_version=__version__,
|
advertise_version=__version__,
|
||||||
signal_error=error)
|
signal_error=error)
|
||||||
s.setServiceParent(self.sp)
|
s.setServiceParent(self.sp)
|
||||||
self._rendezvous = s._rendezvous
|
self._rendezvous = s._rendezvous
|
||||||
self._transit_server = s._transit
|
self._transit_server = s._transit
|
||||||
self.relayurl = u"ws://127.0.0.1:%d/v1" % relayport
|
self.relayurl = u"ws://127.0.0.1:%d/v1" % self.relayport
|
||||||
self.rdv_ws_port = relayport
|
self.rdv_ws_port = self.relayport
|
||||||
# ws://127.0.0.1:%d/wormhole-relay/ws
|
# ws://127.0.0.1:%d/wormhole-relay/ws
|
||||||
self.transit = u"tcp:127.0.0.1:%d" % transitport
|
self.transit = u"tcp:127.0.0.1:%d" % self.transitport
|
||||||
|
|
||||||
def tearDown(self):
|
def tearDown(self):
|
||||||
# Unit tests that spawn a (blocking) client in a thread might still
|
# Unit tests that spawn a (blocking) client in a thread might still
|
||||||
|
|
|
@ -7,6 +7,7 @@ from twisted.python import log
|
||||||
from twisted.internet import protocol, reactor, defer
|
from twisted.internet import protocol, reactor, defer
|
||||||
from twisted.internet.defer import inlineCallbacks, returnValue
|
from twisted.internet.defer import inlineCallbacks, returnValue
|
||||||
from twisted.internet.endpoints import clientFromString, connectProtocol
|
from twisted.internet.endpoints import clientFromString, connectProtocol
|
||||||
|
from twisted.web import client
|
||||||
from autobahn.twisted import websocket
|
from autobahn.twisted import websocket
|
||||||
from .. import __version__
|
from .. import __version__
|
||||||
from .common import ServerBase
|
from .common import ServerBase
|
||||||
|
@ -1030,6 +1031,11 @@ class Transit(ServerBase, unittest.TestCase):
|
||||||
self.failUnlessEqual(blur(1100e6), 1100e6)
|
self.failUnlessEqual(blur(1100e6), 1100e6)
|
||||||
self.failUnlessEqual(blur(1150e6), 1200e6)
|
self.failUnlessEqual(blur(1150e6), 1200e6)
|
||||||
|
|
||||||
|
@defer.inlineCallbacks
|
||||||
|
def test_web_request(self):
|
||||||
|
resp = yield client.getPage('http://127.0.0.1:{}/'.format(self.relayport).encode('ascii'))
|
||||||
|
self.assertEqual('Wormhole Relay'.encode('ascii'), resp.strip())
|
||||||
|
|
||||||
@defer.inlineCallbacks
|
@defer.inlineCallbacks
|
||||||
def test_basic(self):
|
def test_basic(self):
|
||||||
ep = clientFromString(reactor, self.transit)
|
ep = clientFromString(reactor, self.transit)
|
||||||
|
|
Loading…
Reference in New Issue
Block a user