Skip to content

Commit 24dc501

Browse files
author
Lingling Peng
committed
fix test -cleaner
1 parent e3ee249 commit 24dc501

1 file changed

Lines changed: 26 additions & 18 deletions

File tree

tests/integration/synapseclient/test_wikis.py

Lines changed: 26 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -11,8 +11,18 @@
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"] + "\nNew 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("\nNew 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\nBlabber 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\nNew 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\nThis 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\nBlabber jabber blah blah blither blather bonk!",
142150
parentWikiId="",
143151
)

0 commit comments

Comments
 (0)