summaryrefslogtreecommitdiffstats
path: root/models/migrations/v1_22/v290_test.go
diff options
context:
space:
mode:
authorDaniel Baumann <daniel@debian.org>2024-10-18 20:33:49 +0200
committerDaniel Baumann <daniel@debian.org>2024-10-18 20:33:49 +0200
commitdd136858f1ea40ad3c94191d647487fa4f31926c (patch)
tree58fec94a7b2a12510c9664b21793f1ed560c6518 /models/migrations/v1_22/v290_test.go
parentInitial commit. (diff)
downloadforgejo-debian.tar.xz
forgejo-debian.zip
Adding upstream version 9.0.0.HEADupstream/9.0.0upstreamdebian
Signed-off-by: Daniel Baumann <daniel@debian.org>
Diffstat (limited to 'models/migrations/v1_22/v290_test.go')
-rw-r--r--models/migrations/v1_22/v290_test.go59
1 files changed, 59 insertions, 0 deletions
diff --git a/models/migrations/v1_22/v290_test.go b/models/migrations/v1_22/v290_test.go
new file mode 100644
index 0000000..ced200f
--- /dev/null
+++ b/models/migrations/v1_22/v290_test.go
@@ -0,0 +1,59 @@
+// Copyright 2024 The Forgejo Authors c/o Codeberg e.V.. All rights reserved.
+// SPDX-License-Identifier: MIT
+
+package v1_22 //nolint
+
+import (
+ "strconv"
+ "testing"
+
+ migration_tests "code.gitea.io/gitea/models/migrations/test"
+ "code.gitea.io/gitea/modules/timeutil"
+ webhook_module "code.gitea.io/gitea/modules/webhook"
+
+ "github.com/stretchr/testify/assert"
+ "github.com/stretchr/testify/require"
+)
+
+func Test_AddPayloadVersionToHookTaskTable(t *testing.T) {
+ type HookTaskMigrated HookTask
+
+ // HookTask represents a hook task, as of before the migration
+ type HookTask struct {
+ ID int64 `xorm:"pk autoincr"`
+ HookID int64 `xorm:"index"`
+ UUID string `xorm:"unique"`
+ PayloadContent string `xorm:"LONGTEXT"`
+ EventType webhook_module.HookEventType
+ IsDelivered bool
+ Delivered timeutil.TimeStampNano
+
+ // History info.
+ IsSucceed bool
+ RequestContent string `xorm:"LONGTEXT"`
+ ResponseContent string `xorm:"LONGTEXT"`
+ }
+
+ // Prepare and load the testing database
+ x, deferable := migration_tests.PrepareTestEnv(t, 0, new(HookTask), new(HookTaskMigrated))
+ defer deferable()
+ if x == nil || t.Failed() {
+ return
+ }
+
+ require.NoError(t, AddPayloadVersionToHookTaskTable(x))
+
+ expected := []HookTaskMigrated{}
+ require.NoError(t, x.Table("hook_task_migrated").Asc("id").Find(&expected))
+ assert.Len(t, expected, 2)
+
+ got := []HookTaskMigrated{}
+ require.NoError(t, x.Table("hook_task").Asc("id").Find(&got))
+
+ for i, expected := range expected {
+ expected, got := expected, got[i]
+ t.Run(strconv.FormatInt(expected.ID, 10), func(t *testing.T) {
+ assert.Equal(t, expected.PayloadVersion, got.PayloadVersion)
+ })
+ }
+}