package info_test import ( "testing" "github.com/stretchr/testify/assert" "sigs.k8s.io/controller-runtime/pkg/client/fake" "edge-infra.dev/pkg/edge/info" "edge-infra.dev/test/f2" ) func TestBootstrapSecret(t *testing.T) { feature := f2.NewFeature("Test Bootstrap Secret"). Test("BuildBootstrapSecret", func(ctx f2.Context, t *testing.T) f2.Context { secret := info.BuildBootstrapSecret("token") assert.Equal(t, secret.Namespace, info.EdgeBootstrapping) assert.Equal(t, secret.Name, info.EdgeConfigMapName) assert.Equal(t, len(secret.Data), 1) assert.Equal(t, secret.Data[info.TotpSecret], []byte("token")) return ctx }). Test("SecretFromClient", func(ctx f2.Context, t *testing.T) f2.Context { cl := fake.NewClientBuilder().Build() expected := "token" token, err := info.TokenFromClient(ctx, cl) assert.Error(t, err) assert.Empty(t, token) secret := info.BuildBootstrapSecret(expected) assert.NoError(t, cl.Create(ctx, secret)) token, err = info.TokenFromClient(ctx, cl) assert.NoError(t, err) assert.Equal(t, expected, token) updated := info.BuildBootstrapSecret(expected) delete(updated.Data, info.TotpSecret) assert.NoError(t, cl.Update(ctx, updated)) token, err = info.TokenFromClient(ctx, cl) assert.Error(t, err) assert.Empty(t, token) return ctx }).Feature() f.Test(t, feature) }