|
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