code.gitea.io/gitea@v1.21.7/models/git/commit_status_test.go (about) 1 // Copyright 2017 Gitea. All rights reserved. 2 // SPDX-License-Identifier: MIT 3 4 package git_test 5 6 import ( 7 "testing" 8 9 "code.gitea.io/gitea/models/db" 10 git_model "code.gitea.io/gitea/models/git" 11 repo_model "code.gitea.io/gitea/models/repo" 12 "code.gitea.io/gitea/models/unittest" 13 "code.gitea.io/gitea/modules/structs" 14 15 "github.com/stretchr/testify/assert" 16 ) 17 18 func TestGetCommitStatuses(t *testing.T) { 19 assert.NoError(t, unittest.PrepareTestDatabase()) 20 21 repo1 := unittest.AssertExistsAndLoadBean(t, &repo_model.Repository{ID: 1}) 22 23 sha1 := "1234123412341234123412341234123412341234" 24 25 statuses, maxResults, err := git_model.GetCommitStatuses(db.DefaultContext, &git_model.CommitStatusOptions{ 26 ListOptions: db.ListOptions{Page: 1, PageSize: 50}, 27 RepoID: repo1.ID, 28 SHA: sha1, 29 }) 30 assert.NoError(t, err) 31 assert.Equal(t, int(maxResults), 5) 32 assert.Len(t, statuses, 5) 33 34 assert.Equal(t, "ci/awesomeness", statuses[0].Context) 35 assert.Equal(t, structs.CommitStatusPending, statuses[0].State) 36 assert.Equal(t, "https://try.gitea.io/api/v1/repos/user2/repo1/statuses/1234123412341234123412341234123412341234", statuses[0].APIURL(db.DefaultContext)) 37 38 assert.Equal(t, "cov/awesomeness", statuses[1].Context) 39 assert.Equal(t, structs.CommitStatusWarning, statuses[1].State) 40 assert.Equal(t, "https://try.gitea.io/api/v1/repos/user2/repo1/statuses/1234123412341234123412341234123412341234", statuses[1].APIURL(db.DefaultContext)) 41 42 assert.Equal(t, "cov/awesomeness", statuses[2].Context) 43 assert.Equal(t, structs.CommitStatusSuccess, statuses[2].State) 44 assert.Equal(t, "https://try.gitea.io/api/v1/repos/user2/repo1/statuses/1234123412341234123412341234123412341234", statuses[2].APIURL(db.DefaultContext)) 45 46 assert.Equal(t, "ci/awesomeness", statuses[3].Context) 47 assert.Equal(t, structs.CommitStatusFailure, statuses[3].State) 48 assert.Equal(t, "https://try.gitea.io/api/v1/repos/user2/repo1/statuses/1234123412341234123412341234123412341234", statuses[3].APIURL(db.DefaultContext)) 49 50 assert.Equal(t, "deploy/awesomeness", statuses[4].Context) 51 assert.Equal(t, structs.CommitStatusError, statuses[4].State) 52 assert.Equal(t, "https://try.gitea.io/api/v1/repos/user2/repo1/statuses/1234123412341234123412341234123412341234", statuses[4].APIURL(db.DefaultContext)) 53 54 statuses, maxResults, err = git_model.GetCommitStatuses(db.DefaultContext, &git_model.CommitStatusOptions{ 55 ListOptions: db.ListOptions{Page: 2, PageSize: 50}, 56 RepoID: repo1.ID, 57 SHA: sha1, 58 }) 59 assert.NoError(t, err) 60 assert.Equal(t, int(maxResults), 5) 61 assert.Empty(t, statuses) 62 }