Example #1
0
class TestStartupAndShutdown(TestCase):
    def setUp(self):
        self.broker = AccessBroker(DB_URL)
        return self.broker.startup()

    def testMultipleShutdowns(self):
        def runner():
            for k in xrange(10):
                yield waitForDeferred(self.broker.shutdown())
                d = Deferred()
                reactor.callLater(0.02, d.callback, None)
                yield waitForDeferred(d)

        runner = deferredGenerator(runner)
        return runner()

    def testShutdownTwoBrokers(self):
        brokerB = AccessBroker(DB_URL)

        def thisOneShutdown(null, broker):
            print "Done shutting down broker '%s'" % broker

        def shutEmDown(null):
            dList = []
            for broker in (self.broker, brokerB):
                d = broker.shutdown()
                if VERBOSE:
                    d.addCallback(thisOneShutdown, broker)
                dList.append(d)
            return DeferredList(dList)

        d = brokerB.startup()
        d.addCallback(shutEmDown)
        return d

    def testShutdownThreeBrokers(self):
        brokerB = AccessBroker(DB_URL)
        brokerC = AccessBroker(DB_URL)

        def thisOneShutdown(null, broker):
            print "Done shutting down broker '%s'" % broker

        def shutEmDown(null):
            dList = []
            for broker in (self.broker, brokerB, brokerC):
                d = broker.shutdown()
                if VERBOSE:
                    d.addCallback(thisOneShutdown, broker)
                dList.append(d)
            return DeferredList(dList)

        d = DeferredList([brokerB.startup(), brokerC.startup()])
        d.addCallback(shutEmDown)
        return d
Example #2
0
class TestStartupAndShutdown(TestCase):
    def setUp(self):
        self.broker = AccessBroker(DB_URL)
        return self.broker.startup()

    def testMultipleShutdowns(self):
        def runner():
            for k in xrange(10):
                yield waitForDeferred(self.broker.shutdown())
                d = Deferred()
                reactor.callLater(0.02, d.callback, None)
                yield waitForDeferred(d)
        runner = deferredGenerator(runner)
        return runner()

    def testShutdownTwoBrokers(self):
        brokerB = AccessBroker(DB_URL)

        def thisOneShutdown(null, broker):
            print "Done shutting down broker '%s'" % broker

        def shutEmDown(null):
            dList = []
            for broker in (self.broker, brokerB):
                d = broker.shutdown()
                if VERBOSE:
                    d.addCallback(thisOneShutdown, broker)
                dList.append(d)
            return DeferredList(dList)

        d = brokerB.startup()
        d.addCallback(shutEmDown)
        return d

    def testShutdownThreeBrokers(self):
        brokerB = AccessBroker(DB_URL)
        brokerC = AccessBroker(DB_URL)

        def thisOneShutdown(null, broker):
            print "Done shutting down broker '%s'" % broker

        def shutEmDown(null):
            dList = []
            for broker in (self.broker, brokerB, brokerC):
                d = broker.shutdown()
                if VERBOSE:
                    d.addCallback(thisOneShutdown, broker)
                dList.append(d)
            return DeferredList(dList)

        d = DeferredList([brokerB.startup(), brokerC.startup()])
        d.addCallback(shutEmDown)
        return d