Exemple #1
0
    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")
Exemple #2
0
 def test_config_reset(self):
     """
     Reset turn is_loaded to False
     """
     config._is_loaded = True
     config._reset()
     self.assertFalse(config._is_loaded)
Exemple #3
0
 def test_config_reset(self):
     """
     Reset turn is_loaded to False
     """
     config._is_loaded = True
     config._reset()
     self.assertFalse(config._is_loaded)
Exemple #4
0
 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")
Exemple #5
0
 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")
Exemple #6
0
    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")
Exemple #7
0
    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")
Exemple #8
0
    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")
Exemple #9
0
    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")
Exemple #10
0
    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")
Exemple #11
0
    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")
Exemple #12
0
 def setUp(self):
     config._reset()
Exemple #13
0
 def setUp(self):
     config._reset()
     registry._registered_forms.clear()
Exemple #14
0
 def setUp(self):
     config._reset()
     registry._registered_forms.clear()
Exemple #15
0
    def setUp(self):
        _cache.clear()
        config._reset()
        registry._registered_forms.clear()

        self.cache = get_cache(djconfig_settings.BACKEND)
Exemple #16
0
 def setUp(self):
     _cache.clear()
     config._reset()
Exemple #17
0
 def setUp(self):
     config._reset()
     djconfig.register(BarConfigAdminForm)
     djconfig.register(BazConfigAdminForm)
     self.user = User.objects.create_superuser(
         'foo', '*****@*****.**', 'bar')
Exemple #18
0
 def setUp(self):
     config._reset()