summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPierre Paques <pierre.paques@yamabiko.eu>2021-06-15 22:15:34 +0200
committerPierre Paques <pierre.paques@yamabiko.eu>2021-06-26 21:03:50 +0200
commit5b68a5a73eb90316504d74d7e8065816f6510996 (patch)
treeff5b34360e3e4d2214df6180c960c0ac5afa0f2c
parent1b1a827dd40b489fdacdf0a15b0e17a1a117df40 (diff)
downloadgitlab-5b68a5a73eb90316504d74d7e8065816f6510996.tar.gz
test(releases): add unit-tests for release update
-rw-r--r--tests/unit/objects/test_releases.py39
1 files changed, 39 insertions, 0 deletions
diff --git a/tests/unit/objects/test_releases.py b/tests/unit/objects/test_releases.py
index 6c38a7c..58ab5d0 100644
--- a/tests/unit/objects/test_releases.py
+++ b/tests/unit/objects/test_releases.py
@@ -10,7 +10,11 @@ import responses
from gitlab.v4.objects import ProjectReleaseLink
+tag_name = "v1.0.0"
encoded_tag_name = "v1%2E0%2E0"
+release_name = "demo-release"
+release_description = "my-rel-desc"
+released_at = "2019-03-15T08:00:00Z"
link_name = "hello-world"
link_url = "https://gitlab.example.com/group/hello/-/jobs/688/artifacts/raw/bin/hello-darwin-amd64"
direct_url = f"https://gitlab.example.com/group/hello/-/releases/{encoded_tag_name}/downloads/hello-world"
@@ -24,6 +28,18 @@ link_content = {
"link_type": "other",
}
+release_content = {
+ "id": 3,
+ "tag_name": tag_name,
+ "name": release_name,
+ "description": release_description,
+ "milestones": [],
+ "released_at": released_at,
+}
+
+release_url = re.compile(
+ rf"http://localhost/api/v4/projects/1/releases/{encoded_tag_name}"
+)
links_url = re.compile(
rf"http://localhost/api/v4/projects/1/releases/{encoded_tag_name}/assets/links"
)
@@ -100,6 +116,21 @@ def resp_delete_link(no_content):
yield rsps
+@pytest.fixture
+def resp_update_release():
+ updated_content = dict(release_content)
+
+ with responses.RequestsMock() as rsps:
+ rsps.add(
+ method=responses.PUT,
+ url=release_url,
+ json=updated_content,
+ content_type="application/json",
+ status=200,
+ )
+ yield rsps
+
+
def test_list_release_links(release, resp_list_links):
links = release.links.list()
assert isinstance(links, list)
@@ -129,3 +160,11 @@ def test_update_release_link(release, resp_update_link):
def test_delete_release_link(release, resp_delete_link):
link = release.links.get(1, lazy=True)
link.delete()
+
+
+def test_update_release(release, resp_update_release):
+ release.name = release_name
+ release.description = release_description
+ release.save()
+ assert release.name == release_name
+ assert release.description == release_description