def test_08_config_object(self): set_privacyidea_config(key="k1", value="v1") self.assertEqual(get_config_object().get_config("k1"), "v1") set_privacyidea_config(key="k1", value="v2") # not updated yet self.assertEqual(get_config_object().get_config("k1"), "v1") # updated now self.assertEqual(update_config_object().get_config("k1"), "v2")
def test_09_invalidate_config_object(self): # Test manual invalidation of the config object # Ensure we have a config object get_config_object() # Add a config option *without invalidating the config* db.session.add(Config(Key=u"some_key", Value=u"some_value")) save_config_timestamp(False) db.session.commit() # The request-local config does not know about the new config option self.assertEqual(get_from_config("some_key", "default"), "default") # ... so we manually invalidate it ... invalidate_config_object() # ... and the new config object knows! self.assertEqual(get_from_config("some_key", "default"), "some_value")
def get_realm_id(realmname): """ Returns the realm_id for a realm name :param realmname: The name of the realm :return: The ID of the realm. If the realm does not exist, returns None. """ return get_config_object().realm.get(realmname, {}).get("id")
def get_default_realm(): """ return the default realm - lookup in the config for the DefaultRealm key @return: the realm name @rtype : string """ return get_config_object().default_realm
def get_realms(realmname=None): ''' either return all defined realms or a specific realm :param realmname: the realm, that is of interestet, if =="" all realms are returned :type realmname: string :return: a dict with realm description like :rtype: dict ''' config_object = get_config_object() realms = config_object.realm if realmname: if realmname in realms: realms = {realmname: realms.get(realmname)} else: realms = {} return realms
def test_08_config_object(self): obj1 = get_config_object() # Another call to ``get_config_object`` returns the identical config object self.assertIs(obj1, get_config_object()) set_privacyidea_config(key="k1", value="v1") # ``set_privacyidea_config`` invalidates the config object, so we get a different one obj2 = get_config_object() self.assertIsNot(obj1, obj2) self.assertEqual(get_config_object().get_config("k1"), "v1") # ``set_privacyidea_config`` again invalidates the config object set_privacyidea_config(key="k1", value="v2") obj3 = get_config_object() self.assertIsNot(obj2, obj3) self.assertEqual(get_config_object().get_config("k1"), "v2")
def events(self): """ Shortcut for retrieving the currently defined event handlers from the request-local config object. """ return get_config_object().events