def create_introducer_webish(reactor, port_assigner, basedir): """ Create and start an introducer node and return it and its ``WebishServer`` service. :param reactor: The reactor to use to allow the introducer node to use to listen for connections. :param SameProcessStreamEndpointAssigner port_assigner: The assigner to use to assign a listening port for the introducer node. :param bytes basedir: A non-existant path where the introducer node will be created. :return Deferred[(_IntroducerNode, WebishServer)]: A Deferred that fires with the node and its webish service. """ node.create_node_dir(basedir, "testing") _, port_endpoint = port_assigner.assign(reactor) with open(join(basedir, "tahoe.cfg"), "w") as f: f.write("[node]\n" "tub.location = 127.0.0.1:1\n" + "web.port = {}\n".format(port_endpoint)) intro_node = yield create_introducer(basedir) ws = intro_node.getServiceNamed("webish") yield fireEventually(None) intro_node.startService() defer.returnValue((intro_node, ws))
def test_welcome(self): basedir = self.mktemp() node.create_node_dir(basedir, "testing") with open(join(basedir, "tahoe.cfg"), "w") as f: f.write( "[node]\n" "tub.location = 127.0.0.1:1\n" "web.port = tcp:0\n" ) self.node = yield create_introducer(basedir) self.ws = self.node.getServiceNamed("webish") yield fireEventually(None) self.node.startService() url = "http://localhost:%d/" % self.ws.getPortnum() res = yield do_http("get", url) self.failUnlessIn('Welcome to the Tahoe-LAFS Introducer', res) self.failUnlessIn(FAVICON_MARKUP, res) self.failUnlessIn('Page rendered at', res) self.failUnlessIn('Tahoe-LAFS code imported from:', res)
def test_welcome(self): basedir = self.mktemp() node.create_node_dir(basedir, "testing") _, port_endpoint = self.port_assigner.assign(reactor) with open(join(basedir, "tahoe.cfg"), "w") as f: f.write("[node]\n" "tub.location = 127.0.0.1:1\n" + "web.port = {}\n".format(port_endpoint)) self.node = yield create_introducer(basedir) self.ws = self.node.getServiceNamed("webish") yield fireEventually(None) self.node.startService() url = "http://localhost:%d/" % self.ws.getPortnum() res = yield do_http("get", url) soup = BeautifulSoup(res, 'html5lib') assert_soup_has_text(self, soup, u'Welcome to the Tahoe-LAFS Introducer') assert_soup_has_favicon(self, soup) assert_soup_has_text(self, soup, u'Page rendered at') assert_soup_has_text(self, soup, u'Tahoe-LAFS code imported from:')
def test_welcome(self): basedir = self.mktemp() node.create_node_dir(basedir, "testing") _, port_endpoint = self.port_assigner.assign(reactor) with open(join(basedir, "tahoe.cfg"), "w") as f: f.write( "[node]\n" "tub.location = 127.0.0.1:1\n" + "web.port = {}\n".format(port_endpoint) ) self.node = yield create_introducer(basedir) self.ws = self.node.getServiceNamed("webish") yield fireEventually(None) self.node.startService() url = "http://localhost:%d/" % self.ws.getPortnum() res = yield do_http("get", url) self.failUnlessIn('Welcome to the Tahoe-LAFS Introducer', res) self.failUnlessIn(FAVICON_MARKUP, res) self.failUnlessIn('Page rendered at', res) self.failUnlessIn('Tahoe-LAFS code imported from:', res)