You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
boundary/internal/kms/testing_test.go

161 lines
5.5 KiB

package kms_test
import (
"testing"
"github.com/hashicorp/boundary/internal/db"
"github.com/hashicorp/boundary/internal/iam"
"github.com/hashicorp/boundary/internal/kms"
"github.com/stretchr/testify/assert"
"github.com/stretchr/testify/require"
)
func Test_TestRootKey(t *testing.T) {
t.Helper()
assert, require := assert.New(t), require.New(t)
conn, _ := db.TestSetup(t, "postgres")
wrapper := db.TestWrapper(t)
org, _ := iam.TestScopes(t, iam.TestRepo(t, conn, wrapper))
require.NoError(conn.Where("1=1").Delete(kms.AllocRootKey()).Error)
k := kms.TestRootKey(t, conn, org.PublicId)
require.NotNil(k)
assert.NotEmpty(k.PrivateId)
}
func Test_TestRootKeyVersion(t *testing.T) {
t.Helper()
assert, require := assert.New(t), require.New(t)
conn, _ := db.TestSetup(t, "postgres")
wrapper := db.TestWrapper(t)
org, _ := iam.TestScopes(t, iam.TestRepo(t, conn, wrapper))
require.NoError(conn.Where("1=1").Delete(kms.AllocRootKey()).Error)
rk := kms.TestRootKey(t, conn, org.PublicId)
k, _ := kms.TestRootKeyVersion(t, conn, wrapper, rk.PrivateId)
require.NotNil(k)
assert.NotEmpty(k.PrivateId)
}
func Test_TestDatabaseKey(t *testing.T) {
t.Helper()
assert, require := assert.New(t), require.New(t)
conn, _ := db.TestSetup(t, "postgres")
wrapper := db.TestWrapper(t)
org, _ := iam.TestScopes(t, iam.TestRepo(t, conn, wrapper))
require.NoError(conn.Where("1=1").Delete(kms.AllocRootKey()).Error)
k := kms.TestRootKey(t, conn, org.PublicId)
require.NotNil(k)
assert.NotEmpty(k.PrivateId)
dk := kms.TestDatabaseKey(t, conn, k.PrivateId)
require.NotNil(dk)
assert.NotEmpty(dk.PrivateId)
}
func Test_TestDatabaseKeyVersion(t *testing.T) {
t.Helper()
require := require.New(t)
conn, _ := db.TestSetup(t, "postgres")
kmsWrapper := db.TestWrapper(t)
org, _ := iam.TestScopes(t, iam.TestRepo(t, conn, kmsWrapper))
require.NoError(conn.Where("1=1").Delete(kms.AllocRootKey()).Error)
rk := kms.TestRootKey(t, conn, org.PublicId)
_, rootKeyVersionWrapper := kms.TestRootKeyVersion(t, conn, kmsWrapper, rk.PrivateId)
dk := kms.TestDatabaseKey(t, conn, rk.PrivateId)
dv := kms.TestDatabaseKeyVersion(t, conn, rootKeyVersionWrapper, dk.PrivateId, []byte("test dek key"))
require.NotNil(dv)
require.NotEmpty(dv.PrivateId)
}
func Test_TestOplogKey(t *testing.T) {
t.Helper()
assert, require := assert.New(t), require.New(t)
conn, _ := db.TestSetup(t, "postgres")
wrapper := db.TestWrapper(t)
org, _ := iam.TestScopes(t, iam.TestRepo(t, conn, wrapper))
require.NoError(conn.Where("1=1").Delete(kms.AllocRootKey()).Error)
k := kms.TestRootKey(t, conn, org.PublicId)
require.NotNil(k)
assert.NotEmpty(k.PrivateId)
opk := kms.TestOplogKey(t, conn, k.PrivateId)
require.NotNil(opk)
assert.NotEmpty(opk.PrivateId)
}
func Test_TestOplogKeyVersion(t *testing.T) {
t.Helper()
require := require.New(t)
conn, _ := db.TestSetup(t, "postgres")
kmsWrapper := db.TestWrapper(t)
org, _ := iam.TestScopes(t, iam.TestRepo(t, conn, kmsWrapper))
require.NoError(conn.Where("1=1").Delete(kms.AllocRootKey()).Error)
rk := kms.TestRootKey(t, conn, org.PublicId)
_, rootKeyVersionWrapper := kms.TestRootKeyVersion(t, conn, kmsWrapper, rk.PrivateId)
opk := kms.TestOplogKey(t, conn, rk.PrivateId)
opv := kms.TestOplogKeyVersion(t, conn, rootKeyVersionWrapper, opk.PrivateId, []byte("test dek key"))
require.NotNil(opv)
require.NotEmpty(opv.PrivateId)
}
func Test_TestTokenKey(t *testing.T) {
t.Helper()
assert, require := assert.New(t), require.New(t)
conn, _ := db.TestSetup(t, "postgres")
wrapper := db.TestWrapper(t)
org, _ := iam.TestScopes(t, iam.TestRepo(t, conn, wrapper))
require.NoError(conn.Where("1=1").Delete(kms.AllocRootKey()).Error)
k := kms.TestRootKey(t, conn, org.PublicId)
require.NotNil(k)
assert.NotEmpty(k.PrivateId)
tk := kms.TestTokenKey(t, conn, k.PrivateId)
require.NotNil(tk)
assert.NotEmpty(tk.PrivateId)
}
func Test_TestTokenKeyVersion(t *testing.T) {
t.Helper()
require := require.New(t)
conn, _ := db.TestSetup(t, "postgres")
kmsWrapper := db.TestWrapper(t)
org, _ := iam.TestScopes(t, iam.TestRepo(t, conn, kmsWrapper))
require.NoError(conn.Where("1=1").Delete(kms.AllocRootKey()).Error)
rk := kms.TestRootKey(t, conn, org.PublicId)
_, rootKeyVersionWrapper := kms.TestRootKeyVersion(t, conn, kmsWrapper, rk.PrivateId)
tk := kms.TestTokenKey(t, conn, rk.PrivateId)
tv := kms.TestTokenKeyVersion(t, conn, rootKeyVersionWrapper, tk.PrivateId, []byte("test dek key"))
require.NotNil(tv)
require.NotEmpty(tv.PrivateId)
}
func Test_TestSessionKey(t *testing.T) {
t.Helper()
assert, require := assert.New(t), require.New(t)
conn, _ := db.TestSetup(t, "postgres")
wrapper := db.TestWrapper(t)
org, _ := iam.TestScopes(t, iam.TestRepo(t, conn, wrapper))
require.NoError(conn.Where("1=1").Delete(kms.AllocRootKey()).Error)
k := kms.TestRootKey(t, conn, org.PublicId)
require.NotNil(k)
assert.NotEmpty(k.PrivateId)
sk := kms.TestSessionKey(t, conn, k.PrivateId)
require.NotNil(sk)
assert.NotEmpty(sk.PrivateId)
}
func Test_TestSessionKeyVersion(t *testing.T) {
t.Helper()
require := require.New(t)
conn, _ := db.TestSetup(t, "postgres")
kmsWrapper := db.TestWrapper(t)
org, _ := iam.TestScopes(t, iam.TestRepo(t, conn, kmsWrapper))
require.NoError(conn.Where("1=1").Delete(kms.AllocRootKey()).Error)
rk := kms.TestRootKey(t, conn, org.PublicId)
_, rootKeyVersionWrapper := kms.TestRootKeyVersion(t, conn, kmsWrapper, rk.PrivateId)
sk := kms.TestSessionKey(t, conn, rk.PrivateId)
sv := kms.TestSessionKeyVersion(t, conn, rootKeyVersionWrapper, sk.PrivateId, []byte("test dek key"))
require.NotNil(sv)
require.NotEmpty(sv.PrivateId)
}