Skip to content

Commit

Permalink
test: add test cases about use strategy to copy segment between datasets
Browse files Browse the repository at this point in the history
PR Closed: #1023
  • Loading branch information
zhen.chen authored and AChenQ committed Sep 26, 2021
1 parent 2c84bd9 commit fd12f73
Showing 1 changed file with 78 additions and 0 deletions.
78 changes: 78 additions & 0 deletions tests/test_move_and_copy.py
Original file line number Diff line number Diff line change
Expand Up @@ -688,6 +688,84 @@ def test_copy_data_between_datasets(self, accesskey, url, tmp_path):
gas_client.delete_dataset(dataset_name_1)
gas_client.delete_dataset(dataset_name_2)

def test_copy_between_datasets_override(self, accesskey, url, tmp_path):
gas_client = GAS(access_key=accesskey, url=url)
dataset_name_1 = get_dataset_name()
gas_client.create_dataset(dataset_name_1)
dataset_1 = Dataset(name=dataset_name_1)
segment_1 = dataset_1.create_segment("Segment")
path = tmp_path / "sub"
path.mkdir()
for i in range(10):
local_path = path / f"hello{i}.txt"
local_path.write_text("CONTENT")
data = Data(local_path=str(local_path))
segment_1.append(data)
dataset_client_1 = gas_client.upload_dataset(dataset_1)
dataset_client_1.commit("upload data")

dataset_name_2 = dataset_name_1 + "_2"
dataset_client_2 = gas_client.create_dataset(dataset_name_2)
dataset_2 = Dataset(name=dataset_name_2)
segment_2 = dataset_2.create_segment("Segment")
for i in range(10, 15):
local_path = path / f"hello{i}.txt"
local_path.write_text("CONTENT")
data = Data(local_path=str(local_path))
segment_2.append(data)
dataset_client_2 = gas_client.upload_dataset(dataset_2)
dataset_client_2.commit("upload data")
dataset_client_2.create_draft("draft 2")
dataset_client_2.copy_segment(
"Segment", source_client=dataset_client_1, strategy="override"
)
dataset_client_2.commit("copy segmnet")

segment = Segment("Segment", client=dataset_client_2)
assert len(segment) == 10
assert segment[0].path == "hello0.txt"

gas_client.delete_dataset(dataset_name_1)
gas_client.delete_dataset(dataset_name_2)

def test_copy_between_datasets_skip(self, accesskey, url, tmp_path):
gas_client = GAS(access_key=accesskey, url=url)
dataset_name_1 = get_dataset_name()
gas_client.create_dataset(dataset_name_1)
dataset_1 = Dataset(name=dataset_name_1)
segment_1 = dataset_1.create_segment("Segment")
path = tmp_path / "sub"
path.mkdir()
for i in range(10):
local_path = path / f"hello{i}.txt"
local_path.write_text("CONTENT")
data = Data(local_path=str(local_path))
segment_1.append(data)
dataset_client_1 = gas_client.upload_dataset(dataset_1)
dataset_client_1.commit("upload data")

dataset_name_2 = dataset_name_1 + "_2"
dataset_client_2 = gas_client.create_dataset(dataset_name_2)
dataset_2 = Dataset(name=dataset_name_2)
segment_2 = dataset_2.create_segment("Segment")
for i in range(10, 15):
local_path = path / f"hello{i}.txt"
local_path.write_text("CONTENT")
data = Data(local_path=str(local_path))
segment_2.append(data)
dataset_client_2 = gas_client.upload_dataset(dataset_2)
dataset_client_2.commit("upload data")
dataset_client_2.create_draft("draft 2")
dataset_client_2.copy_segment("Segment", source_client=dataset_client_1, strategy="skip")
dataset_client_2.commit("copy segmnet")

segment = Segment("Segment", client=dataset_client_2)
assert len(segment) == 5
assert segment[0].path == "hello10.txt"

gas_client.delete_dataset(dataset_name_1)
gas_client.delete_dataset(dataset_name_2)

def test_copy_data_from_commits(self, accesskey, url, tmp_path):
gas_client = GAS(access_key=accesskey, url=url)
dataset_name = get_dataset_name()
Expand Down

0 comments on commit fd12f73

Please sign in to comment.