summaryrefslogtreecommitdiffstats
path: root/models/forgejo_migrations/v1_22/v8_test.go
blob: 128fd08ab03fff015e52b99088cad54cfc86dd1c (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
// Copyright 2024 The Forgejo Authors. All rights reserved.
// SPDX-License-Identifier: MIT

package v1_22 //nolint

import (
	"testing"

	migration_tests "code.gitea.io/gitea/models/migrations/test"

	"github.com/stretchr/testify/assert"
	"github.com/stretchr/testify/require"
)

func Test_RemoveSSHSignaturesFromReleaseNotes(t *testing.T) {
	// A reduced mock of the `repo_model.Release` struct.
	type Release struct {
		ID   int64  `xorm:"pk autoincr"`
		Note string `xorm:"TEXT"`
	}

	x, deferable := migration_tests.PrepareTestEnv(t, 0, new(Release))
	defer deferable()

	require.NoError(t, RemoveSSHSignaturesFromReleaseNotes(x))

	var releases []Release
	err := x.Table("release").OrderBy("id ASC").Find(&releases)
	require.NoError(t, err)
	assert.Len(t, releases, 3)

	assert.Equal(t, "", releases[0].Note)
	assert.Equal(t, "A message.\n", releases[1].Note)
	assert.Equal(t, "no signature present here", releases[2].Note)
}