2021-07-02 15:19:57 +03:00
// Copyright 2021 The Gitea Authors. All rights reserved.
2022-11-27 21:20:29 +03:00
// SPDX-License-Identifier: MIT
2021-07-02 15:19:57 +03:00
2022-09-02 22:18:23 +03:00
package integration
2021-07-02 15:19:57 +03:00
import (
"net/http"
"testing"
2022-11-19 11:12:33 +03:00
"code.gitea.io/gitea/models/db"
2022-06-13 12:37:59 +03:00
issues_model "code.gitea.io/gitea/models/issues"
2021-12-10 04:27:50 +03:00
repo_model "code.gitea.io/gitea/models/repo"
2021-11-16 11:53:21 +03:00
"code.gitea.io/gitea/models/unittest"
2021-07-02 15:19:57 +03:00
api "code.gitea.io/gitea/modules/structs"
2022-09-02 22:18:23 +03:00
"code.gitea.io/gitea/tests"
2021-11-17 15:34:35 +03:00
2021-07-02 15:19:57 +03:00
"github.com/stretchr/testify/assert"
)
func TestAPIPullCommits ( t * testing . T ) {
2022-09-02 22:18:23 +03:00
defer tests . PrepareTestEnv ( t ) ( )
2022-11-19 11:12:33 +03:00
pr := unittest . AssertExistsAndLoadBean ( t , & issues_model . PullRequest { ID : 2 } )
assert . NoError ( t , pr . LoadIssue ( db . DefaultContext ) )
repo := unittest . AssertExistsAndLoadBean ( t , & repo_model . Repository { ID : pr . HeadRepoID } )
2021-07-02 15:19:57 +03:00
2022-11-19 11:12:33 +03:00
req := NewRequestf ( t , http . MethodGet , "/api/v1/repos/%s/%s/pulls/%d/commits" , repo . OwnerName , repo . Name , pr . Index )
2022-12-02 06:39:42 +03:00
resp := MakeRequest ( t , req , http . StatusOK )
2021-07-02 15:19:57 +03:00
var commits [ ] * api . Commit
DecodeJSON ( t , resp , & commits )
if ! assert . Len ( t , commits , 2 ) {
return
}
assert . Equal ( t , "5f22f7d0d95d614d25a5b68592adb345a4b5c7fd" , commits [ 0 ] . SHA )
assert . Equal ( t , "4a357436d925b5c974181ff12a994538ddc5a269" , commits [ 1 ] . SHA )
2023-10-09 14:22:12 +03:00
assert . NotEmpty ( t , commits [ 0 ] . Files )
assert . NotEmpty ( t , commits [ 1 ] . Files )
assert . NotNil ( t , commits [ 0 ] . RepoCommit . Verification )
assert . NotNil ( t , commits [ 1 ] . RepoCommit . Verification )
2021-07-02 15:19:57 +03:00
}
// TODO add tests for already merged PR and closed PR