Add DeleteIssue()
(#598)
Fixes: #596 Signed-off-by: Earl Warren <contact@earl-warren.org> Co-authored-by: Earl Warren <contact@earl-warren.org> Reviewed-on: https://gitea.com/gitea/go-sdk/pulls/598 Reviewed-by: Andrew Thornton <art27@cantab.net> Reviewed-by: Norwin <noerw@noreply.gitea.io> Reviewed-by: 6543 <6543@obermui.de> Co-authored-by: earl-warren <contact@earl-warren.org> Co-committed-by: earl-warren <contact@earl-warren.org>
This commit is contained in:
parent
7aeaaa45e1
commit
aef4e5e2bd
2 changed files with 27 additions and 2 deletions
|
@ -289,6 +289,17 @@ func (c *Client) EditIssue(owner, repo string, index int64, opt EditIssueOption)
|
||||||
return issue, resp, err
|
return issue, resp, err
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// DeleteIssue delete a issue from a repository
|
||||||
|
func (c *Client) DeleteIssue(user, repo string, id int64) (*Response, error) {
|
||||||
|
if err := escapeValidatePathSegments(&user, &repo); err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
_, resp, err := c.getResponse("DELETE",
|
||||||
|
fmt.Sprintf("/repos/%s/%s/issues/%d", user, repo, id),
|
||||||
|
nil, nil)
|
||||||
|
return resp, err
|
||||||
|
}
|
||||||
|
|
||||||
func (c *Client) issueBackwardsCompatibility(issue *Issue) {
|
func (c *Client) issueBackwardsCompatibility(issue *Issue) {
|
||||||
if c.checkServerVersionGreaterThanOrEqual(version1_12_0) != nil {
|
if c.checkServerVersionGreaterThanOrEqual(version1_12_0) != nil {
|
||||||
c.mutex.RLock()
|
c.mutex.RLock()
|
||||||
|
|
|
@ -22,6 +22,7 @@ func TestIssue(t *testing.T) {
|
||||||
time.Sleep(100 * time.Millisecond)
|
time.Sleep(100 * time.Millisecond)
|
||||||
editIssues(t, c)
|
editIssues(t, c)
|
||||||
listIssues(t, c)
|
listIssues(t, c)
|
||||||
|
deleteIssue(t, c)
|
||||||
}
|
}
|
||||||
|
|
||||||
func createIssue(t *testing.T, c *Client) {
|
func createIssue(t *testing.T, c *Client) {
|
||||||
|
@ -47,6 +48,18 @@ func createIssue(t *testing.T, c *Client) {
|
||||||
createTestIssue(t, c, repo.Name, "", "you never know", nil, nil, mile.ID, nil, true, true)
|
createTestIssue(t, c, repo.Name, "", "you never know", nil, nil, mile.ID, nil, true, true)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func deleteIssue(t *testing.T, c *Client) {
|
||||||
|
log.Println("== TestDeleteIssues ==")
|
||||||
|
|
||||||
|
user, _, err := c.GetMyUserInfo()
|
||||||
|
assert.NoError(t, err)
|
||||||
|
repo, _ := createTestRepo(t, "IssueTestsRepo", c)
|
||||||
|
|
||||||
|
issue := createTestIssue(t, c, repo.Name, "Deleteable Issue", "", nil, nil, 0, nil, false, false)
|
||||||
|
_, err = c.DeleteIssue(user.UserName, repo.Name, issue.Index)
|
||||||
|
assert.NoError(t, err)
|
||||||
|
}
|
||||||
|
|
||||||
func editIssues(t *testing.T, c *Client) {
|
func editIssues(t *testing.T, c *Client) {
|
||||||
log.Println("== TestEditIssues ==")
|
log.Println("== TestEditIssues ==")
|
||||||
il, _, err := c.ListIssues(ListIssueOption{KeyWord: "soon"})
|
il, _, err := c.ListIssues(ListIssueOption{KeyWord: "soon"})
|
||||||
|
@ -104,7 +117,7 @@ func listIssues(t *testing.T, c *Client) {
|
||||||
assert.Len(t, issues, 3)
|
assert.Len(t, issues, 3)
|
||||||
}
|
}
|
||||||
|
|
||||||
func createTestIssue(t *testing.T, c *Client, repoName, title, body string, assignees []string, deadline *time.Time, milestone int64, labels []int64, closed, shouldFail bool) {
|
func createTestIssue(t *testing.T, c *Client, repoName, title, body string, assignees []string, deadline *time.Time, milestone int64, labels []int64, closed, shouldFail bool) *Issue {
|
||||||
user, _, err := c.GetMyUserInfo()
|
user, _, err := c.GetMyUserInfo()
|
||||||
assert.NoError(t, err)
|
assert.NoError(t, err)
|
||||||
issue, _, e := c.CreateIssue(user.UserName, repoName, CreateIssueOption{
|
issue, _, e := c.CreateIssue(user.UserName, repoName, CreateIssueOption{
|
||||||
|
@ -118,7 +131,7 @@ func createTestIssue(t *testing.T, c *Client, repoName, title, body string, assi
|
||||||
})
|
})
|
||||||
if shouldFail {
|
if shouldFail {
|
||||||
assert.Error(t, e)
|
assert.Error(t, e)
|
||||||
return
|
return nil
|
||||||
}
|
}
|
||||||
assert.NoError(t, e)
|
assert.NoError(t, e)
|
||||||
assert.NotEmpty(t, issue)
|
assert.NotEmpty(t, issue)
|
||||||
|
@ -137,4 +150,5 @@ func createTestIssue(t *testing.T, c *Client, repoName, title, body string, assi
|
||||||
} else {
|
} else {
|
||||||
assert.Empty(t, issue.Closed)
|
assert.Empty(t, issue.Closed)
|
||||||
}
|
}
|
||||||
|
return issue
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue