2017-04-21 14:32:31 +03:00
// Copyright 2017 Gitea. All rights reserved.
// Use of this source code is governed by a MIT-style
// license that can be found in the LICENSE file.
package models
import (
"testing"
2021-09-19 14:49:59 +03:00
"code.gitea.io/gitea/models/db"
2021-12-10 04:27:50 +03:00
repo_model "code.gitea.io/gitea/models/repo"
2021-11-12 17:36:47 +03:00
"code.gitea.io/gitea/models/unittest"
2020-01-22 06:46:04 +03:00
"code.gitea.io/gitea/modules/structs"
2021-11-17 15:34:35 +03:00
2017-04-21 14:32:31 +03:00
"github.com/stretchr/testify/assert"
)
func TestGetCommitStatuses ( t * testing . T ) {
2021-11-12 17:36:47 +03:00
assert . NoError ( t , unittest . PrepareTestDatabase ( ) )
2017-04-21 14:32:31 +03:00
2021-12-10 04:27:50 +03:00
repo1 := unittest . AssertExistsAndLoadBean ( t , & repo_model . Repository { ID : 1 } ) . ( * repo_model . Repository )
2017-04-21 14:32:31 +03:00
sha1 := "1234123412341234123412341234123412341234"
2021-09-24 14:32:56 +03:00
statuses , maxResults , err := GetCommitStatuses ( repo1 , sha1 , & CommitStatusOptions { ListOptions : db . ListOptions { Page : 1 , PageSize : 50 } } )
2017-04-21 14:32:31 +03:00
assert . NoError ( t , err )
2019-07-25 13:55:06 +03:00
assert . Equal ( t , int ( maxResults ) , 5 )
2019-08-09 05:13:03 +03:00
assert . Len ( t , statuses , 5 )
2017-04-21 14:32:31 +03:00
2019-08-09 05:13:03 +03:00
assert . Equal ( t , "ci/awesomeness" , statuses [ 0 ] . Context )
2020-01-22 06:46:04 +03:00
assert . Equal ( t , structs . CommitStatusPending , statuses [ 0 ] . State )
2019-08-09 05:13:03 +03:00
assert . Equal ( t , "https://try.gitea.io/api/v1/repos/user2/repo1/statuses/1234123412341234123412341234123412341234" , statuses [ 0 ] . APIURL ( ) )
2017-04-21 14:32:31 +03:00
2019-08-09 05:13:03 +03:00
assert . Equal ( t , "cov/awesomeness" , statuses [ 1 ] . Context )
2020-01-22 06:46:04 +03:00
assert . Equal ( t , structs . CommitStatusWarning , statuses [ 1 ] . State )
2019-08-09 05:13:03 +03:00
assert . Equal ( t , "https://try.gitea.io/api/v1/repos/user2/repo1/statuses/1234123412341234123412341234123412341234" , statuses [ 1 ] . APIURL ( ) )
2017-04-21 14:32:31 +03:00
2019-08-09 05:13:03 +03:00
assert . Equal ( t , "cov/awesomeness" , statuses [ 2 ] . Context )
2020-01-22 06:46:04 +03:00
assert . Equal ( t , structs . CommitStatusSuccess , statuses [ 2 ] . State )
2019-08-09 05:13:03 +03:00
assert . Equal ( t , "https://try.gitea.io/api/v1/repos/user2/repo1/statuses/1234123412341234123412341234123412341234" , statuses [ 2 ] . APIURL ( ) )
2017-04-21 14:32:31 +03:00
2019-08-09 05:13:03 +03:00
assert . Equal ( t , "ci/awesomeness" , statuses [ 3 ] . Context )
2020-01-22 06:46:04 +03:00
assert . Equal ( t , structs . CommitStatusFailure , statuses [ 3 ] . State )
2019-08-09 05:13:03 +03:00
assert . Equal ( t , "https://try.gitea.io/api/v1/repos/user2/repo1/statuses/1234123412341234123412341234123412341234" , statuses [ 3 ] . APIURL ( ) )
assert . Equal ( t , "deploy/awesomeness" , statuses [ 4 ] . Context )
2020-01-22 06:46:04 +03:00
assert . Equal ( t , structs . CommitStatusError , statuses [ 4 ] . State )
2019-08-09 05:13:03 +03:00
assert . Equal ( t , "https://try.gitea.io/api/v1/repos/user2/repo1/statuses/1234123412341234123412341234123412341234" , statuses [ 4 ] . APIURL ( ) )
2017-04-21 14:32:31 +03:00
}