@@ -1547,6 +1547,26 @@ def test_dataset_tag(tmpdir, runner, project, subdirectory):
1547
1547
assert 0 == result .exit_code , format_result_exception (result )
1548
1548
1549
1549
1550
+ def test_dataset_overwrite_tag (runner , project_with_datasets ):
1551
+ """Test that dataset tags can be overwritten."""
1552
+ # tag dataset
1553
+ result = runner .invoke (cli , ["dataset" , "tag" , "dataset-1" , "1.0" ], catch_exceptions = False )
1554
+ assert 0 == result .exit_code , format_result_exception (result )
1555
+
1556
+ # retag
1557
+ result = runner .invoke (cli , ["dataset" , "tag" , "dataset-1" , "1.0" ], catch_exceptions = False )
1558
+ assert 2 == result .exit_code , format_result_exception (result )
1559
+ assert "Tag '1.0' already exists" in result .output
1560
+
1561
+ # force overwrite
1562
+ result = runner .invoke (cli , ["dataset" , "tag" , "--force" , "dataset-1" , "1.0" ], catch_exceptions = False )
1563
+ assert 0 == result .exit_code , format_result_exception (result )
1564
+
1565
+ result = runner .invoke (cli , ["graph" , "export" , "--format" , "json-ld" , "--strict" ])
1566
+ assert 0 == result .exit_code , format_result_exception (result )
1567
+ assert 1 == result .output .count ('"@id": "https://localhost/dataset-tags/1.0%40' )
1568
+
1569
+
1550
1570
@pytest .mark .parametrize ("form" , ["tabular" , "json-ld" ])
1551
1571
def test_dataset_ls_tags (tmpdir , runner , project , form ):
1552
1572
"""Test listing of dataset tags."""
0 commit comments