1111# from unittest import skip
1212
1313
14+ @pytest .fixture
15+ def wiki_project (syn : Synapse , schedule_for_cleanup ) -> Project :
16+ """Function-scoped project so each wiki test gets a clean, isolated project."""
17+ project = syn .store (Project (name = str (uuid .uuid4 ())))
18+ schedule_for_cleanup (project )
19+ return project
20+
21+
1422# @skip("Skip integration tests for soon to be removed code")
15- def test_wikiAttachment (syn : Synapse , project : Project , schedule_for_cleanup ) -> None :
23+ def test_wikiAttachment (
24+ syn : Synapse , wiki_project : Project , schedule_for_cleanup
25+ ) -> None :
1626 # Upload a file to be attached to a Wiki
1727 filename = utils .make_bogus_data_file ()
1828 attachname = utils .make_bogus_data_file ()
@@ -29,48 +39,46 @@ def test_wikiAttachment(syn: Synapse, project: Project, schedule_for_cleanup) ->
2939 Blabber jabber blah blah boo.
3040 """
3141 wiki = Wiki (
32- owner = project ,
42+ owner = wiki_project ,
3343 title = "A Test Wiki" ,
3444 markdown = md ,
3545 fileHandles = [fileHandle ["id" ]],
3646 attachments = [attachname ],
3747 )
3848 wiki = syn .store (wiki )
39- schedule_for_cleanup (wiki )
4049
4150 # Create a Wiki sub-page
4251 subwiki = Wiki (
43- owner = project ,
52+ owner = wiki_project ,
4453 title = "A sub-wiki" ,
4554 markdown = "nothing" ,
4655 parentWikiId = wiki .id ,
4756 )
4857 subwiki = syn .store (subwiki )
49- schedule_for_cleanup (subwiki )
5058
5159 # Retrieve the root Wiki from Synapse
52- wiki2 = syn .getWiki (project )
60+ wiki2 = syn .getWiki (wiki_project )
5361 # due to the new wiki api, we'll get back some new properties,
5462 # namely markdownFileHandleId and markdown_path, so only compare
5563 # properties that are in the first object
5664 for property_name in wiki :
5765 assert wiki [property_name ] == wiki2 [property_name ]
5866
5967 # Retrieve the sub Wiki from Synapse
60- wiki2 = syn .getWiki (project , subpageId = subwiki .id )
68+ wiki2 = syn .getWiki (wiki_project , subpageId = subwiki .id )
6169 for property_name in wiki :
6270 assert subwiki [property_name ] == wiki2 [property_name ]
6371
6472 # Try making an update
6573 wiki ["title" ] = "A New Title"
6674 wiki ["markdown" ] = wiki ["markdown" ] + "\n New stuff here!!!\n "
6775 syn .store (wiki )
68- wiki = syn .getWiki (project )
76+ wiki = syn .getWiki (wiki_project )
6977 assert wiki ["title" ] == "A New Title"
7078 assert wiki ["markdown" ].endswith ("\n New stuff here!!!\n " )
7179
7280 # Check the Wiki's metadata
73- headers = syn .getWikiHeaders (project )
81+ headers = syn .getWikiHeaders (wiki_project )
7482 assert len (headers ) == 2
7583 assert headers [0 ]["title" ] in (wiki ["title" ], subwiki ["title" ])
7684
@@ -81,12 +89,12 @@ def test_wikiAttachment(syn: Synapse, project: Project, schedule_for_cleanup) ->
8189
8290
8391# @skip("Skip integration tests for soon to be removed code")
84- def test_create_or_update_wiki (syn : Synapse , project : Project ) -> None :
92+ def test_create_or_update_wiki (syn : Synapse , wiki_project : Project ) -> None :
8593 # create wiki once
8694 syn .store (
8795 Wiki (
8896 title = "This is the title" ,
89- owner = project ,
97+ owner = wiki_project ,
9098 markdown = "#Wikis are OK\n \n Blabber jabber blah blah blither blather bonk!" ,
9199 )
92100 )
@@ -96,7 +104,7 @@ def test_create_or_update_wiki(syn: Synapse, project: Project) -> None:
96104 wiki = syn .store (
97105 Wiki (
98106 title = new_title ,
99- owner = project ,
107+ owner = wiki_project ,
100108 markdown = "#Wikis are awesome\n \n New babble boo flabble gibber wiggle sproing!" ,
101109 ),
102110 createOrUpdate = True ,
@@ -105,13 +113,11 @@ def test_create_or_update_wiki(syn: Synapse, project: Project) -> None:
105113
106114
107115# @skip("Skip integration tests for soon to be removed code")
108- def test_wiki_version (syn : Synapse , project : Project ) -> None :
109- # create a new project to avoid artifacts from previous tests
110- project = syn .store (Project (name = str (uuid .uuid4 ())))
116+ def test_wiki_version (syn : Synapse , wiki_project : Project ) -> None :
111117 wiki = syn .store (
112118 Wiki (
113119 title = "Title version 1" ,
114- owner = project ,
120+ owner = wiki_project ,
115121 markdown = "##A heading\n \n This is version 1 of the wiki page!\n " ,
116122 )
117123 )
@@ -131,13 +137,15 @@ def test_wiki_version(syn: Synapse, project: Project) -> None:
131137
132138
133139# @skip("Skip integration tests for soon to be removed code")
134- def test_wiki_with_empty_string_parent_wiki_id (syn : Synapse , project : Project ) -> None :
140+ def test_wiki_with_empty_string_parent_wiki_id (
141+ syn : Synapse , wiki_project : Project
142+ ) -> None :
135143 # GIVEN a wiki is created with an empty string parentWikiId
136144 # WHEN it is stored
137145 wiki_stored = syn .store (
138146 Wiki (
139147 title = "This is the title" ,
140- owner = project ,
148+ owner = wiki_project ,
141149 markdown = "#Wikis are OK\n \n Blabber jabber blah blah blither blather bonk!" ,
142150 parentWikiId = "" ,
143151 )
0 commit comments