def test_path_assignment(tmp_path: Path) -> None: a = Artifact(tmp_path / 'artifact') a.b__bin = data_file(tmp_path / 'b0.bin') a.b__bin = data_file(tmp_path / 'b1.bin') a['c.bin'] = data_file(tmp_path / 'c0.bin') a['c.bin'] = data_file(tmp_path / 'c1.bin') assert_artifact_equals(a, { 'b.bin': tmp_path / 'b1.bin', 'c.bin': tmp_path / 'c1.bin' })
def test_opaque_file_deletion(tmp_path: Path) -> None: a = Artifact(tmp_path / 'a') a.b__bin = data_file(tmp_path / 'b.bin') a.c__bin = data_file(tmp_path / 'c.bin') a.d = [7, 8] a.e = {'blue': b'jeans'} a.f__bin = data_file(tmp_path / 'data.bin') del a.b__bin del a['c.bin'] assert_artifact_equals(a, { 'd': [7, 8], 'e': { 'blue': b'jeans' }, 'f.bin': tmp_path / 'data.bin' })