@@ -1547,6 +1547,26 @@ def test_dataset_tag(tmpdir, runner, project, subdirectory):
15471547 assert 0 == result .exit_code , format_result_exception (result )
15481548
15491549
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+
15501570@pytest .mark .parametrize ("form" , ["tabular" , "json-ld" ])
15511571def test_dataset_ls_tags (tmpdir , runner , project , form ):
15521572 """Test listing of dataset tags."""
0 commit comments