class TestServicesBase: run_tests_with = AsynchronousDeferredRunTest.make_factory(timeout=5) def setUp(self): super(TestServicesBase, self).setUp() self.observers = theLogPublisher.observers[:] self.services = MultiService() self.services.privilegedStartService() self.services.startService() def tearDown(self): super(TestServicesBase, self).tearDown() d = self.services.stopService() # The log file must be read in right after services have stopped, # before the temporary directory where the log lives is removed. d.addBoth(lambda ignore: self.addDetailFromLog()) d.addBoth(lambda ignore: self.assertNoObserversLeftBehind()) return d def addDetailFromLog(self): content = content_from_file(self.log_filename, buffer_now=True) self.addDetail("log", content) def assertNoObserversLeftBehind(self): self.assertEqual(self.observers, theLogPublisher.observers)
def start_site(reactor, site, secure_ports, insecure_ports, redirect_to_port): parent = MultiService() for secure in secure_ports: StreamServerEndpointService(secure, site).setServiceParent(parent) if insecure_ports: redirector = make_redirector_site(redirect_to_port) for insecure in insecure_ports: StreamServerEndpointService(insecure, redirector).setServiceParent(parent) parent.privilegedStartService() parent.startService()
def start_site(reactor, site, secure_ports, insecure_ports, redirect_to_port): parent = MultiService() for secure in secure_ports: StreamServerEndpointService(secure, site).setServiceParent(parent) if insecure_ports: redirector = make_redirector_site(redirect_to_port) for insecure in insecure_ports: StreamServerEndpointService(insecure, redirector).setServiceParent(parent) parent.privilegedStartService() parent.startService()
def privilegedStartService(self): MultiService.privilegedStartService(self) self.logObserver.start()