1// Copyright 2020 The Gitea Authors. All rights reserved.
2// SPDX-License-Identifier: MIT
3
4package convert
5
6import (
7 "testing"
8 "time"
9
10 repo_model "forgejo.org/models/repo"
11 "forgejo.org/models/unittest"
12 "forgejo.org/modules/git"
13 api "forgejo.org/modules/structs"
14 "forgejo.org/modules/util"
15
16 "github.com/stretchr/testify/assert"
17 "github.com/stretchr/testify/require"
18)
19
20func TestToCommitMeta(t *testing.T) {
21 require.NoError(t, unittest.PrepareTestDatabase())
22 headRepo := unittest.AssertExistsAndLoadBean(t, &repo_model.Repository{ID: 1})
23 sha1 := git.Sha1ObjectFormat
24 signature := &git.Signature{Name: "Test Signature", Email: "test@email.com", When: time.Unix(0, 0)}
25 tag := &git.Tag{
26 Name: "Test Tag",
27 ID: sha1.EmptyObjectID(),
28 Object: sha1.EmptyObjectID(),
29 Type: "Test Type",
30 Tagger: signature,
31 Message: "Test Message",
32 }
33
34 commitMeta := ToCommitMeta(headRepo, tag)
35
36 assert.NotNil(t, commitMeta)
37 assert.Equal(t, &api.CommitMeta{
38 SHA: sha1.EmptyObjectID().String(),
39 URL: util.URLJoin(headRepo.APIURL(), "git/commits", sha1.EmptyObjectID().String()),
40 Created: time.Unix(0, 0),
41 }, commitMeta)
42}