Add initial tests for dynamic config
This commit is contained in:
parent
1e317f82f5
commit
d67d3f8d6d
|
|
@ -0,0 +1,44 @@
|
|||
from django.core.cache import cache
|
||||
from django.test import TestCase
|
||||
|
||||
from extras.models import ConfigRevision
|
||||
from netbox.config import clear_config, get_config
|
||||
|
||||
|
||||
class ConfigTestCase(TestCase):
|
||||
|
||||
def test_config_init_empty(self):
|
||||
cache.clear()
|
||||
|
||||
config = get_config()
|
||||
self.assertEqual(config.config, {})
|
||||
self.assertEqual(config.version, None)
|
||||
|
||||
clear_config()
|
||||
|
||||
def test_config_init_from_db(self):
|
||||
CONFIG_DATA = {'BANNER_TOP': 'A'}
|
||||
cache.clear()
|
||||
|
||||
# Create a config but don't load it into the cache
|
||||
configrevision = ConfigRevision.objects.create(data=CONFIG_DATA)
|
||||
|
||||
config = get_config()
|
||||
self.assertEqual(config.config, CONFIG_DATA)
|
||||
self.assertEqual(config.version, configrevision.pk)
|
||||
|
||||
clear_config()
|
||||
|
||||
def test_config_init_from_cache(self):
|
||||
CONFIG_DATA = {'BANNER_TOP': 'B'}
|
||||
cache.clear()
|
||||
|
||||
# Create a config and load it into the cache
|
||||
configrevision = ConfigRevision.objects.create(data=CONFIG_DATA)
|
||||
configrevision.activate()
|
||||
|
||||
config = get_config()
|
||||
self.assertEqual(config.config, CONFIG_DATA)
|
||||
self.assertEqual(config.version, configrevision.pk)
|
||||
|
||||
clear_config()
|
||||
Loading…
Reference in New Issue