csi: let constructor take care of setting up cryptsetup (#2312)

Signed-off-by: Daniel Weiße <dw@edgeless.systems>
This commit is contained in:
Daniel Weiße 2023-09-06 15:05:59 +02:00 committed by GitHub
parent d3c940a6a0
commit 327315d5de
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
4 changed files with 15 additions and 10 deletions

View File

@ -40,9 +40,9 @@ type CryptMapper struct {
// New initializes a new CryptMapper with the given kms client and key-encryption-key ID. // New initializes a new CryptMapper with the given kms client and key-encryption-key ID.
// kms is used to fetch data encryption keys for the dm-crypt volumes. // kms is used to fetch data encryption keys for the dm-crypt volumes.
func New(kms keyCreator, mapper deviceMapper) *CryptMapper { func New(kms keyCreator) *CryptMapper {
return &CryptMapper{ return &CryptMapper{
mapper: mapper, mapper: cryptsetup.New(),
kms: kms, kms: kms,
getDiskFormat: getDiskFormat, getDiskFormat: getDiskFormat,
} }

View File

@ -57,7 +57,11 @@ func TestCloseCryptDevice(t *testing.T) {
}) })
} }
mapper := New(&fakeKMS{}, &stubCryptDevice{}) mapper := &CryptMapper{
mapper: &stubCryptDevice{},
kms: &fakeKMS{},
getDiskFormat: getDiskFormat,
}
err := mapper.CloseCryptDevice("volume01-unit-test") err := mapper.CloseCryptDevice("volume01-unit-test")
assert.NoError(t, err) assert.NoError(t, err)
} }
@ -214,7 +218,11 @@ func TestOpenCryptDevice(t *testing.T) {
}) })
} }
mapper := New(&fakeKMS{}, &stubCryptDevice{}) mapper := &CryptMapper{
mapper: &stubCryptDevice{},
kms: &fakeKMS{},
getDiskFormat: getDiskFormat,
}
_, err := mapper.OpenCryptDevice(context.Background(), "/dev/some-device", "volume01", false) _, err := mapper.OpenCryptDevice(context.Background(), "/dev/some-device", "volume01", false)
assert.NoError(t, err) assert.NoError(t, err)
} }

View File

@ -8,14 +8,12 @@ go_test(
deps = select({ deps = select({
"@io_bazel_rules_go//go/platform:android": [ "@io_bazel_rules_go//go/platform:android": [
"//csi/cryptmapper", "//csi/cryptmapper",
"//internal/cryptsetup",
"@com_github_stretchr_testify//assert", "@com_github_stretchr_testify//assert",
"@com_github_stretchr_testify//require", "@com_github_stretchr_testify//require",
"@org_uber_go_goleak//:goleak", "@org_uber_go_goleak//:goleak",
], ],
"@io_bazel_rules_go//go/platform:linux": [ "@io_bazel_rules_go//go/platform:linux": [
"//csi/cryptmapper", "//csi/cryptmapper",
"//internal/cryptsetup",
"@com_github_stretchr_testify//assert", "@com_github_stretchr_testify//assert",
"@com_github_stretchr_testify//require", "@com_github_stretchr_testify//require",
"@org_uber_go_goleak//:goleak", "@org_uber_go_goleak//:goleak",

View File

@ -16,7 +16,6 @@ import (
"testing" "testing"
"github.com/edgelesssys/constellation/v2/csi/cryptmapper" "github.com/edgelesssys/constellation/v2/csi/cryptmapper"
"github.com/edgelesssys/constellation/v2/internal/cryptsetup"
"github.com/stretchr/testify/assert" "github.com/stretchr/testify/assert"
"github.com/stretchr/testify/require" "github.com/stretchr/testify/require"
"go.uber.org/goleak" "go.uber.org/goleak"
@ -67,7 +66,7 @@ func TestOpenAndClose(t *testing.T) {
setup() setup()
defer teardown(devicePath) defer teardown(devicePath)
mapper := cryptmapper.New(&fakeKMS{}, cryptsetup.New()) mapper := cryptmapper.New(&fakeKMS{})
newPath, err := mapper.OpenCryptDevice(context.Background(), devicePath, deviceName, false) newPath, err := mapper.OpenCryptDevice(context.Background(), devicePath, deviceName, false)
require.NoError(err) require.NoError(err)
@ -107,7 +106,7 @@ func TestOpenAndCloseIntegrity(t *testing.T) {
setup() setup()
defer teardown(devicePath) defer teardown(devicePath)
mapper := cryptmapper.New(&fakeKMS{}, cryptsetup.New()) mapper := cryptmapper.New(&fakeKMS{})
newPath, err := mapper.OpenCryptDevice(context.Background(), devicePath, deviceName, true) newPath, err := mapper.OpenCryptDevice(context.Background(), devicePath, deviceName, true)
require.NoError(err) require.NoError(err)
@ -146,7 +145,7 @@ func TestDeviceCloning(t *testing.T) {
setup() setup()
defer teardown(devicePath) defer teardown(devicePath)
mapper := cryptmapper.New(&dynamicKMS{}, cryptsetup.New()) mapper := cryptmapper.New(&dynamicKMS{})
_, err := mapper.OpenCryptDevice(context.Background(), devicePath, deviceName, false) _, err := mapper.OpenCryptDevice(context.Background(), devicePath, deviceName, false)
assert.NoError(err) assert.NoError(err)