def tearDownClass(cls): drop_mongo_collections() # pylint: disable=no-value-for-parameter RequestCache().clear_request_cache() XMODULE_FACTORY_LOCK.disable() cls._settings_override.__exit__(None, None, None) super(SharedModuleStoreTestCase, cls).tearDownClass()
def clear_all_caches(): """Clear all caches so that cache info doesn't leak across test cases.""" # This will no longer be necessary when Django adds (in Django 1.10?): # https://code.djangoproject.com/ticket/11505 for cache in django.core.cache.caches.all(): cache.clear() RequestCache().clear_request_cache()
def setUp(self, **kwargs): """ Creates a test User if `create_user` is True. Returns the password for the test User. Args: create_user - specifies whether or not to create a test User. Default is True. """ settings_override = override_settings(MODULESTORE=self.MODULESTORE) settings_override.__enter__() self.addCleanup(settings_override.__exit__, None, None, None) # Clear out any existing modulestores, # which will cause them to be re-created clear_existing_modulestores() self.addCleanup(drop_mongo_collections) self.addCleanup(RequestCache().clear_request_cache) # Enable XModuleFactories for the space of this test (and its setUp). self.addCleanup(XMODULE_FACTORY_LOCK.disable) XMODULE_FACTORY_LOCK.enable() # When testing CCX, we should make sure that # OverrideFieldData.provider_classes is always reset to `None` so # that they're recalculated for every test OverrideFieldData.provider_classes = None super(ModuleStoreTestCase, self).setUp() SignalHandler.course_published.disconnect( trigger_update_xblocks_cache_task) self.store = modulestore() uname = 'testuser' email = '*****@*****.**' password = '******' if kwargs.pop('create_user', True): # Create the user so we can log them in. self.user = User.objects.create_user(uname, email, password) # Note that we do not actually need to do anything # for registration if we directly mark them active. self.user.is_active = True # Staff has access to view all courses self.user.is_staff = True self.user.save() return password
def _post_teardown(self): """ Flush the ModuleStore after each test. """ self.drop_mongo_collections() # Clear out the existing modulestores, # which will cause them to be re-created # the next time they are accessed. # We do this at *both* setup and teardown just to be safe. clear_existing_modulestores() # clear RequestCache to emulate its clearance after each http request. RequestCache().clear_request_cache() # Call superclass implementation super(ModuleStoreTestCase, self)._post_teardown()
def setUp(self, **kwargs): """ Creates a test User if `create_user` is True. Returns the password for the test User. Args: create_user - specifies whether or not to create a test User. Default is True. """ settings_override = override_settings(MODULESTORE=self.MODULESTORE) settings_override.__enter__() self.addCleanup(settings_override.__exit__, None, None, None) # Clear out any existing modulestores, # which will cause them to be re-created clear_existing_modulestores() self.addCleanup(self.drop_mongo_collections) self.addCleanup(RequestCache().clear_request_cache) # Enable XModuleFactories for the space of this test (and its setUp). self.addCleanup(XMODULE_FACTORY_LOCK.disable) XMODULE_FACTORY_LOCK.enable() super(ModuleStoreTestCase, self).setUp() self.store = modulestore() uname = 'testuser' email = '*****@*****.**' password = '******' if kwargs.pop('create_user', True): # Create the user so we can log them in. self.user = User.objects.create_user(uname, email, password) # Note that we do not actually need to do anything # for registration if we directly mark them active. self.user.is_active = True # Staff has access to view all courses self.user.is_staff = True self.user.save() return password