示例#1
0
    def stop(self):
        """ This method overrides Daemon.stop in order to disconnect the session
        when stopping the daemon. """

        client = Client()
        client.disconnect()

        Daemon.stop(self)
示例#2
0
    def test_xmppmotedaemon_run(self):
        """ Test the run method of the XMPPMoteDaemon, using Mox in order to
        verify proper connection procedure. """

        mock_update_handler = self.mox.CreateMockAnything()

        self.mox.StubOutWithMock(StatusProvider, "__init__")
        self.mox.StubOutWithMock(StatusProvider, "start")
        self.mox.StubOutWithMock(Client, "__init__")
        self.mox.StubOutWithMock(Client, "connect")
        self.mox.StubOutWithMock(Client, "loop")
        self.mox.StubOutWithMock(Client, "disconnect")

        self.mox.StubOutWithMock(Daemon, "start")

        self.mox.StubOutWithMock(xmppmoted.XMPPMoteDaemon,
                                 "_XMPPMoteDaemon__parse_config_file")
        self.mox.StubOutWithMock(xmppmoted.XMPPMoteDaemon,
                                 "_XMPPMoteDaemon__get_pidfile")
        self.mox.StubOutWithMock(credentials, "get_credentials")

        self.mox.StubOutWithMock(updates, "get_update_handler")

        xmppmoted.XMPPMoteDaemon._XMPPMoteDaemon__parse_config_file()
        xmppmoted.XMPPMoteDaemon._XMPPMoteDaemon__get_pidfile().AndReturn(None)

        Daemon.start(mox.IgnoreArg())

        credentials.get_credentials().AndReturn((self.__usr, self.__pwd))

        StatusProvider.__init__()
        StatusProvider.start()

        updates.get_update_handler().AndReturn(mock_update_handler)
        mock_update_handler.start()

        Client.__init__(JID(self.__usr), self.__pwd)

        Client.connect()
        Client.loop(1)
        Client.disconnect()
        self.mox.ReplayAll()

        daemon = xmppmoted.XMPPMoteDaemon()
        daemon.start()
        daemon.run()
示例#3
0
    def do_command(self, command, args=None):
        """ Overridden in order to provide the restricted command set
            feature. """
        if "bye" == command:
            client = Client()
            client.change_status(u"terminating session", False)
            client.disconnect()
            return u"terminating"

        cmd = [command]
        if args:
            cmd.extend(args)
        try:
            body = self.make_syscall(cmd)
        except OSError as ex:
            body = "%s: %s (%d)" % (type(ex), ex.strerror, ex.errno)

        return body