...

Source file src/edge-infra.dev/test/e2e/datasync/cloudtoedge/couchdb_ready_test.go

Documentation: edge-infra.dev/test/e2e/datasync/cloudtoedge

     1  package cloudtoedge
     2  
     3  import (
     4  	"testing"
     5  
     6  	dsapi "edge-infra.dev/pkg/edge/datasync/apis/v1alpha1"
     7  	"edge-infra.dev/pkg/k8s/testing/kmp"
     8  	"edge-infra.dev/test/f2"
     9  	"edge-infra.dev/test/f2/x/ktest"
    10  
    11  	"gotest.tools/v3/assert"
    12  	"gotest.tools/v3/assert/cmp"
    13  
    14  	"sigs.k8s.io/controller-runtime/pkg/client"
    15  )
    16  
    17  func TestCouchDBResources(t *testing.T) {
    18  	var k *ktest.K8s
    19  	feature := f2.NewFeature("CouchDB Resources Check").
    20  		Test("Verify CouchDBPersistence in ready state", func(ctx f2.Context, t *testing.T) f2.Context {
    21  			k = ktest.FromContextT(ctx, t)
    22  			persistenceResources := dsapi.CouchDBPersistenceList{}
    23  			err := k.Client.List(ctx, &persistenceResources, client.InNamespace(couchNamespace))
    24  			assert.NilError(t, err)
    25  			assert.Assert(t, len(persistenceResources.Items) > 0, "CouchDBPersistence should not be empty")
    26  
    27  			for _, persistence := range persistenceResources.Items {
    28  				persistence := persistence
    29  				k.WaitOn(t, k.Check(&persistence, kmp.IsReady()))
    30  			}
    31  			return ctx
    32  		}).
    33  		Test("Verify CouchDBServer in ready state", func(ctx f2.Context, t *testing.T) f2.Context {
    34  			servers := dsapi.CouchDBServerList{}
    35  			err := k.Client.List(ctx, &servers, client.InNamespace(couchNamespace))
    36  			assert.NilError(t, err)
    37  			assert.Check(t, cmp.Len(servers.Items, len(nodes.Items)), "number of couchdb servers not equal to number of nodes")
    38  
    39  			for _, server := range servers.Items {
    40  				server := server
    41  				k.WaitOn(t, k.Check(&server, kmp.IsReady()))
    42  			}
    43  			return ctx
    44  		}).
    45  		Test("Verify CouchDBUser in ready state", func(ctx f2.Context, t *testing.T) f2.Context {
    46  			users := dsapi.CouchDBUserList{}
    47  			err := k.Client.List(ctx, &users, client.InNamespace(couchNamespace))
    48  			assert.NilError(t, err)
    49  			assert.Check(t, cmp.Len(users.Items, len(nodes.Items)), "number of couchdb users not equal to number of nodes")
    50  
    51  			for _, user := range users.Items {
    52  				user := user
    53  				k.WaitOn(t, k.Check(&user, kmp.IsReady()))
    54  			}
    55  			return ctx
    56  		}).
    57  		Test("Verify CouchDBReplicationSet in ready state", func(ctx f2.Context, t *testing.T) f2.Context {
    58  			replications := dsapi.CouchDBReplicationSetList{}
    59  			err := k.Client.List(ctx, &replications, client.InNamespace(couchNamespace))
    60  			assert.NilError(t, err)
    61  			assert.Check(t, cmp.Len(replications.Items, len(nodes.Items)), "number of replications not equal to number of nodes")
    62  
    63  			for _, replication := range replications.Items {
    64  				repl := replication
    65  				k.WaitOn(t, k.Check(&repl, kmp.IsReady()))
    66  			}
    67  			return ctx
    68  		}).
    69  		Feature()
    70  	f.Test(t, feature)
    71  }
    72  

View as plain text