mirror of https://github.com/go-gitea/gitea.git
78 lines
2.0 KiB
Go
78 lines
2.0 KiB
Go
// Copyright 2023 The Gitea Authors. All rights reserved.
|
|
// SPDX-License-Identifier: MIT
|
|
|
|
package repo
|
|
|
|
import (
|
|
"testing"
|
|
|
|
"code.gitea.io/gitea/models/unittest"
|
|
"code.gitea.io/gitea/modules/timeutil"
|
|
|
|
"github.com/stretchr/testify/assert"
|
|
)
|
|
|
|
func TestMigrate_InsertReleases(t *testing.T) {
|
|
assert.NoError(t, unittest.PrepareTestDatabase())
|
|
|
|
a := &Attachment{
|
|
UUID: "a0eebc91-9c0c-4ef7-bb6e-6bb9bd380a12",
|
|
}
|
|
r := &Release{
|
|
Attachments: []*Attachment{a},
|
|
}
|
|
|
|
err := InsertReleases(t.Context(), r)
|
|
assert.NoError(t, err)
|
|
}
|
|
|
|
func Test_FindTagsByCommitIDs(t *testing.T) {
|
|
assert.NoError(t, unittest.PrepareTestDatabase())
|
|
|
|
sha1Rels, err := FindTagsByCommitIDs(t.Context(), 1, "65f1bf27bc3bf70f64657658635e66094edbcb4d")
|
|
assert.NoError(t, err)
|
|
assert.Len(t, sha1Rels, 1)
|
|
rels := sha1Rels["65f1bf27bc3bf70f64657658635e66094edbcb4d"]
|
|
assert.Len(t, rels, 3)
|
|
assert.Equal(t, "v1.1", rels[0].TagName)
|
|
assert.Equal(t, "delete-tag", rels[1].TagName)
|
|
assert.Equal(t, "v1.0", rels[2].TagName)
|
|
}
|
|
|
|
func TestGetPreviousPublishedRelease(t *testing.T) {
|
|
assert.NoError(t, unittest.PrepareTestDatabase())
|
|
|
|
current := unittest.AssertExistsAndLoadBean(t, &Release{ID: 8})
|
|
prev, err := GetPreviousPublishedRelease(t.Context(), current.RepoID, current)
|
|
assert.NoError(t, err)
|
|
assert.EqualValues(t, 7, prev.ID)
|
|
}
|
|
|
|
func TestGetPreviousPublishedRelease_NoPublishedCandidate(t *testing.T) {
|
|
assert.NoError(t, unittest.PrepareTestDatabase())
|
|
|
|
repoID := int64(1)
|
|
draft := &Release{
|
|
RepoID: repoID,
|
|
PublisherID: 1,
|
|
TagName: "draft-prev",
|
|
LowerTagName: "draft-prev",
|
|
IsDraft: true,
|
|
CreatedUnix: timeutil.TimeStamp(2),
|
|
}
|
|
current := &Release{
|
|
RepoID: repoID,
|
|
PublisherID: 1,
|
|
TagName: "published-current",
|
|
LowerTagName: "published-current",
|
|
CreatedUnix: timeutil.TimeStamp(3),
|
|
}
|
|
|
|
err := InsertReleases(t.Context(), draft, current)
|
|
assert.NoError(t, err)
|
|
|
|
_, err = GetPreviousPublishedRelease(t.Context(), repoID, current)
|
|
assert.Error(t, err)
|
|
assert.True(t, IsErrReleaseNotExist(err))
|
|
}
|