diff options
| author | Nejc Habjan <nejc.habjan@siemens.com> | 2020-10-08 01:56:00 +0200 |
|---|---|---|
| committer | Nejc Habjan <nejc.habjan@siemens.com> | 2020-10-08 21:07:53 +0200 |
| commit | 61e43eb186925feede073c7065e5ae868ffbb4ec (patch) | |
| tree | 1c161e148bd6bc696fde0ea076986892bdb9e078 /tools/functional/api/test_snippets.py | |
| parent | 2002098a19f7a9302d373a867ab1a6f87848b6a0 (diff) | |
| download | gitlab-61e43eb186925feede073c7065e5ae868ffbb4ec.tar.gz | |
refactor(tests): split functional tests
Diffstat (limited to 'tools/functional/api/test_snippets.py')
| -rw-r--r-- | tools/functional/api/test_snippets.py | 74 |
1 files changed, 74 insertions, 0 deletions
diff --git a/tools/functional/api/test_snippets.py b/tools/functional/api/test_snippets.py new file mode 100644 index 0000000..936fbfb --- /dev/null +++ b/tools/functional/api/test_snippets.py @@ -0,0 +1,74 @@ +import gitlab + + +def test_snippets(gl): + snippets = gl.snippets.list(all=True) + assert len(snippets) == 0 + + snippet = gl.snippets.create( + {"title": "snippet1", "file_name": "snippet1.py", "content": "import gitlab"} + ) + snippet = gl.snippets.get(snippet.id) + snippet.title = "updated_title" + snippet.save() + + snippet = gl.snippets.get(snippet.id) + assert snippet.title == "updated_title" + + content = snippet.content() + assert content.decode() == "import gitlab" + assert snippet.user_agent_detail()["user_agent"] + + snippet.delete() + snippets = gl.snippets.list(all=True) + assert len(snippets) == 0 + + +def test_project_snippets(project): + project.snippets_enabled = True + project.save() + + snippet = project.snippets.create( + { + "title": "snip1", + "file_name": "foo.py", + "content": "initial content", + "visibility": gitlab.v4.objects.VISIBILITY_PRIVATE, + } + ) + + assert snippet.user_agent_detail()["user_agent"] + + +def test_project_snippet_discussion(project): + snippet = project.snippets.list()[0] + size = len(snippet.discussions.list()) + + discussion = snippet.discussions.create({"body": "Discussion body"}) + assert len(snippet.discussions.list()) == size + 1 + + note = discussion.notes.create({"body": "first note"}) + note_from_get = discussion.notes.get(note.id) + note_from_get.body = "updated body" + note_from_get.save() + + discussion = snippet.discussions.get(discussion.id) + assert discussion.attributes["notes"][-1]["body"] == "updated body" + + note_from_get.delete() + discussion = snippet.discussions.get(discussion.id) + assert len(discussion.attributes["notes"]) == 1 + + +def test_project_snippet_file(project): + snippet = project.snippets.list()[0] + snippet.file_name = "bar.py" + snippet.save() + + snippet = project.snippets.get(snippet.id) + assert snippet.content().decode() == "initial content" + assert snippet.file_name == "bar.py" + + size = len(project.snippets.list()) + snippet.delete() + assert len(project.snippets.list()) == (size - 1) |
