mirror of
https://github.com/evennia/evennia.git
synced 2026-03-16 21:06:30 +01:00
Use override_settings to patch settings.GLOBAL_SCRIPTS.
This commit is contained in:
parent
d2cb75b058
commit
8b590a5cf6
1 changed files with 6 additions and 11 deletions
|
|
@ -2,6 +2,7 @@ import unittest
|
|||
|
||||
from evennia.utils import containers
|
||||
from django.conf import settings
|
||||
from django.test import override_settings
|
||||
from evennia.utils.utils import class_from_module
|
||||
|
||||
_BASE_SCRIPT_TYPECLASS = class_from_module(settings.BASE_SCRIPT_TYPECLASS)
|
||||
|
|
@ -21,19 +22,13 @@ class WorseScript(_BASE_SCRIPT_TYPECLASS):
|
|||
|
||||
class TestGlobalScriptContainer(unittest.TestCase):
|
||||
|
||||
def setUp(self):
|
||||
settings.GLOBAL_SCRIPTS = {}
|
||||
|
||||
def patch_global_scripts(self, adict):
|
||||
settings.GLOBAL_SCRIPTS.update(adict)
|
||||
|
||||
def test_init_with_no_scripts(self):
|
||||
gsc = containers.GlobalScriptContainer()
|
||||
|
||||
self.assertEqual(len(gsc.loaded_data), 0)
|
||||
|
||||
@override_settings(GLOBAL_SCRIPTS={'script_name': {}})
|
||||
def test_init_with_typeclassless_script(self):
|
||||
self.patch_global_scripts({'script_name': {}})
|
||||
|
||||
gsc = containers.GlobalScriptContainer()
|
||||
|
||||
|
|
@ -47,8 +42,8 @@ class TestGlobalScriptContainer(unittest.TestCase):
|
|||
|
||||
self.assertEqual(len(gsc.typeclass_storage), 0)
|
||||
|
||||
@override_settings(GLOBAL_SCRIPTS={'script_name': {}})
|
||||
def test_start_with_typeclassless_script_defaults_to_base(self):
|
||||
self.patch_global_scripts({'script_name': {}})
|
||||
gsc = containers.GlobalScriptContainer()
|
||||
|
||||
gsc.start()
|
||||
|
|
@ -57,8 +52,8 @@ class TestGlobalScriptContainer(unittest.TestCase):
|
|||
self.assertIn('script_name', gsc.typeclass_storage)
|
||||
self.assertEqual(gsc.typeclass_storage['script_name'], _BASE_SCRIPT_TYPECLASS)
|
||||
|
||||
@override_settings(GLOBAL_SCRIPTS={'script_name': {'typeclass': 'evennia.utils.tests.test_containers.GoodScript'}})
|
||||
def test_start_with_typeclassed_script_loads_it(self):
|
||||
self.patch_global_scripts({'script_name': {'typeclass': 'evennia.utils.tests.test_containers.GoodScript'}})
|
||||
gsc = containers.GlobalScriptContainer()
|
||||
|
||||
gsc.start()
|
||||
|
|
@ -67,8 +62,8 @@ class TestGlobalScriptContainer(unittest.TestCase):
|
|||
self.assertIn('script_name', gsc.typeclass_storage)
|
||||
self.assertEqual(gsc.typeclass_storage['script_name'], GoodScript)
|
||||
|
||||
@override_settings(GLOBAL_SCRIPTS={'script_name': {'typeclass': 'evennia.utils.tests.test_containers.BadScript'}})
|
||||
def test_start_with_bad_typeclassed_script_skips_it(self):
|
||||
self.patch_global_scripts({'script_name': {'typeclass': 'evennia.utils.tests.test_containers.BadScript'}})
|
||||
gsc = containers.GlobalScriptContainer()
|
||||
|
||||
gsc.start()
|
||||
|
|
@ -76,8 +71,8 @@ class TestGlobalScriptContainer(unittest.TestCase):
|
|||
self.assertEqual(len(gsc.typeclass_storage), 0)
|
||||
self.assertNotIn('script_name', gsc.typeclass_storage)
|
||||
|
||||
@override_settings(GLOBAL_SCRIPTS={'script_name': {'typeclass': 'evennia.utils.tests.test_containers.WorstScript'}})
|
||||
def test_start_with_worst_typeclassed_script_skips_it(self):
|
||||
self.patch_global_scripts({'script_name': {'typeclass': 'evennia.utils.tests.test_containers.WorstScript'}})
|
||||
gsc = containers.GlobalScriptContainer()
|
||||
|
||||
gsc.start()
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue