@@ -22,64 +22,53 @@ import (
2222func TestAPILockIssue (t * testing.T ) {
2323 defer tests .PrepareTestEnv (t )()
2424
25- issueBefore := unittest .AssertExistsAndLoadBean (t , & issues_model.Issue {ID : 1 })
26- assert .False (t , issueBefore .IsLocked )
27- repo := unittest .AssertExistsAndLoadBean (t , & repo_model.Repository {ID : issueBefore .RepoID })
28- owner := unittest .AssertExistsAndLoadBean (t , & user_model.User {ID : repo .OwnerID })
29- urlStr := fmt .Sprintf ("/api/v1/repos/%s/%s/issues/%d/lock" , owner .Name , repo .Name , issueBefore .Index )
30-
31- session := loginUser (t , owner .Name )
32- token := getTokenForLoggedInUser (t , session , auth_model .AccessTokenScopeWriteIssue )
33-
34- // check lock issue
35- req := NewRequestWithJSON (t , "PUT" , urlStr , api.LockIssueOption {Reason : "Spam" }).AddTokenAuth (token )
36- MakeRequest (t , req , http .StatusNoContent )
37- issueAfter := unittest .AssertExistsAndLoadBean (t , & issues_model.Issue {ID : 1 })
38- assert .True (t , issueAfter .IsLocked )
39-
40- // check reason is case insensitive
41- unlockReq := NewRequest (t , "DELETE" , urlStr ).AddTokenAuth (token )
42- MakeRequest (t , unlockReq , http .StatusNoContent )
43- issueAfter = unittest .AssertExistsAndLoadBean (t , & issues_model.Issue {ID : 1 })
44- assert .False (t , issueAfter .IsLocked )
45-
46- req = NewRequestWithJSON (t , "PUT" , urlStr , api.LockIssueOption {Reason : "too heated" }).AddTokenAuth (token )
47- MakeRequest (t , req , http .StatusNoContent )
48- issueAfter = unittest .AssertExistsAndLoadBean (t , & issues_model.Issue {ID : 1 })
49- assert .True (t , issueAfter .IsLocked )
50-
51- // check with other user
52- user34 := unittest .AssertExistsAndLoadBean (t , & user_model.User {ID : 34 })
53- session34 := loginUser (t , user34 .Name )
54- token34 := getTokenForLoggedInUser (t , session34 , auth_model .AccessTokenScopeAll )
55- req = NewRequestWithJSON (t , "PUT" , urlStr , api.LockIssueOption {Reason : "Spam" }).AddTokenAuth (token34 )
56- MakeRequest (t , req , http .StatusForbidden )
57- }
58-
59- func TestAPIUnlockIssue (t * testing.T ) {
60- defer tests .PrepareTestEnv (t )()
61-
62- issueBefore := unittest .AssertExistsAndLoadBean (t , & issues_model.Issue {ID : 1 })
63- repo := unittest .AssertExistsAndLoadBean (t , & repo_model.Repository {ID : issueBefore .RepoID })
64- owner := unittest .AssertExistsAndLoadBean (t , & user_model.User {ID : repo .OwnerID })
65- urlStr := fmt .Sprintf ("/api/v1/repos/%s/%s/issues/%d/lock" , owner .Name , repo .Name , issueBefore .Index )
66-
67- session := loginUser (t , owner .Name )
68- token := getTokenForLoggedInUser (t , session , auth_model .AccessTokenScopeWriteIssue )
69-
70- lockReq := NewRequestWithJSON (t , "PUT" , urlStr , api.LockIssueOption {Reason : "Spam" }).AddTokenAuth (token )
71- MakeRequest (t , lockReq , http .StatusNoContent )
72-
73- // check unlock issue
74- req := NewRequest (t , "DELETE" , urlStr ).AddTokenAuth (token )
75- MakeRequest (t , req , http .StatusNoContent )
76- issueAfter := unittest .AssertExistsAndLoadBean (t , & issues_model.Issue {ID : 1 })
77- assert .False (t , issueAfter .IsLocked )
78-
79- // check with other user
80- user34 := unittest .AssertExistsAndLoadBean (t , & user_model.User {ID : 34 })
81- session34 := loginUser (t , user34 .Name )
82- token34 := getTokenForLoggedInUser (t , session34 , auth_model .AccessTokenScopeAll )
83- req = NewRequest (t , "DELETE" , urlStr ).AddTokenAuth (token34 )
84- MakeRequest (t , req , http .StatusForbidden )
25+ t .Run ("Lock" , func (t * testing.T ) {
26+ issueBefore := unittest .AssertExistsAndLoadBean (t , & issues_model.Issue {ID : 1 })
27+ assert .False (t , issueBefore .IsLocked )
28+ repo := unittest .AssertExistsAndLoadBean (t , & repo_model.Repository {ID : issueBefore .RepoID })
29+ owner := unittest .AssertExistsAndLoadBean (t , & user_model.User {ID : repo .OwnerID })
30+ urlStr := fmt .Sprintf ("/api/v1/repos/%s/%s/issues/%d/lock" , owner .Name , repo .Name , issueBefore .Index )
31+
32+ session := loginUser (t , owner .Name )
33+ token := getTokenForLoggedInUser (t , session , auth_model .AccessTokenScopeWriteIssue )
34+
35+ // check lock issue
36+ req := NewRequestWithJSON (t , "PUT" , urlStr , api.LockIssueOption {Reason : "Spam" }).AddTokenAuth (token )
37+ MakeRequest (t , req , http .StatusNoContent )
38+ issueAfter := unittest .AssertExistsAndLoadBean (t , & issues_model.Issue {ID : 1 })
39+ assert .True (t , issueAfter .IsLocked )
40+
41+ // check with other user
42+ user34 := unittest .AssertExistsAndLoadBean (t , & user_model.User {ID : 34 })
43+ session34 := loginUser (t , user34 .Name )
44+ token34 := getTokenForLoggedInUser (t , session34 , auth_model .AccessTokenScopeAll )
45+ req = NewRequestWithJSON (t , "PUT" , urlStr , api.LockIssueOption {Reason : "Spam" }).AddTokenAuth (token34 )
46+ MakeRequest (t , req , http .StatusForbidden )
47+ })
48+
49+ t .Run ("Unlock" , func (t * testing.T ) {
50+ issueBefore := unittest .AssertExistsAndLoadBean (t , & issues_model.Issue {ID : 1 })
51+ repo := unittest .AssertExistsAndLoadBean (t , & repo_model.Repository {ID : issueBefore .RepoID })
52+ owner := unittest .AssertExistsAndLoadBean (t , & user_model.User {ID : repo .OwnerID })
53+ urlStr := fmt .Sprintf ("/api/v1/repos/%s/%s/issues/%d/lock" , owner .Name , repo .Name , issueBefore .Index )
54+
55+ session := loginUser (t , owner .Name )
56+ token := getTokenForLoggedInUser (t , session , auth_model .AccessTokenScopeWriteIssue )
57+
58+ lockReq := NewRequestWithJSON (t , "PUT" , urlStr , api.LockIssueOption {Reason : "Spam" }).AddTokenAuth (token )
59+ MakeRequest (t , lockReq , http .StatusNoContent )
60+
61+ // check unlock issue
62+ req := NewRequest (t , "DELETE" , urlStr ).AddTokenAuth (token )
63+ MakeRequest (t , req , http .StatusNoContent )
64+ issueAfter := unittest .AssertExistsAndLoadBean (t , & issues_model.Issue {ID : 1 })
65+ assert .False (t , issueAfter .IsLocked )
66+
67+ // check with other user
68+ user34 := unittest .AssertExistsAndLoadBean (t , & user_model.User {ID : 34 })
69+ session34 := loginUser (t , user34 .Name )
70+ token34 := getTokenForLoggedInUser (t , session34 , auth_model .AccessTokenScopeAll )
71+ req = NewRequest (t , "DELETE" , urlStr ).AddTokenAuth (token34 )
72+ MakeRequest (t , req , http .StatusForbidden )
73+ })
8574}
0 commit comments