From 67a5573310cf23726e3c2ef4651221c6dc150075 Mon Sep 17 00:00:00 2001 From: Lucas Queiroz Date: Mon, 5 Oct 2020 01:07:54 -0300 Subject: [#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 --- modules/convert/git_commit.go | 5 +++-- modules/convert/git_commit_test.go | 42 ++++++++++++++++++++++++++++++++++++++ 2 files changed, 45 insertions(+), 2 deletions(-) create mode 100644 modules/convert/git_commit_test.go (limited to 'modules/convert') 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) +} -- cgit v1.2.3