diff options
author | Lucas Queiroz <me@lucasqueiroz.dev> | 2020-10-05 01:07:54 -0300 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-10-05 12:07:54 +0800 |
commit | 67a5573310cf23726e3c2ef4651221c6dc150075 (patch) | |
tree | add7af9497a8d421fedaec36f1638fb70ab3b5ad /modules | |
parent | 48703c3c68ff3d948b406c422bc4f663da783d87 (diff) | |
download | gitea-67a5573310cf23726e3c2ef4651221c6dc150075.tar.gz gitea-67a5573310cf23726e3c2ef4651221c6dc150075.zip |
[#13004] Add Timestamp to Tag list API (#13026)
* Add Timestamp to Tag list API
* Add unit test for ToCommitMeta
* Rename timestamp to created
* Reformat files
Diffstat (limited to 'modules')
-rw-r--r-- | modules/convert/git_commit.go | 5 | ||||
-rw-r--r-- | modules/convert/git_commit_test.go | 42 | ||||
-rw-r--r-- | modules/structs/repo_commit.go | 2 |
3 files changed, 47 insertions, 2 deletions
diff --git a/modules/convert/git_commit.go b/modules/convert/git_commit.go index 55cbb3af80..86d6dae961 100644 --- a/modules/convert/git_commit.go +++ b/modules/convert/git_commit.go @@ -28,8 +28,9 @@ func ToCommitUser(sig *git.Signature) *api.CommitUser { // ToCommitMeta convert a git.Tag to an api.CommitMeta func ToCommitMeta(repo *models.Repository, tag *git.Tag) *api.CommitMeta { return &api.CommitMeta{ - SHA: tag.Object.String(), - URL: util.URLJoin(repo.APIURL(), "git/commits", tag.ID.String()), + SHA: tag.Object.String(), + URL: util.URLJoin(repo.APIURL(), "git/commits", tag.ID.String()), + Created: tag.Tagger.When, } } diff --git a/modules/convert/git_commit_test.go b/modules/convert/git_commit_test.go new file mode 100644 index 0000000000..2158d0d777 --- /dev/null +++ b/modules/convert/git_commit_test.go @@ -0,0 +1,42 @@ +// 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 convert + +import ( + "testing" + "time" + + "code.gitea.io/gitea/models" + "code.gitea.io/gitea/modules/git" + api "code.gitea.io/gitea/modules/structs" + "code.gitea.io/gitea/modules/util" + + "github.com/go-git/go-git/v5/plumbing/object" + "github.com/stretchr/testify/assert" +) + +func TestToCommitMeta(t *testing.T) { + assert.NoError(t, models.PrepareTestDatabase()) + headRepo := models.AssertExistsAndLoadBean(t, &models.Repository{ID: 1}).(*models.Repository) + sha1, _ := git.NewIDFromString("0000000000000000000000000000000000000000") + signature := &object.Signature{Name: "Test Signature", Email: "test@email.com", When: time.Unix(0, 0)} + tag := &git.Tag{ + Name: "Test Tag", + ID: sha1, + Object: sha1, + Type: "Test Type", + Tagger: signature, + Message: "Test Message", + } + + commitMeta := ToCommitMeta(headRepo, tag) + + assert.NotNil(t, commitMeta) + assert.EqualValues(t, &api.CommitMeta{ + SHA: "0000000000000000000000000000000000000000", + URL: util.URLJoin(headRepo.APIURL(), "git/commits", "0000000000000000000000000000000000000000"), + Created: time.Unix(0, 0), + }, commitMeta) +} diff --git a/modules/structs/repo_commit.go b/modules/structs/repo_commit.go index 088ccdf5af..b9607b185b 100644 --- a/modules/structs/repo_commit.go +++ b/modules/structs/repo_commit.go @@ -20,6 +20,8 @@ type Identity struct { type CommitMeta struct { URL string `json:"url"` SHA string `json:"sha"` + // swagger:strfmt date-time + Created time.Time `json:"created"` } // CommitUser contains information of a user in the context of a commit. |