diff options
Diffstat (limited to 'gitlab/tests/objects/test_deployments.py')
| -rw-r--r-- | gitlab/tests/objects/test_deployments.py | 50 |
1 files changed, 50 insertions, 0 deletions
diff --git a/gitlab/tests/objects/test_deployments.py b/gitlab/tests/objects/test_deployments.py new file mode 100644 index 0000000..3cde8fe --- /dev/null +++ b/gitlab/tests/objects/test_deployments.py @@ -0,0 +1,50 @@ +""" +GitLab API: https://docs.gitlab.com/ce/api/deployments.html +""" +import pytest +import responses + + +@pytest.fixture +def resp_deployment(): + content = {"id": 42, "status": "success", "ref": "master"} + + with responses.RequestsMock() as rsps: + rsps.add( + method=responses.POST, + url="http://localhost/api/v4/projects/1/deployments", + json=content, + content_type="application/json", + status=200, + ) + + updated_content = dict(content) + updated_content["status"] = "failed" + + rsps.add( + method=responses.PUT, + url="http://localhost/api/v4/projects/1/deployments/42", + json=updated_content, + content_type="application/json", + status=200, + ) + yield rsps + + +def test_deployment(project, resp_deployment): + deployment = project.deployments.create( + { + "environment": "Test", + "sha": "1agf4gs", + "ref": "master", + "tag": False, + "status": "created", + } + ) + assert deployment.id == 42 + assert deployment.status == "success" + assert deployment.ref == "master" + + deployment.status = "failed" + deployment.save() + assert deployment.status == "failed" |
