def test_blacklist_provides(): with override_settings( INSTALLED_APPS=["shuup_tests.core"], SHUUP_PROVIDES_BLACKLIST={ "module_test_module": ["shuup_tests.core.module_test_module:ModuleTestModule"] }, ): from shuup.apps.provides import clear_provides_cache clear_provides_cache() provides = [ module.__name__ for module in list(get_provide_objects("module_test_module")) ] assert "AnotherModuleTestModule" in provides assert "ModuleTestModule" not in provides # invalid object with override_settings(SHUUP_PROVIDES_BLACKLIST=["invalid"]): from shuup.apps.provides import clear_provides_cache clear_provides_cache() with pytest.raises(ImproperlyConfigured): list(get_provide_objects("module_test_module"))
def clear_caches(setting, **kwargs): clear_load_cache() if setting == "INSTALLED_APPS": clear_provides_cache()