diff options
author | John Olheiser <john.olheiser@gmail.com> | 2020-10-30 20:56:34 -0500 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-10-30 20:56:34 -0500 |
commit | b5e974c8a5a90e7c166792d03d97f2ea5b6cfba6 (patch) | |
tree | c51509fa18331af3ac8ec15e612958fb2e456d6c /integrations | |
parent | e16a5bb6346642a16ea31e7a7eb312c2594513cc (diff) | |
download | gitea-b5e974c8a5a90e7c166792d03d97f2ea5b6cfba6.tar.gz gitea-b5e974c8a5a90e7c166792d03d97f2ea5b6cfba6.zip |
Delete tag API (#13358)
* Delete tag API
Signed-off-by: jolheiser <john.olheiser@gmail.com>
* Wording
Signed-off-by: jolheiser <john.olheiser@gmail.com>
* Add conflict response and fix API tests
Signed-off-by: jolheiser <john.olheiser@gmail.com>
* Fix other test
Signed-off-by: jolheiser <john.olheiser@gmail.com>
Co-authored-by: Lunny Xiao <xiaolunwen@gmail.com>
Diffstat (limited to 'integrations')
-rw-r--r-- | integrations/api_releases_test.go | 23 | ||||
-rw-r--r-- | integrations/api_repo_test.go | 2 | ||||
-rw-r--r-- | integrations/release_test.go | 6 |
3 files changed, 27 insertions, 4 deletions
diff --git a/integrations/api_releases_test.go b/integrations/api_releases_test.go index 58c2e35440..8328b014d6 100644 --- a/integrations/api_releases_test.go +++ b/integrations/api_releases_test.go @@ -154,3 +154,26 @@ func TestAPIGetReleaseByTag(t *testing.T) { DecodeJSON(t, resp, &err) assert.True(t, strings.HasPrefix(err.Message, "release tag does not exist")) } + +func TestAPIDeleteTagByName(t *testing.T) { + defer prepareTestEnv(t)() + + repo := models.AssertExistsAndLoadBean(t, &models.Repository{ID: 1}).(*models.Repository) + owner := models.AssertExistsAndLoadBean(t, &models.User{ID: repo.OwnerID}).(*models.User) + session := loginUser(t, owner.LowerName) + token := getTokenForLoggedInUser(t, session) + + urlStr := fmt.Sprintf("/api/v1/repos/%s/%s/releases/tags/delete-tag/?token=%s", + owner.Name, repo.Name, token) + + req := NewRequestf(t, http.MethodDelete, urlStr) + _ = session.MakeRequest(t, req, http.StatusNoContent) + + // Make sure that actual releases can't be deleted outright + createNewReleaseUsingAPI(t, session, token, owner, repo, "release-tag", "", "Release Tag", "test") + urlStr = fmt.Sprintf("/api/v1/repos/%s/%s/releases/tags/release-tag/?token=%s", + owner.Name, repo.Name, token) + + req = NewRequestf(t, http.MethodDelete, urlStr) + _ = session.MakeRequest(t, req, http.StatusConflict) +} diff --git a/integrations/api_repo_test.go b/integrations/api_repo_test.go index c8afa73ae6..fed63a9597 100644 --- a/integrations/api_repo_test.go +++ b/integrations/api_repo_test.go @@ -223,7 +223,7 @@ func TestAPIViewRepo(t *testing.T) { DecodeJSON(t, resp, &repo) assert.EqualValues(t, 1, repo.ID) assert.EqualValues(t, "repo1", repo.Name) - assert.EqualValues(t, 1, repo.Releases) + assert.EqualValues(t, 2, repo.Releases) assert.EqualValues(t, 1, repo.OpenIssues) assert.EqualValues(t, 3, repo.OpenPulls) diff --git a/integrations/release_test.go b/integrations/release_test.go index 4d2260d884..c817dcaecf 100644 --- a/integrations/release_test.go +++ b/integrations/release_test.go @@ -83,7 +83,7 @@ func TestCreateRelease(t *testing.T) { session := loginUser(t, "user2") createNewRelease(t, session, "/user2/repo1", "v0.0.1", "v0.0.1", false, false) - checkLatestReleaseAndCount(t, session, "/user2/repo1", "v0.0.1", i18n.Tr("en", "repo.release.stable"), 2) + checkLatestReleaseAndCount(t, session, "/user2/repo1", "v0.0.1", i18n.Tr("en", "repo.release.stable"), 3) } func TestCreateReleasePreRelease(t *testing.T) { @@ -92,7 +92,7 @@ func TestCreateReleasePreRelease(t *testing.T) { session := loginUser(t, "user2") createNewRelease(t, session, "/user2/repo1", "v0.0.1", "v0.0.1", true, false) - checkLatestReleaseAndCount(t, session, "/user2/repo1", "v0.0.1", i18n.Tr("en", "repo.release.prerelease"), 2) + checkLatestReleaseAndCount(t, session, "/user2/repo1", "v0.0.1", i18n.Tr("en", "repo.release.prerelease"), 3) } func TestCreateReleaseDraft(t *testing.T) { @@ -101,7 +101,7 @@ func TestCreateReleaseDraft(t *testing.T) { session := loginUser(t, "user2") createNewRelease(t, session, "/user2/repo1", "v0.0.1", "v0.0.1", false, true) - checkLatestReleaseAndCount(t, session, "/user2/repo1", "v0.0.1", i18n.Tr("en", "repo.release.draft"), 2) + checkLatestReleaseAndCount(t, session, "/user2/repo1", "v0.0.1", i18n.Tr("en", "repo.release.draft"), 3) } func TestCreateReleasePaging(t *testing.T) { |