summaryrefslogtreecommitdiffstats
path: root/tests/integration/session_test.go
diff options
context:
space:
mode:
Diffstat (limited to 'tests/integration/session_test.go')
-rw-r--r--tests/integration/session_test.go38
1 files changed, 38 insertions, 0 deletions
diff --git a/tests/integration/session_test.go b/tests/integration/session_test.go
new file mode 100644
index 00000000..a5bcab26
--- /dev/null
+++ b/tests/integration/session_test.go
@@ -0,0 +1,38 @@
+// Copyright 2023 The Gitea Authors. All rights reserved.
+// SPDX-License-Identifier: MIT
+
+package integration
+
+import (
+ "testing"
+
+ "code.gitea.io/gitea/models/auth"
+ "code.gitea.io/gitea/models/db"
+ "code.gitea.io/gitea/models/unittest"
+ "code.gitea.io/gitea/tests"
+
+ "github.com/stretchr/testify/assert"
+ "github.com/stretchr/testify/require"
+)
+
+func Test_RegenerateSession(t *testing.T) {
+ defer tests.PrepareTestEnv(t)()
+
+ require.NoError(t, unittest.PrepareTestDatabase())
+
+ key := "new_key890123456" // it must be 16 characters long
+ key2 := "new_key890123457" // it must be 16 characters
+ exist, err := auth.ExistSession(db.DefaultContext, key)
+ require.NoError(t, err)
+ assert.False(t, exist)
+
+ sess, err := auth.RegenerateSession(db.DefaultContext, "", key)
+ require.NoError(t, err)
+ assert.EqualValues(t, key, sess.Key)
+ assert.Empty(t, sess.Data, 0)
+
+ sess, err = auth.ReadSession(db.DefaultContext, key2)
+ require.NoError(t, err)
+ assert.EqualValues(t, key2, sess.Key)
+ assert.Empty(t, sess.Data, 0)
+}