def test_global(): t = VariableTracking() t.ignore_global("FOO") assert (not t.is_explicitly_configured_local("FOO")) assert (t.is_explicitly_configured_global("FOO")) assert (not t.is_tracked("FOO")) t.unset_global("FOO") assert (not t.is_explicitly_configured_local("FOO")) assert (not t.is_explicitly_configured_global("FOO")) assert (t.is_tracked("FOO"))
def test_track_uses_config_file(tmp_json): cfg = ConfigurationFile(tmp_json, VariableTracking.config_schema_global) vtr = VariableTracking(cfg, None) vtr.ignore_global("FOO") assert (not vtr.is_tracked("FOO")) assert (not vtr.is_explicitly_configured_local("FOO")) assert (vtr.is_explicitly_configured_global("FOO")) cfg.save() cfg2 = ConfigurationFile(tmp_json, VariableTracking.config_schema_local) vtr2 = VariableTracking(None, cfg2) assert (not vtr2.is_tracked("FOO")) assert (vtr2.is_explicitly_configured_local("FOO")) assert (not vtr2.is_explicitly_configured_global("FOO"))
def test_overlay(): t = VariableTracking() t.local_tracking = False t.track_local("LOCAL_TRACKED") t.ignore_global("GLOBAL_IGNORED") assert (t.is_tracked("DEFAULT", "LOCAL_TRACKED", "GLOBAL_IGNORED") == [False, True, False]) t.global_tracking = False t.ignore_local("LOCAL_IGNORED") t.track_global("GLOBAL_TRACKED") assert (t.is_tracked( "DEFAULT", "LOCAL_TRACKED", "LOCAL_IGNORED", "GLOBAL_TRACKED", "GLOBAL_IGNORED") == [False, True, False, True, False])