4242from renku .core .util .contexts import chdir
4343from renku .core .util .git import get_git_user
4444from renku .core .util .urls import get_slug
45- from renku .domain_model .dataset import Dataset , is_dataset_name_valid
45+ from renku .domain_model .dataset import Dataset , Url , is_dataset_name_valid
4646from renku .domain_model .project_context import project_context
4747from renku .domain_model .provenance .agent import Person
4848from renku .infrastructure .gateway .dataset_gateway import DatasetGateway
@@ -88,6 +88,22 @@ def test_data_add(scheme, path, overwrite, error, project_with_injection, direct
8888 assert os .path .exists (target_path )
8989
9090
91+ @pytest .mark .parametrize (
92+ "slash, target" ,
93+ [
94+ (False , "data/dataset/dir1/file2" ),
95+ (True , "data/dataset/file2" ),
96+ ],
97+ )
98+ def test_data_add_trailing_slash (slash , target , directory_tree , project_with_injection ):
99+ """Test recursive data imports."""
100+
101+ dataset = add_to_dataset ("dataset" , [str (directory_tree / "dir1" ) + ("/" if slash else "" )], create = True )
102+
103+ file = next (f for f in dataset .files if f .entity .path .endswith ("file2" ))
104+ assert file .entity .path == target
105+
106+
91107def test_data_add_recursive (directory_tree , project_with_injection ):
92108 """Test recursive data imports."""
93109 dataset = add_to_dataset ("dataset" , [str (directory_tree / "dir1" )], create = True )
@@ -178,7 +194,7 @@ def test_mutate(project):
178194 name = "my-dataset" ,
179195 creators = [Person .from_string ("John Doe <john.doe@mail.com>" )],
180196 date_published = datetime .datetime .now (datetime .timezone .utc ),
181- same_as = "http://some-url" ,
197+ same_as = Url ( url_str = "http://some-url" ) ,
182198 )
183199 old_dataset = copy .deepcopy (dataset )
184200
@@ -197,7 +213,7 @@ def test_mutator_is_added_once(project):
197213 name = "my-dataset" ,
198214 creators = [mutator ],
199215 date_published = datetime .datetime .now (datetime .timezone .utc ),
200- same_as = "http://some-url" ,
216+ same_as = Url ( url_str = "http://some-url" ) ,
201217 )
202218 old_dataset = copy .deepcopy (dataset )
203219
0 commit comments