diff options
Diffstat (limited to 'rest_framework/tests/utils.py')
| -rw-r--r-- | rest_framework/tests/utils.py | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/rest_framework/tests/utils.py b/rest_framework/tests/utils.py new file mode 100644 index 00000000..ee157824 --- /dev/null +++ b/rest_framework/tests/utils.py @@ -0,0 +1,24 @@ +from contextlib import contextmanager +from rest_framework.settings import api_settings + + +@contextmanager +def temporary_setting(setting, value, module=None): + """ + Temporarily change value of setting for test. + + Optionally reload given module, useful when module uses value of setting on + import. + """ + original_value = getattr(api_settings, setting) + setattr(api_settings, setting, value) + + if module is not None: + reload(module) + + yield + + setattr(api_settings, setting, original_value) + + if module is not None: + reload(module) |
