def startup(): """Startup Miro. This method starts up the eventloop and schedules the rest of the startup to run in the event loop. Frontends should call this method, then wait for 1 of 2 messages StartupSuccess is sent once the startup is done and the backend is ready to go. StartupFailure is sent if something bad happened. initialize() must be called before startup(). """ logging.info("Starting up %s", app.config.get(prefs.LONG_APP_NAME)) logging.info("Version: %s", app.config.get(prefs.APP_VERSION)) logging.info("Revision: %s", app.config.get(prefs.APP_REVISION)) logging.info("Builder: %s", app.config.get(prefs.BUILD_MACHINE)) logging.info("Build Time: %s", app.config.get(prefs.BUILD_TIME)) logging.info("Debugmode: %s", app.debugmode) eventloop.connect('thread-started', startup_for_frontend) logging.info("Reading HTTP Password list") httpauth.init() httpauth.restore_from_file() logging.info("Starting libCURL thread") httpclient.init_libcurl() httpclient.start_thread() logging.info("Starting event loop thread") eventloop.startup() if DEBUG_DB_MEM_USAGE: mem_usage_test_event.wait() load_extensions()
def startup(): """Startup Miro. This method starts up the eventloop and schedules the rest of the startup to run in the event loop. Frontends should call this method, then wait for 1 of 2 messages StartupSuccess is sent once the startup is done and the backend is ready to go. StartupFailure is sent if something bad happened. initialize() must be called before startup(). """ logging.info("Starting up %s", app.config.get(prefs.LONG_APP_NAME)) logging.info("Version: %s", app.config.get(prefs.APP_VERSION)) logging.info("Revision: %s", app.config.get(prefs.APP_REVISION)) logging.info("Builder: %s", app.config.get(prefs.BUILD_MACHINE)) logging.info("Build Time: %s", app.config.get(prefs.BUILD_TIME)) logging.info("Debugmode: %s", app.debugmode) eventloop.connect('thread-started', finish_startup) logging.info("Reading HTTP Password list") httpauth.init() httpauth.restore_from_file() logging.info("Starting libCURL thread") httpclient.init_libcurl() httpclient.start_thread() logging.info("Starting event loop thread") eventloop.startup() if DEBUG_DB_MEM_USAGE: mem_usage_test_event.wait() load_extensions()
def test_store(self): self.setup_answer("user", "password") self.grab_url(self.httpserver.build_url('protected/index.txt')) self.assertEquals(self.dialogs_seen, 1) # write out the data store_path = self.make_temp_path('.json') httpauth.write_to_file(store_path) # reset the data, check that we get a new dialog httpauth.init() self.grab_url(self.httpserver.build_url('protected/index.txt')) self.assertEquals(self.dialogs_seen, 2) # reset the data, then restore from file. We shouldn't get a new # dialog this time httpauth.init() httpauth.restore_from_file(store_path) self.grab_url(self.httpserver.build_url('protected/index.txt')) self.assertEquals(self.dialogs_seen, 2)