コード例 #1
0
    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'
コード例 #2
0
    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'
コード例 #3
0
 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')]
コード例 #4
0
    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")
コード例 #5
0
 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