def test_config_load_from_database(self): """ Load configuration into the cache """ data = [ConfigModel(key='boolean', value=False), ConfigModel(key='boolean_false', value=True), ConfigModel(key='float_number', value=2.1), ConfigModel(key='char', value="foo2"), ConfigModel(key='email', value="*****@*****.**"), ConfigModel(key='integer', value=321), ConfigModel(key='url', value="foo2.com/")] ConfigModel.objects.bulk_create(data) registry.register(FooForm) config._lazy_load() keys = ['boolean', 'boolean_false', 'char', 'email', 'float_number', 'integer', 'url'] values = self.cache.get_many([prefixer(k) for k in keys]) self.assertDictEqual(values, {prefixer('boolean'): False, prefixer('boolean_false'): True, prefixer('float_number'): 2.1, prefixer('char'): "foo2", prefixer('email'): "*****@*****.**", prefixer('integer'): 321, prefixer('url'): "http://foo2.com/"}) # use initial if the field is not found in the db ConfigModel.objects.get(key='char').delete() config._reset() config._lazy_load() self.assertEqual(self.cache.get(prefixer('char')), "foo")
def test_config_reset(self): """ Reset turn is_loaded to False """ config._is_loaded = True config._reset() self.assertFalse(config._is_loaded)
def test_config_lazy_load(self): """ Load the config the first time you access an attribute """ self.assertRaises(AttributeError, lambda: config.char) registry.register(FooForm) self.assertRaises(AttributeError, lambda: config.char) config._reset() self.assertEqual(config.char, "foo")
def test_config_load_updated_at(self): """ Load updated_at """ registry.register(FooForm) self.assertIsNone(config._updated_at) ConfigModel.objects.create(key="_updated_at", value="string") config._reset() self.assertEqual(config._updated_at, "string")
def test_config_load_from_database(self): """ Load configuration into the cache """ model_choice = ChoiceModel.objects.create(name='A') model_choice_b = ChoiceModel.objects.create(name='B') data = [ ConfigModel(key='boolean', value=False), ConfigModel(key='boolean_false', value=True), ConfigModel(key='float_number', value=2.1), ConfigModel(key='char', value="foo2"), ConfigModel(key='email', value="*****@*****.**"), ConfigModel(key='integer', value=321), ConfigModel(key='url', value="foo2.com/"), ConfigModel(key='choices', value='1'), ConfigModel(key='model_choices', value=model_choice.pk), ConfigModel(key='model_m_choices', value=utils.serialize( ChoiceModel.objects.filter(pk=model_choice_b.pk), forms.ModelMultipleChoiceField(None))), ConfigModel(key='image', value='path/image.gif'), ConfigModel(key='file', value='path/file.zip') ] ConfigModel.objects.bulk_create(data) djconfig.register(FooForm) djconfig.reload_maybe() keys = ['boolean', 'boolean_false', 'char', 'email', 'float_number', 'integer', 'url', 'choices', 'model_choices', 'model_m_choices', 'image', 'file'] values = {k: getattr(config, k) for k in keys} self.assertDictEqual( values, { 'boolean': False, 'boolean_false': True, 'float_number': 2.1, 'char': "foo2", 'email': "*****@*****.**", 'integer': 321, 'url': "http://foo2.com/", 'choices': '1', 'model_choices': model_choice, 'model_m_choices': [model_choice_b], 'image': 'path/image.gif', 'file': 'path/file.zip' } ) # use initial if the field is not found in the db ConfigModel.objects.get(key='char').delete() config._reset() djconfig.register(FooForm) djconfig.reload_maybe() self.assertEqual(config.char, "foo")
def test_config_load_updated_at(self): """ Load updated_at """ registry.register(FooForm) config._lazy_load() value = self.cache.get(prefixer("_updated_at")) self.assertIsNone(value) ConfigModel.objects.create(key="_updated_at", value="string") config._reset() config._lazy_load() value = self.cache.get(prefixer("_updated_at")) self.assertEqual(value, "string")
def test_config_load_from_database(self): """ Load configuration into the cache """ data = [ ConfigModel(key='boolean', value=False), ConfigModel(key='boolean_false', value=True), ConfigModel(key='float_number', value=2.1), ConfigModel(key='char', value="foo2"), ConfigModel(key='email', value="*****@*****.**"), ConfigModel(key='integer', value=321), ConfigModel(key='url', value="foo2.com/") ] ConfigModel.objects.bulk_create(data) registry.register(FooForm) keys = [ 'boolean', 'boolean_false', 'char', 'email', 'float_number', 'integer', 'url' ] values = {k: getattr(config, k) for k in keys} self.assertDictEqual( values, { 'boolean': False, 'boolean_false': True, 'float_number': 2.1, 'char': "foo2", 'email': "*****@*****.**", 'integer': 321, 'url': "http://foo2.com/" }) # use initial if the field is not found in the db ConfigModel.objects.get(key='char').delete() config._reset() config._lazy_load() self.assertEqual(config.char, "foo")
def test_config_load_from_database(self): """ Load configuration into the cache """ data = [ ConfigModel(key="boolean", value=False), ConfigModel(key="boolean_false", value=True), ConfigModel(key="float_number", value=2.1), ConfigModel(key="char", value="foo2"), ConfigModel(key="email", value="*****@*****.**"), ConfigModel(key="integer", value=321), ConfigModel(key="url", value="foo2.com/"), ] ConfigModel.objects.bulk_create(data) registry.register(FooForm) keys = ["boolean", "boolean_false", "char", "email", "float_number", "integer", "url"] values = {k: getattr(config, k) for k in keys} self.assertDictEqual( values, { "boolean": False, "boolean_false": True, "float_number": 2.1, "char": "foo2", "email": "*****@*****.**", "integer": 321, "url": "http://foo2.com/", }, ) # use initial if the field is not found in the db ConfigModel.objects.get(key="char").delete() config._reset() config._lazy_load() self.assertEqual(config.char, "foo")
def setUp(self): config._reset()
def setUp(self): config._reset() registry._registered_forms.clear()
def setUp(self): _cache.clear() config._reset() registry._registered_forms.clear() self.cache = get_cache(djconfig_settings.BACKEND)
def setUp(self): _cache.clear() config._reset()
def setUp(self): config._reset() djconfig.register(BarConfigAdminForm) djconfig.register(BazConfigAdminForm) self.user = User.objects.create_superuser( 'foo', '*****@*****.**', 'bar')