Ejemplo n.º 1
0
    def _getFreePort(self):
        while True:
            port = netutils.tryPort()
            if port is not None:
                break

        return port
    def _getFreePort(self):
        while True:
            port = netutils.tryPort()
            if port is not None:
                break

        return port
Ejemplo n.º 3
0
 def _startManager(self, state):
     port = tryPort()
     managerSpawner = LocalManagerSpawner(port)
     managerSpawner.connect("error", self._on_spawner_error, state)
     managerSpawner.connect("description-changed", self._on_spawner_description_changed)
     managerSpawner.connect("finished", self._on_spawner_finished, state)
     managerSpawner.start()
Ejemplo n.º 4
0
 def _startManager(self, state):
     port = tryPort()
     managerSpawner = LocalManagerSpawner(port)
     managerSpawner.connect('error', self._on_spawner_error, state)
     managerSpawner.connect('description-changed',
                            self._on_spawner_description_changed)
     managerSpawner.connect('finished', self._on_spawner_finished, state)
     managerSpawner.start()
class TestLocalManagerSpwaner(testsuite.TestCase):

    _port = tryPort()

    def checkProcessStatus(self, isRunning, runDir, logDir):
        import subprocess
        ps = subprocess.Popen("ps -ef | grep flumotion",
                              shell=True,
                              stdout=subprocess.PIPE)
        result = ps.stdout.read()
        for serviceName in ['manager', 'worker']:
            compStr = 'flumotion-%s --rundir=%s --logdir=%s'\
                    % (serviceName, runDir, logDir)
            if isRunning:
                self.assertNotEqual(result.find(compStr), -1)
            else:
                self.assertEqual(result.find(compStr), -1)
        ps.stdout.close()
        ps.wait()

    def testPort(self):
        spawner = LocalManagerSpawner(self._port)
        self.assertEquals(self._port, spawner.getPort())
        spawner = None

    testPort.skip = "Skip test"

    def testManagerStart(self):
        spawner = LocalManagerSpawner(self._port)

        def done(unused):
            self.assert_(os.path.exists(spawner.getRunDir()))
            self.assert_(os.path.exists(spawner.getConfDir()))
            self.assert_(os.path.exists(spawner.getLogDir()))
            self.checkProcessStatus(True, spawner.getRunDir(),
                                    spawner.getLogDir())
            return spawner.stop(True)

        d = spawner.start()
        d.addCallback(done)
        return d

    testManagerStart.skip = "Skip test"

    def testManagerStop(self):
        spawner = LocalManagerSpawner(self._port)
        runDir = spawner.getRunDir()
        confDir = spawner.getConfDir()
        logDir = spawner.getLogDir()

        def closeDone(unused):
            self.assert_(os.path.exists(runDir))
            self.assert_(os.path.exists(confDir))
            self.assert_(os.path.exists(logDir))
            self.checkProcessStatus(False, runDir, logDir)
            shutil.rmtree(spawner._path)

        def startDone(unused):
            self.checkProcessStatus(True, runDir, logDir)
            return spawner.stop(False)

        d = spawner.start()
        d.addCallback(startDone)
        d.addCallback(closeDone)
        return d

    testManagerStop.skip = "Skip test"

    def testManagerStopAndCleanUp(self):
        spawner = LocalManagerSpawner(self._port)
        runDir = spawner.getRunDir()
        confDir = spawner.getConfDir()
        logDir = spawner.getLogDir()

        def closeDone(unused):
            self.assert_(not os.path.exists(runDir))
            self.assert_(not os.path.exists(confDir))
            self.assert_(not os.path.exists(logDir))
            self.checkProcessStatus(False, runDir, logDir)

        def startDone(unused):
            return spawner.stop(True)

        d = spawner.start()
        d.addCallback(startDone)
        d.addCallback(closeDone)
        return d

    testManagerStopAndCleanUp.skip = "Skip test"