def test_GIVEN_non_existant_user_in_list_WHEN_get_filtered_THEN_user_is_replaced_by_default_user(self): nobody_username = "******" config = ConfigMother.test_configuration_with_values(nobody_username=nobody_username) client = MajicWebserviceClient(config) client.get_properties_list = Mock(return_value={ JSON_MODEL_RUNS: RunModelPropertiesMother.create_model_run_properties([1], owner="non_existant_user")}) results = client.get_properties_list_with_filtered_users() assert_that(results, is_(RunModelPropertiesMother.create_model_run_properties([1], owner=nobody_username)))
def test_GIVEN_user_in_list_WHEN_get_filtered_THEN_user_kept(self): expected_user = getpass.getuser() nobody_username = "******" config = ConfigMother.test_configuration_with_values(nobody_username=nobody_username) client = MajicWebserviceClient(config) client.get_properties_list = Mock(return_value={ JSON_MODEL_RUNS: RunModelPropertiesMother.create_model_run_properties([1], owner=expected_user)}) results = client.get_properties_list_with_filtered_users() assert_that(results, is_(RunModelPropertiesMother.create_model_run_properties([1], owner=expected_user)))
def test_GIVEN_one_extra_entry_on_model_list_WHEN_compare_THEN_extra_entry_is_in_new_dirs_list(self): runid = 12 expected_new_dir = [FileProperties("{}/run{}".format(self.expected_path, runid), self.model_owner, False, False)] filelist = self.create_filelist_and_mock_file_stats([]) model_properties = RunModelPropertiesMother.create_model_run_properties([runid]) file_system_comparer = FileSystemComparer(self.config, self.mock_file_system_client) file_system_comparer.perform_analysis(model_properties) assert_that_file_system_comparer(file_system_comparer, expected_new_dirs=expected_new_dir)
def test_GIVEN_existing_file_owned_by_someone_else_WHEN_compare_THEN_directory_is_set_for_change(self): runids = [23] expected_owner = "different_username" model_properties = RunModelPropertiesMother.create_model_run_properties(runids, owner=expected_owner) filelist = self.create_filelist_and_mock_file_stats(runids) expected_changed_dirs = [FileProperties("{}/{}".format(self.expected_path, file), expected_owner, False, False) for file in filelist] file_system_comparer = FileSystemComparer(self.config, self.mock_file_system_client) file_system_comparer.perform_analysis(model_properties) assert_that_file_system_comparer(file_system_comparer, expected_changed_dirs=expected_changed_dirs, existing_non_deleted_directories=expected_changed_dirs)
def test_GIVEN_existing_file_is_not_public_and_model_is_WHEN_compare_THEN_directory_is_set_for_change(self): runids = [23] model_properties = RunModelPropertiesMother.create_model_run_properties(runids, public=True) filelist = self.create_filelist_and_mock_file_stats(runids) for mock_file_stat in self.mock_file_stats.values(): mock_file_stat.is_published = False expected_changed_dirs = [FileProperties("{}/{}".format(self.expected_path, file), self.model_owner, False, True) for file in filelist] file_system_comparer = FileSystemComparer(self.config, self.mock_file_system_client) file_system_comparer.perform_analysis(model_properties) assert_that_file_system_comparer(file_system_comparer, expected_changed_dirs=expected_changed_dirs, existing_non_deleted_directories=expected_changed_dirs)
def test_GIVEN_two_extra_models_WHEN_compare_THEN_models_appear_on_new_dirs_list(self): runids = [100, 12] expected_new_dirs = [FileProperties("{}/run{}".format( self.expected_path, runid), self.model_owner, False, False) for runid in runids] filelist = self.create_filelist_and_mock_file_stats([]) model_properties = RunModelPropertiesMother.create_model_run_properties(runids) file_system_comparer = FileSystemComparer(self.config, self.mock_file_system_client) file_system_comparer.perform_analysis(model_properties) assert_that_file_system_comparer(file_system_comparer, expected_new_dirs=expected_new_dirs)
def test_GIVEN_entries_in_file_list_same_as_model_list_WHEN_compare_THEN_no_extra_entires(self): runids = [100, 12] expected_new_dirs = [] expected_existing_non_deleted_directories = [FileProperties("{}/run{}".format( self.expected_path, runid), self.model_owner, False, False) for runid in runids] filelist = self.create_filelist_and_mock_file_stats(runids) model_properties = RunModelPropertiesMother.create_model_run_properties(runids) file_system_comparer = FileSystemComparer(self.config, self.mock_file_system_client) file_system_comparer.perform_analysis(model_properties) assert_that_file_system_comparer(file_system_comparer, expected_new_dirs=expected_new_dirs, existing_non_deleted_directories=expected_existing_non_deleted_directories)