def test_list_datasets_modified_on(self, mock_config_file): """Test list az datasets""" inv_manager = InventoryManager(mock_config_file[0]) inv_manager.create_dataset("user1", "user1", "dataset2", "gigantum_object_v1", description="my dataset") time.sleep(1) inv_manager.create_dataset("user1", "user2", "a-dataset3", "gigantum_object_v1", description="my dataset") time.sleep(1) inv_manager.create_dataset("user1", "user1", "dataset12", "gigantum_object_v1", description="my dataset") time.sleep(1) inv_manager.create_dataset("user2", "user1", "dataset1", "gigantum_object_v1", description="my dataset") datasets = inv_manager.list_datasets(username="******", sort_mode="modified_on") assert len(datasets) == 3 assert datasets[0].name == 'dataset2' assert datasets[1].name == 'a-dataset3' assert datasets[2].name == 'dataset12' # modify a repo time.sleep(1.2) ds = inv_manager.load_dataset('user1', 'user1', 'dataset2') with open(os.path.join(ds.root_dir, "manifest", "test.txt"), 'wt') as tf: tf.write("asdfasdf") ds.git.add_all() ds.git.commit("Changing the repo") datasets = inv_manager.list_datasets(username="******", sort_mode="modified_on") assert len(datasets) == 3 assert datasets[0].name == 'a-dataset3' assert datasets[1].name == 'dataset12' assert datasets[2].name == 'dataset2'
def test_list_datasets_az(self, create_datasets_to_list): """Test list az datasets""" inv_manager = InventoryManager(create_datasets_to_list[0]) datasets = inv_manager.list_datasets(username="******") assert len(datasets) == 3 assert datasets[0].name == 'a-dataset3' assert datasets[1].name == 'dataset2' assert datasets[2].name == 'dataset12' datasets = inv_manager.list_datasets(username="******") assert len(datasets) == 1 assert datasets[0].name == 'dataset1'
def test_put_dataset(self, mock_config_file): inv_manager = InventoryManager(mock_config_file[0]) auth = GitAuthor(name="username", email="*****@*****.**") ds = inv_manager.create_dataset("test", "test", "dataset1", "gigantum_object_v1", description="my first dataset", author=auth) ds.namespace = 'test' orig_location = ds.root_dir with tempfile.TemporaryDirectory() as tempdir: r = shutil.move(ds.root_dir, tempdir) ds_loaded_from_file = inv_manager.load_dataset_from_directory(r) assert not os.path.exists(orig_location) assert orig_location not in [d.root_dir for d in inv_manager.list_datasets('test')] placed_ds = inv_manager.put_dataset(r, 'test', 'test') assert placed_ds.root_dir in [d.root_dir for d in inv_manager.list_datasets('test')]
def test_list_datasets_invalid(self, create_datasets_to_list): """Test list az datasets""" inv_manager = InventoryManager(create_datasets_to_list[0]) with pytest.raises(InventoryException): _ = inv_manager.list_datasets(username="******", sort_mode="created_atasdf")
def test_list_datasets_empty(self, mock_labbook): """Test list datasets when no dataset directory exists for the user""" inv_manager = InventoryManager(mock_labbook[0]) datasets = inv_manager.list_datasets(username="******") assert len(datasets) == 0