def test_read_stored_settings(self): """ Test to see that keys from the configuration dict is updated with the value from the configuration file after store. """ initial_configurations = self.settings_service.configurable_keys to_store_data = { key: value['value'] for key, value in initial_configurations.items() } for key, value in self.TEST_SETTINGS.items(): to_store_data[key] = value is_changed, shoud_reset = self.settings_service.save_settings( **to_store_data) assert shoud_reset and is_changed # enforce keys to get repopulated: TvbProfile._build_profile_class(TvbProfile.CURRENT_PROFILE_NAME) self.settings_service = SettingsService() updated_configurations = self.settings_service.configurable_keys for key, value in updated_configurations.items(): if key in self.TEST_SETTINGS: assert self.TEST_SETTINGS[key] == value['value'] elif key == SettingsService.KEY_ADMIN_PWD: assert TvbProfile.current.web.admin.ADMINISTRATOR_PASSWORD == value[ 'value'] assert TvbProfile.current.web.admin.ADMINISTRATOR_BLANK_PWD == initial_configurations[ key]['value'] else: assert initial_configurations[key]['value'] == value['value']
def _fake_restart_services(self, should_reset): """ This function will replace the SettingsController._restart_service method, to avoid problems in tests due to restart. """ self.was_reset = should_reset TvbProfile._build_profile_class(TvbProfile.CURRENT_PROFILE_NAME)
def test_read_stored_settings(self): """ Test to see that keys from the configuration dict is updated with the value from the configuration file after store. """ initial_configurations = self.settings_service.configurable_keys to_store_data = {key: value['value'] for key, value in initial_configurations.iteritems()} for key, value in self.TEST_SETTINGS.iteritems(): to_store_data[key] = value is_changed, shoud_reset = self.settings_service.save_settings(**to_store_data) assert shoud_reset and is_changed # enforce keys to get repopulated: TvbProfile._build_profile_class(TvbProfile.CURRENT_PROFILE_NAME) self.settings_service = SettingsService() updated_configurations = self.settings_service.configurable_keys for key, value in updated_configurations.iteritems(): if key in self.TEST_SETTINGS: assert self.TEST_SETTINGS[key] == value['value'] elif key == SettingsService.KEY_ADMIN_PWD: assert TvbProfile.current.web.admin.ADMINISTRATOR_PASSWORD == value['value'] assert TvbProfile.current.web.admin.ADMINISTRATOR_BLANK_PWD == initial_configurations[key]['value'] else: assert initial_configurations[key]['value'] == value['value']
def test_update_settings(self): """ Test update of settings: correct flags should be returned, and check storage folder renamed """ # 1. save on empty config-file: to_store_data = { key: value['value'] for key, value in self.settings_service.configurable_keys.items() } for key, value in self.TEST_SETTINGS.items(): to_store_data[key] = value is_changed, shoud_reset = self.settings_service.save_settings( **to_store_data) assert shoud_reset and is_changed # 2. Reload and save with the same values (is_changed expected to be False) TvbProfile._build_profile_class(TvbProfile.CURRENT_PROFILE_NAME) self.settings_service = SettingsService() to_store_data = { key: value['value'] for key, value in self.settings_service.configurable_keys.items() } is_changed, shoud_reset = self.settings_service.save_settings( **to_store_data) assert not is_changed assert not shoud_reset # 3. Reload and check that changing TVB_STORAGE is done correctly TvbProfile._build_profile_class(TvbProfile.CURRENT_PROFILE_NAME) self.settings_service = SettingsService() to_store_data = { key: value['value'] for key, value in self.settings_service.configurable_keys.items() } to_store_data[SettingsService.KEY_STORAGE] = os.path.join( TvbProfile.current.TVB_STORAGE, 'RENAMED') # Write a test-file and check that it is moved file_writer = open( os.path.join(TvbProfile.current.TVB_STORAGE, "test_rename-xxx43"), 'w') file_writer.write('test-content') file_writer.close() is_changed, shoud_reset = self.settings_service.save_settings( **to_store_data) assert is_changed assert not shoud_reset # Check that the file was correctly moved: data = open( os.path.join(TvbProfile.current.TVB_STORAGE, 'RENAMED', "test_rename-xxx43"), 'r').read() assert data == 'test-content' shutil.rmtree(os.path.join(TvbProfile.current.TVB_STORAGE, 'RENAMED')) os.remove( os.path.join(TvbProfile.current.TVB_STORAGE, "test_rename-xxx43"))
def teardown_method(self): """ Restore configuration file """ if os.path.exists(TEST_CONFIG_FILE): os.remove(TEST_CONFIG_FILE) TvbProfile.current.__class__.TVB_CONFIG_FILE = self.old_config_file TvbProfile._build_profile_class(TvbProfile.CURRENT_PROFILE_NAME)
def cleanup(self): """ Have a different name than transactional_teardown_method so we can use it safely in transactions and it will not be called after running actual test. Using transactional_teardown_method here won't WORK!! See TransactionalTest """ if os.path.exists(TvbProfile.current.TVB_CONFIG_FILE): os.remove(TvbProfile.current.TVB_CONFIG_FILE) TvbProfile._build_profile_class(TvbProfile.CURRENT_PROFILE_NAME)
def setup_method(self): """ Prepare the usage of a different config file for this class only. """ StorageInterface.remove_files([TEST_CONFIG_FILE, TestSQLiteProfile.DEFAULT_STORAGE]) self.old_config_file = TvbProfile.current.TVB_CONFIG_FILE TvbProfile.current.__class__.TVB_CONFIG_FILE = TEST_CONFIG_FILE TvbProfile._build_profile_class(TvbProfile.CURRENT_PROFILE_NAME) self.settings_service = SettingsService()
def setup_method(self): """ Prepare the usage of a different config file for this class only. """ if os.path.exists(TEST_CONFIG_FILE): os.remove(TEST_CONFIG_FILE) self.old_config_file = TvbProfile.current.TVB_CONFIG_FILE TvbProfile.current.__class__.TVB_CONFIG_FILE = TEST_CONFIG_FILE TvbProfile._build_profile_class(TvbProfile.CURRENT_PROFILE_NAME) self.settings_service = SettingsService()
def test_update_settings(self): """ Test update of settings: correct flags should be returned, and check storage folder renamed """ # 1. save on empty config-file: to_store_data = {key: value['value'] for key, value in self.settings_service.configurable_keys.iteritems()} for key, value in self.TEST_SETTINGS.iteritems(): to_store_data[key] = value is_changed, shoud_reset = self.settings_service.save_settings(**to_store_data) assert shoud_reset and is_changed # 2. Reload and save with the same values (is_changed expected to be False) TvbProfile._build_profile_class(TvbProfile.CURRENT_PROFILE_NAME) self.settings_service = SettingsService() to_store_data = {key: value['value'] for key, value in self.settings_service.configurable_keys.iteritems()} is_changed, shoud_reset = self.settings_service.save_settings(**to_store_data) assert not is_changed assert not shoud_reset # 3. Reload and check that changing TVB_STORAGE is done correctly TvbProfile._build_profile_class(TvbProfile.CURRENT_PROFILE_NAME) self.settings_service = SettingsService() to_store_data = {key: value['value'] for key, value in self.settings_service.configurable_keys.iteritems()} to_store_data[SettingsService.KEY_STORAGE] = os.path.join(TvbProfile.current.TVB_STORAGE, 'RENAMED') # Write a test-file and check that it is moved file_writer = open(os.path.join(TvbProfile.current.TVB_STORAGE, "test_rename-xxx43"), 'w') file_writer.write('test-content') file_writer.close() is_changed, shoud_reset = self.settings_service.save_settings(**to_store_data) assert is_changed assert not shoud_reset # Check that the file was correctly moved: data = open(os.path.join(TvbProfile.current.TVB_STORAGE, 'RENAMED', "test_rename-xxx43"), 'r').read() assert data == 'test-content' shutil.rmtree(os.path.join(TvbProfile.current.TVB_STORAGE, 'RENAMED')) os.remove(os.path.join(TvbProfile.current.TVB_STORAGE, "test_rename-xxx43"))