2022-09-05 09:06:08 +02:00
|
|
|
/*
|
|
|
|
Copyright (c) Edgeless Systems GmbH
|
|
|
|
|
|
|
|
SPDX-License-Identifier: AGPL-3.0-only
|
|
|
|
*/
|
|
|
|
|
2022-06-13 16:23:19 +02:00
|
|
|
package resources
|
|
|
|
|
|
|
|
import (
|
|
|
|
"testing"
|
|
|
|
|
2022-09-21 13:47:57 +02:00
|
|
|
"github.com/edgelesssys/constellation/v2/internal/kubernetes"
|
2022-06-13 16:23:19 +02:00
|
|
|
"github.com/stretchr/testify/assert"
|
|
|
|
"github.com/stretchr/testify/require"
|
2022-06-30 15:24:36 +02:00
|
|
|
"go.uber.org/goleak"
|
2022-06-13 16:23:19 +02:00
|
|
|
)
|
|
|
|
|
2022-06-30 15:24:36 +02:00
|
|
|
func TestMain(m *testing.M) {
|
|
|
|
goleak.VerifyTestMain(m)
|
|
|
|
}
|
|
|
|
|
2022-06-13 16:23:19 +02:00
|
|
|
func TestAccessManagerMarshalUnmarshal(t *testing.T) {
|
|
|
|
require := require.New(t)
|
|
|
|
assert := assert.New(t)
|
|
|
|
|
|
|
|
// Without data
|
|
|
|
accessManagerDeplNil := NewAccessManagerDeployment(nil)
|
|
|
|
data, err := accessManagerDeplNil.Marshal()
|
|
|
|
require.NoError(err)
|
|
|
|
|
2022-10-05 15:02:46 +02:00
|
|
|
var recreated AccessManagerDeployment
|
2022-08-29 14:30:20 +02:00
|
|
|
require.NoError(kubernetes.UnmarshalK8SResources(data, &recreated))
|
2022-06-13 16:23:19 +02:00
|
|
|
assert.Equal(accessManagerDeplNil, &recreated)
|
|
|
|
|
|
|
|
// With data
|
|
|
|
sshUsers := make(map[string]string)
|
|
|
|
sshUsers["test-user"] = "ssh-rsa abcdefg"
|
|
|
|
accessManagerDeplNil = NewAccessManagerDeployment(sshUsers)
|
|
|
|
data, err = accessManagerDeplNil.Marshal()
|
|
|
|
require.NoError(err)
|
|
|
|
|
2022-08-29 14:30:20 +02:00
|
|
|
require.NoError(kubernetes.UnmarshalK8SResources(data, &recreated))
|
2022-06-13 16:23:19 +02:00
|
|
|
assert.Equal(accessManagerDeplNil, &recreated)
|
|
|
|
}
|