@@ -31,7 +31,7 @@ func testAPIGetBranch(t *testing.T, branchName string, exists bool) {
3131 assert .True (t , branch .UserCanMerge )
3232}
3333
34- func testAPIGetBranchProtection (t * testing.T , branchName string , expectedHTTPStatus int ) {
34+ func testAPIGetBranchProtection (t * testing.T , branchName string , expectedHTTPStatus int ) * api. BranchProtection {
3535 token := getUserToken (t , "user2" , auth_model .AccessTokenScopeReadRepository )
3636 req := NewRequestf (t , "GET" , "/api/v1/repos/user2/repo1/branch_protections/%s?token=%s" , branchName , token )
3737 resp := MakeRequest (t , req , expectedHTTPStatus )
@@ -40,7 +40,9 @@ func testAPIGetBranchProtection(t *testing.T, branchName string, expectedHTTPSta
4040 var branchProtection api.BranchProtection
4141 DecodeJSON (t , resp , & branchProtection )
4242 assert .EqualValues (t , branchName , branchProtection .RuleName )
43+ return & branchProtection
4344 }
45+ return nil
4446}
4547
4648func testAPICreateBranchProtection (t * testing.T , branchName string , expectedHTTPStatus int ) {
@@ -186,6 +188,24 @@ func TestAPIBranchProtection(t *testing.T) {
186188 EnablePush : true ,
187189 }, http .StatusOK )
188190
191+ // enable status checks, require the "test1" check to pass
192+ testAPIEditBranchProtection (t , "master" , & api.BranchProtection {
193+ EnableStatusCheck : true ,
194+ StatusCheckContexts : []string {"test1" },
195+ }, http .StatusOK )
196+ bp := testAPIGetBranchProtection (t , "master" , http .StatusOK )
197+ assert .Equal (t , true , bp .EnableStatusCheck )
198+ assert .Equal (t , []string {"test1" }, bp .StatusCheckContexts )
199+
200+ // disable status checks, clear the list of required checks
201+ testAPIEditBranchProtection (t , "master" , & api.BranchProtection {
202+ EnableStatusCheck : false ,
203+ StatusCheckContexts : []string {},
204+ }, http .StatusOK )
205+ bp = testAPIGetBranchProtection (t , "master" , http .StatusOK )
206+ assert .Equal (t , false , bp .EnableStatusCheck )
207+ assert .Equal (t , []string {}, bp .StatusCheckContexts )
208+
189209 testAPIDeleteBranchProtection (t , "master" , http .StatusNoContent )
190210
191211 // Test branch deletion
0 commit comments