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)
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()
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