Source code for tests.test_prefs

import pytest
import warnings

from autopilot import prefs

[docs]@pytest.mark.parametrize('default_pref', [(k, v) for k, v in prefs._DEFAULTS.items()]) def test_prefs_defaults(default_pref): # make sure that we didnt' actually load anything from some phantom uh prefs file idk # if prefs._INITIALIZED.value: # warnings.warn('prefs was initialized, so defaults could not be tested') # return # save any existing set prefs to restore at the end existing_prefs = prefs._PREFS._getvalue().copy() prefs._PREFS = prefs._PREF_MANAGER.dict() if 'default' in default_pref[1].keys(): with pytest.warns(UserWarning): assert prefs.get(default_pref[0]) == default_pref[1]['default'] else: assert prefs.get(default_pref[0]) is None # restore for k, v in existing_prefs.items(): prefs._PREFS[k] = v
[docs]def test_prefs_deprecation(): """ If there is a string in the ``'deprecation'`` field of a pref in `_DEFAULTS`, a warning is raised printing the string. """ # add a fake deprecated pref prefs._DEFAULTS['DEPRECATEME'] = { 'type': 'int', "text": "A pref that was born just to die", "default": 4, "scope": prefs.Scopes.COMMON, 'deprecation': 'This pref will be DECIMATED i mean DEPRECATED in a future version' } with pytest.warns(FutureWarning): pref_val = prefs.get('DEPRECATEME') assert pref_val == 4