diff options
| author | Max Wittig <max.wittig@siemens.com> | 2020-08-26 11:01:17 +0200 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2020-08-26 11:01:17 +0200 |
| commit | a7e44a0bb3629f776a52967d56ba67d9a61346eb (patch) | |
| tree | 24fb533a60a84e71386cc500d6ac2f00548f96ac /gitlab/tests/objects/test_todos.py | |
| parent | e2dc9ece1a0af37073c41bfa8161fcec5fa01234 (diff) | |
| parent | 204782a117f77f367dee87aa2c70822587829147 (diff) | |
| download | gitlab-a7e44a0bb3629f776a52967d56ba67d9a61346eb.tar.gz | |
Merge pull request #1078 from python-gitlab/refactor/split-unit-tests
Refactor: split unit tests by API resources
Diffstat (limited to 'gitlab/tests/objects/test_todos.py')
| -rw-r--r-- | gitlab/tests/objects/test_todos.py | 63 |
1 files changed, 63 insertions, 0 deletions
diff --git a/gitlab/tests/objects/test_todos.py b/gitlab/tests/objects/test_todos.py new file mode 100644 index 0000000..07bb680 --- /dev/null +++ b/gitlab/tests/objects/test_todos.py @@ -0,0 +1,63 @@ +""" +GitLab API: https://docs.gitlab.com/ce/api/todos.html +""" + +import json +import os + +import pytest +import responses + +from gitlab.v4.objects import Todo + + +with open(os.path.dirname(__file__) + "/../data/todo.json", "r") as json_file: + todo_content = json_file.read() + json_content = json.loads(todo_content) + + +@pytest.fixture +def resp_todo(): + with responses.RequestsMock(assert_all_requests_are_fired=False) as rsps: + rsps.add( + method=responses.GET, + url="http://localhost/api/v4/todos", + json=json_content, + content_type="application/json", + status=200, + ) + rsps.add( + method=responses.POST, + url="http://localhost/api/v4/todos/102/mark_as_done", + json=json_content[0], + content_type="application/json", + status=200, + ) + yield rsps + + +@pytest.fixture +def resp_mark_all_as_done(): + with responses.RequestsMock() as rsps: + rsps.add( + method=responses.POST, + url="http://localhost/api/v4/todos/mark_as_done", + json={}, + content_type="application/json", + status=204, + ) + yield rsps + + +def test_todo(gl, resp_todo): + todo = gl.todos.list()[0] + assert isinstance(todo, Todo) + assert todo.id == 102 + assert todo.target_type == "MergeRequest" + assert todo.target["assignee"]["username"] == "root" + + todo.mark_as_done() + + +def test_todo_mark_all_as_done(gl, resp_mark_all_as_done): + gl.todos.mark_all_as_done() |
