Skip to content

Commit b6e9f6f

Browse files
committed
test case from Sebastian
1 parent c4582d3 commit b6e9f6f

File tree

2 files changed

+15
-1
lines changed

2 files changed

+15
-1
lines changed

src/fagfunksjoner/paths/versions.py

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -49,7 +49,9 @@ def get_latest_fileversions(glob_list_path: list[str] | str) -> list[str]:
4949

5050
for unique in uniques:
5151
# Collect all entries that match the current unique base name
52-
entries = [x for x in infiles if x.startswith(unique + "_v")]
52+
entries = [x for x in infiles
53+
if x.startswith(unique + "_v") and
54+
x.rsplit(".", 1)[0].rsplit("_v", 1)[-1].isdigit()] # Characters after match is only digits
5355
unique_sorter = []
5456

5557
for entry in entries:

tests/paths/test_versions.py

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -76,3 +76,15 @@ def test_next_version_path(mock_next_version_number):
7676
filepath = "gs://bucket/folder/file_v1.parquet"
7777
expected = "gs://bucket/folder/file_v2.parquet"
7878
assert next_version_path(filepath) == expected
79+
80+
81+
def test_several_startswith():
82+
inputs = [
83+
"gs://bucket/folder/nevner_verifisert_v1.parquet",
84+
"gs://bucket/folder/nevner_verifisert_v12.parquet",
85+
"gs://bucket/folder/nevner_verifisert_v2.parquet",
86+
"gs://bucket/folder/nevner_v3.parquet",
87+
]
88+
expected = ["gs://bucket/folder/nevner_verifisert_v12.parquet",
89+
"gs://bucket/folder/nevner_v3.parquet",]
90+
assert sorted(get_latest_fileversions(inputs)) == sorted(expected)

0 commit comments

Comments
 (0)