2017-04-21 13:32:31 +02:00
// Copyright 2017 Gitea. All rights reserved.
2022-11-27 13:20:29 -05:00
// SPDX-License-Identifier: MIT
2017-04-21 13:32:31 +02:00
2022-06-12 23:51:54 +08:00
package git_test
2017-04-21 13:32:31 +02:00
import (
"testing"
2021-09-19 19:49:59 +08:00
"code.gitea.io/gitea/models/db"
2022-06-12 23:51:54 +08:00
git_model "code.gitea.io/gitea/models/git"
2021-12-10 09:27:50 +08:00
repo_model "code.gitea.io/gitea/models/repo"
2021-11-12 22:36:47 +08:00
"code.gitea.io/gitea/models/unittest"
2020-01-22 11:46:04 +08:00
"code.gitea.io/gitea/modules/structs"
2021-11-17 20:34:35 +08:00
2017-04-21 13:32:31 +02:00
"github.com/stretchr/testify/assert"
)
func TestGetCommitStatuses ( t * testing . T ) {
2021-11-12 22:36:47 +08:00
assert . NoError ( t , unittest . PrepareTestDatabase ( ) )
2017-04-21 13:32:31 +02:00
2022-08-16 10:22:25 +08:00
repo1 := unittest . AssertExistsAndLoadBean ( t , & repo_model . Repository { ID : 1 } )
2017-04-21 13:32:31 +02:00
sha1 := "1234123412341234123412341234123412341234"
2023-01-09 11:50:54 +08:00
statuses , maxResults , err := git_model . GetCommitStatuses ( db . DefaultContext , repo1 , sha1 , & git_model . CommitStatusOptions { ListOptions : db . ListOptions { Page : 1 , PageSize : 50 } } )
2017-04-21 13:32:31 +02:00
assert . NoError ( t , err )
2019-07-25 11:55:06 +01:00
assert . Equal ( t , int ( maxResults ) , 5 )
2019-08-09 04:13:03 +02:00
assert . Len ( t , statuses , 5 )
2017-04-21 13:32:31 +02:00
2019-08-09 04:13:03 +02:00
assert . Equal ( t , "ci/awesomeness" , statuses [ 0 ] . Context )
2020-01-22 11:46:04 +08:00
assert . Equal ( t , structs . CommitStatusPending , statuses [ 0 ] . State )
2023-01-09 11:50:54 +08:00
assert . Equal ( t , "https://try.gitea.io/api/v1/repos/user2/repo1/statuses/1234123412341234123412341234123412341234" , statuses [ 0 ] . APIURL ( db . DefaultContext ) )
2017-04-21 13:32:31 +02:00
2019-08-09 04:13:03 +02:00
assert . Equal ( t , "cov/awesomeness" , statuses [ 2 ] . Context )
2020-01-22 11:46:04 +08:00
assert . Equal ( t , structs . CommitStatusSuccess , statuses [ 2 ] . State )
2023-01-09 11:50:54 +08:00
assert . Equal ( t , "https://try.gitea.io/api/v1/repos/user2/repo1/statuses/1234123412341234123412341234123412341234" , statuses [ 2 ] . APIURL ( db . DefaultContext ) )
2017-04-21 13:32:31 +02:00
2019-08-09 04:13:03 +02:00
assert . Equal ( t , "ci/awesomeness" , statuses [ 3 ] . Context )
2020-01-22 11:46:04 +08:00
assert . Equal ( t , structs . CommitStatusFailure , statuses [ 3 ] . State )
2023-01-09 11:50:54 +08:00
assert . Equal ( t , "https://try.gitea.io/api/v1/repos/user2/repo1/statuses/1234123412341234123412341234123412341234" , statuses [ 3 ] . APIURL ( db . DefaultContext ) )
2019-08-09 04:13:03 +02:00
assert . Equal ( t , "deploy/awesomeness" , statuses [ 4 ] . Context )
2020-01-22 11:46:04 +08:00
assert . Equal ( t , structs . CommitStatusError , statuses [ 4 ] . State )
2023-01-09 11:50:54 +08:00
assert . Equal ( t , "https://try.gitea.io/api/v1/repos/user2/repo1/statuses/1234123412341234123412341234123412341234" , statuses [ 4 ] . APIURL ( db . DefaultContext ) )
2017-04-21 13:32:31 +02:00
}