...

Source file src/edge-infra.dev/pkg/edge/info/secret_test.go

Documentation: edge-infra.dev/pkg/edge/info

     1  package info_test
     2  
     3  import (
     4  	"testing"
     5  
     6  	"github.com/stretchr/testify/assert"
     7  	"sigs.k8s.io/controller-runtime/pkg/client/fake"
     8  
     9  	"edge-infra.dev/pkg/edge/info"
    10  	"edge-infra.dev/test/f2"
    11  )
    12  
    13  func TestBootstrapSecret(t *testing.T) {
    14  	feature := f2.NewFeature("Test Bootstrap Secret").
    15  		Test("BuildBootstrapSecret", func(ctx f2.Context, t *testing.T) f2.Context {
    16  			secret := info.BuildBootstrapSecret("token")
    17  			assert.Equal(t, secret.Namespace, info.EdgeBootstrapping)
    18  			assert.Equal(t, secret.Name, info.EdgeConfigMapName)
    19  			assert.Equal(t, len(secret.Data), 1)
    20  			assert.Equal(t, secret.Data[info.TotpSecret], []byte("token"))
    21  			return ctx
    22  		}).
    23  		Test("SecretFromClient", func(ctx f2.Context, t *testing.T) f2.Context {
    24  			cl := fake.NewClientBuilder().Build()
    25  
    26  			expected := "token"
    27  
    28  			token, err := info.TokenFromClient(ctx, cl)
    29  			assert.Error(t, err)
    30  			assert.Empty(t, token)
    31  
    32  			secret := info.BuildBootstrapSecret(expected)
    33  			assert.NoError(t, cl.Create(ctx, secret))
    34  			token, err = info.TokenFromClient(ctx, cl)
    35  			assert.NoError(t, err)
    36  			assert.Equal(t, expected, token)
    37  
    38  			updated := info.BuildBootstrapSecret(expected)
    39  			delete(updated.Data, info.TotpSecret)
    40  			assert.NoError(t, cl.Update(ctx, updated))
    41  			token, err = info.TokenFromClient(ctx, cl)
    42  			assert.Error(t, err)
    43  			assert.Empty(t, token)
    44  			return ctx
    45  		}).Feature()
    46  	f.Test(t, feature)
    47  }
    48  

View as plain text