kms gRPC test: wait until server is healthy

Signed-off-by: Monis Khan <mok@microsoft.com>
This commit is contained in:
Monis Khan 2023-01-06 15:31:33 -05:00
parent 0e49c542d7
commit 95ade66cc2
No known key found for this signature in database
4 changed files with 27 additions and 3 deletions

View File

@ -353,6 +353,9 @@ rules:
source:
branch: master
dir: staging/src/k8s.io/kms
dependencies:
- repository: apimachinery
branch: master
- name: release-1.26
go: 1.19.4
source:

View File

@ -7,18 +7,22 @@ go 1.19
require (
github.com/gogo/protobuf v1.3.2
google.golang.org/grpc v1.51.0
k8s.io/apimachinery v0.0.0
k8s.io/klog/v2 v2.80.1
)
require (
github.com/go-logr/logr v1.2.3 // indirect
github.com/golang/protobuf v1.5.2 // indirect
github.com/google/go-cmp v0.5.9 // indirect
golang.org/x/net v0.4.0 // indirect
golang.org/x/sys v0.3.0 // indirect
golang.org/x/text v0.5.0 // indirect
google.golang.org/genproto v0.0.0-20220502173005-c8bf987b8c21 // indirect
google.golang.org/protobuf v1.28.1 // indirect
k8s.io/utils v0.0.0-20221107191617-1a15be271d1d // indirect
)
replace k8s.io/kms => ../kms
replace (
k8s.io/apimachinery => ../apimachinery
k8s.io/kms => ../kms
)

View File

@ -48,7 +48,6 @@ github.com/google/go-cmp v0.5.0/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/
github.com/google/go-cmp v0.5.5/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE=
github.com/google/go-cmp v0.5.6/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE=
github.com/google/go-cmp v0.5.9 h1:O2Tfq5qg4qc4AmwVlvv0oLiVAGB7enBSJ2x2DqQFi38=
github.com/google/go-cmp v0.5.9/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY=
github.com/google/uuid v1.1.2/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo=
github.com/grpc-ecosystem/grpc-gateway v1.16.0/go.mod h1:BDjrQk3hbvj6Nolgz8mAMFbcEtjT1g+wF4CSlocrBnw=
github.com/kisielk/errcheck v1.5.0/go.mod h1:pFxgyoBC7bSaBwPgfKdkLd5X25qrDl4LWUI2bnpBCr8=
@ -161,3 +160,5 @@ honnef.co/go/tools v0.0.0-20190102054323-c2f93a96b099/go.mod h1:rf3lG4BRIbNafJWh
honnef.co/go/tools v0.0.0-20190523083050-ea95bdfd59fc/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4=
k8s.io/klog/v2 v2.80.1 h1:atnLQ121W371wYYFawwYx1aEY2eUfs4l3J72wtgAwV4=
k8s.io/klog/v2 v2.80.1/go.mod h1:y1WjHnz7Dj687irZUWR/WLkLc5N1YHtjLdmgWjndZn0=
k8s.io/utils v0.0.0-20221107191617-1a15be271d1d h1:0Smp/HP1OH4Rvhe+4B8nWGERtlqAGSftbSbbmm45oFs=
k8s.io/utils v0.0.0-20221107191617-1a15be271d1d/go.mod h1:OLgZIPagt7ERELqWJFomSt595RzquPNLL48iOWgYOg0=

View File

@ -31,6 +31,7 @@ import (
"google.golang.org/grpc"
"google.golang.org/grpc/credentials/insecure"
"k8s.io/apimachinery/pkg/util/wait"
kmsapi "k8s.io/kms/apis/v2alpha1"
)
@ -62,6 +63,21 @@ func TestGRPCService(t *testing.T) {
client := newClient(t, address)
// make sure the gRPC server is up before running tests
if err := wait.PollImmediateUntilWithContext(ctx, time.Second, func(ctx context.Context) (bool, error) {
ctx, cancel := context.WithTimeout(ctx, 3*time.Second)
defer cancel()
_, err := client.Status(ctx, &kmsapi.StatusRequest{})
if err != nil {
t.Logf("failed to get kms status: %v", err)
}
return err == nil, nil
}); err != nil {
t.Fatal(err)
}
t.Run("should be able to encrypt and decrypt through unix domain sockets", func(t *testing.T) {
t.Parallel()