type testSocket … // newEndpoint constructs a unique name for a Linux Abstract Socket to be used in a test. // This package uses Linux Domain Sockets to remove the need for clean-up of socket files. func newEndpoint() *testSocket { … } // TestKMSPluginLateStart tests the scenario where kms-plugin pod/container starts after kube-apiserver pod/container. // Since the Dial to kms-plugin is non-blocking we expect the construction of gRPC service to succeed even when // kms-plugin is not yet up - dialing happens in the background. func TestKMSPluginLateStart(t *testing.T) { … } // TestTimeout tests behaviour of the kube-apiserver based on the supplied timeout and delayed start of kms-plugin. func TestTimeouts(t *testing.T) { … } // TestIntermittentConnectionLoss tests the scenario where the connection with kms-plugin is intermittently lost. func TestIntermittentConnectionLoss(t *testing.T) { … } func TestUnsupportedVersion(t *testing.T) { … } // Normal encryption and decryption operation. func TestGRPCService(t *testing.T) { … } // Normal encryption and decryption operation by multiple go-routines. func TestGRPCServiceConcurrentAccess(t *testing.T) { … } func destroyService(service Service) { … } // Test all those invalid configuration for KMS provider. func TestInvalidConfiguration(t *testing.T) { … } func testContext(t *testing.T) context.Context { … }