Skip to content

Commit 8ce40cb

Browse files
committed
Wait for transferred fields as well.
1 parent 9794bfa commit 8ce40cb

File tree

1 file changed

+42
-0
lines changed

1 file changed

+42
-0
lines changed

pkg/sqlcache/integration_test.go

Lines changed: 42 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -577,6 +577,34 @@ func waitForProjectsDisplayName(ctx context.Context, proxyStore *sqlproxy.Store,
577577
})
578578
}
579579

580+
func waitForTransferredFields(ctx context.Context, proxyStore *sqlproxy.Store, schema *types.APISchema, labelTest string, expectedNum int, transferredFields ...string) error {
581+
if expectedNum == 0 {
582+
return nil
583+
}
584+
return wait.PollUntilContextCancel(ctx, time.Second*10, true, func(ctx context.Context) (done bool, err error) {
585+
q := "?filter="
586+
nextFilter := ""
587+
if labelTest != "" {
588+
q = fmt.Sprintf("?%s=%s", testFilter, labelTest)
589+
nextFilter = "&"
590+
}
591+
for _, s := range transferredFields {
592+
q += fmt.Sprintf(`%s%s!=""`, nextFilter, s)
593+
nextFilter = "&"
594+
}
595+
req, err := http.NewRequest("GET", "http://localhost:8080"+q, nil)
596+
if err != nil {
597+
return false, err
598+
}
599+
apiOp := &types.APIRequest{
600+
Request: req,
601+
}
602+
partitions := []partition.Partition{defaultPartition}
603+
_, total, _, err := proxyStore.ListByPartitions(apiOp, schema, partitions)
604+
return err == nil && total == expectedNum, err
605+
})
606+
}
607+
580608
type ResetFunc func(k8sschema.GroupVersionKind) error
581609

582610
func (f ResetFunc) Reset(gvk k8sschema.GroupVersionKind) error {
@@ -1346,10 +1374,24 @@ func (i *IntegrationSuite) TestSecretProjectDependencies() {
13461374
}
13471375

13481376
err = waitForObjectsBySchema(ctx, proxyStore, mcioSchema, labelTest, len(projectInfo))
1377+
if err != nil {
1378+
fmt.Printf("Error in secret/project tests: waitFor mico projects failed: %s\n", err)
1379+
}
13491380
requireT.NoError(err)
13501381
err = waitForObjectsBySchema(ctx, proxyStore, secretSchema, labelTest, len(secretInfo))
1382+
if err != nil {
1383+
fmt.Printf("Error in secret/project tests: waitFor secrets failed: %s\n", err)
1384+
}
13511385
requireT.NoError(err)
13521386
err = waitForProjectsDisplayName(ctx, proxyStore, mcioSchema)
1387+
if err != nil {
1388+
fmt.Printf("Error in secret/project tests: waitFor ProjectsDisplayName failed: %s\n", err)
1389+
}
1390+
requireT.NoError(err)
1391+
err = waitForTransferredFields(ctx, proxyStore, secretSchema, labelTest, len(secretInfo), "spec.clusterName", "spec.displayName")
1392+
if err != nil {
1393+
fmt.Printf("Error in secret/project tests: waitFor secrets transferred-fields failed: %s\n", err)
1394+
}
13531395
requireT.NoError(err)
13541396

13551397
partitions := []partition.Partition{defaultPartition}

0 commit comments

Comments
 (0)