|
10 | 10 |
|
11 | 11 | from gitlab.v4.objects import ProjectReleaseLink |
12 | 12 |
|
| 13 | +tag_name = "v1.0.0" |
13 | 14 | encoded_tag_name = "v1%2E0%2E0" |
| 15 | +release_name = "demo-release" |
| 16 | +release_description = "my-rel-desc" |
| 17 | +released_at = "2019-03-15T08:00:00Z" |
14 | 18 | link_name = "hello-world" |
15 | 19 | link_url = "https://gitlab.example.com/group/hello/-/jobs/688/artifacts/raw/bin/hello-darwin-amd64" |
16 | 20 | direct_url = f"https://gitlab.example.com/group/hello/-/releases/{encoded_tag_name}/downloads/hello-world" |
|
24 | 28 | "link_type": "other", |
25 | 29 | } |
26 | 30 |
|
| 31 | +release_content = { |
| 32 | + "id": 3, |
| 33 | + "tag_name": tag_name, |
| 34 | + "name": release_name, |
| 35 | + "description": release_description, |
| 36 | + "milestones": [], |
| 37 | + "released_at": released_at, |
| 38 | +} |
| 39 | + |
| 40 | +release_url = re.compile( |
| 41 | + rf"http://localhost/api/v4/projects/1/releases/{encoded_tag_name}" |
| 42 | +) |
27 | 43 | links_url = re.compile( |
28 | 44 | rf"http://localhost/api/v4/projects/1/releases/{encoded_tag_name}/assets/links" |
29 | 45 | ) |
@@ -100,6 +116,21 @@ def resp_delete_link(no_content): |
100 | 116 | yield rsps |
101 | 117 |
|
102 | 118 |
|
| 119 | +@pytest.fixture |
| 120 | +def resp_update_release(): |
| 121 | + updated_content = dict(release_content) |
| 122 | + |
| 123 | + with responses.RequestsMock() as rsps: |
| 124 | + rsps.add( |
| 125 | + method=responses.PUT, |
| 126 | + url=release_url, |
| 127 | + json=updated_content, |
| 128 | + content_type="application/json", |
| 129 | + status=200, |
| 130 | + ) |
| 131 | + yield rsps |
| 132 | + |
| 133 | + |
103 | 134 | def test_list_release_links(release, resp_list_links): |
104 | 135 | links = release.links.list() |
105 | 136 | assert isinstance(links, list) |
@@ -129,3 +160,11 @@ def test_update_release_link(release, resp_update_link): |
129 | 160 | def test_delete_release_link(release, resp_delete_link): |
130 | 161 | link = release.links.get(1, lazy=True) |
131 | 162 | link.delete() |
| 163 | + |
| 164 | + |
| 165 | +def test_update_release(release, resp_update_release): |
| 166 | + release.name = release_name |
| 167 | + release.description = release_description |
| 168 | + release.save() |
| 169 | + assert release.name == release_name |
| 170 | + assert release.description == release_description |
0 commit comments