def setUp(self): Config.load() DbClient.startDatabase() DbClient.useTestTables() # important!
print("Database service mongod is already running without authentication switched on.") print("Please stop this mongod service before running Murmeli.") exit() if not DbClient.isPasswordAvailable(): if dbStatus == DbClient.RUNNING_SECURE: print("Database service mongod is already running with authentication but we don't have a password.") print("Please stop this mongod service before running Murmeli.") exit() print("No password is saved, so we can't use Auth on the db: go to startupwizard") canStartMurmeli = False if canStartMurmeli: print("I think I can start Murmeli, checking database status") if dbStatus == DbClient.NOT_RUNNING: canStartMurmeli = DbClient.startDatabase(useAuth=True) # Either the database was already running with auth, or we've just started it with auth if canStartMurmeli: # if we can't connect, or if we haven't got our own keypair stored, then we need the startupwizard print("Database is now running, now checking for profile") try: ownprofile = DbClient.getProfile() if ownprofile is None or ownprofile.get("keyid", None) is None: print("I didn't get a profile or didn't get a key, so I can't start Murmeli") canStartMurmeli = False else: print("I think I got a profile and a keyid: '", ownprofile.get("keyid", ""), "' so I'm going to start Murmeli") except Exception: canStartMurmeli = False # maybe authentication failed?