ae325d4bec
Signed-off-by: Martijn van der Kleijn <martijn.niji@gmail.com>
64 lines
2.5 KiB
Go
64 lines
2.5 KiB
Go
// Copyright 2024 The Forgejo Authors. All rights reserved.
|
|
// Use of this source code is governed by a MIT-style
|
|
// license that can be found in the LICENSE file.
|
|
|
|
// Copyright 2020 The Gitea Authors. All rights reserved.
|
|
// Use of this source code is governed by a MIT-style
|
|
// license that can be found in the LICENSE file.
|
|
|
|
package forgejo
|
|
|
|
import (
|
|
"encoding/base64"
|
|
"log"
|
|
"testing"
|
|
|
|
"github.com/stretchr/testify/assert"
|
|
)
|
|
|
|
func TestListRepoCommits(t *testing.T) {
|
|
log.Println("== TestListRepoCommits ==")
|
|
c := newTestClient()
|
|
|
|
repo, err := createTestRepo(t, "ListRepoCommits", c)
|
|
assert.NoError(t, err)
|
|
|
|
l, _, err := c.ListRepoCommits(repo.Owner.UserName, repo.Name, ListCommitOptions{})
|
|
assert.NoError(t, err)
|
|
assert.Len(t, l, 1)
|
|
assert.EqualValues(t, "Initial commit\n", l[0].RepoCommit.Message)
|
|
assert.EqualValues(t, "gpg.error.not_signed_commit", l[0].RepoCommit.Verification.Reason)
|
|
assert.EqualValues(t, 100, l[0].Stats.Additions)
|
|
}
|
|
|
|
func TestGetCommitDiffOrPatch(t *testing.T) {
|
|
log.Println("== TestGetCommitDiffOrPatch ==")
|
|
c := newTestClient()
|
|
|
|
repo, err := createTestRepo(t, "TestGetCommitDiffOrPatch", c)
|
|
assert.NoError(t, err)
|
|
|
|
// Add a new simple small commit to the repository.
|
|
fileResponse, _, err := c.CreateFile(repo.Owner.UserName, repo.Name, "NOT_A_LICENSE", CreateFileOptions{
|
|
Content: base64.StdEncoding.EncodeToString([]byte("But is it?\n")),
|
|
FileOptions: FileOptions{
|
|
Message: "Ensure people know it's not a license!",
|
|
Committer: Identity{
|
|
Name: "Sup3rCookie",
|
|
Email: "Sup3rCookie@example.com",
|
|
},
|
|
},
|
|
})
|
|
assert.NoError(t, err)
|
|
|
|
// Test the diff output.
|
|
diffOutput, _, err := c.GetCommitDiff(repo.Owner.UserName, repo.Name, fileResponse.Commit.SHA)
|
|
assert.NoError(t, err)
|
|
assert.EqualValues(t, "diff --git a/NOT_A_LICENSE b/NOT_A_LICENSE\nnew file mode 100644\nindex 0000000..f27a20a\n--- /dev/null\n+++ b/NOT_A_LICENSE\n@@ -0,0 +1 @@\n+But is it?\n", string(diffOutput))
|
|
|
|
// Test the patch output.
|
|
patchOutput, _, err := c.GetCommitPatch(repo.Owner.UserName, repo.Name, fileResponse.Commit.SHA)
|
|
assert.NoError(t, err)
|
|
// Use contains, because we cannot include the first part, because of dates + non-static CommitID..
|
|
assert.Contains(t, string(patchOutput), "Subject: [PATCH] Ensure people know it's not a license!\n\n---\n NOT_A_LICENSE | 1 +\n 1 file changed, 1 insertion(+)\n create mode 100644 NOT_A_LICENSE\n\ndiff --git a/NOT_A_LICENSE b/NOT_A_LICENSE\nnew file mode 100644\nindex 0000000..f27a20a\n--- /dev/null\n+++ b/NOT_A_LICENSE\n@@ -0,0 +1 @@\n+But is it?\n")
|
|
}
|