Add tests for secrets update
This commit is contained in:
parent
3c0a6b893d
commit
31725a6f4d
|
|
@ -72,28 +72,47 @@ func (m *mockTeamsAPIClient) setMembers(members []string) {
|
|||
m.members = members
|
||||
}
|
||||
|
||||
type mockNoSecretGetter struct {
|
||||
}
|
||||
type mockNoSecretGetter struct{}
|
||||
|
||||
type mockSecretGetter struct{}
|
||||
|
||||
type testNoSecret struct {
|
||||
v1core.SecretInterface
|
||||
}
|
||||
|
||||
type testSecret struct {
|
||||
v1core.SecretInterface
|
||||
}
|
||||
|
||||
func (c *testNoSecret) Get(name string, options metav1.GetOptions) (*v1.Secret, error) {
|
||||
return nil, &NotFoundError{}
|
||||
|
||||
}
|
||||
|
||||
func (c *testSecret) Get(name string, options metav1.GetOptions) (*v1.Secret, error) {
|
||||
return &v1.Secret{}, nil
|
||||
}
|
||||
|
||||
func (c *mockNoSecretGetter) Secrets(namespace string) v1core.SecretInterface {
|
||||
return &testNoSecret{}
|
||||
}
|
||||
|
||||
func mockKubernetesClient() k8sutil.KubernetesClient {
|
||||
func (c *mockSecretGetter) Secrets(namespace string) v1core.SecretInterface {
|
||||
return &testSecret{}
|
||||
}
|
||||
|
||||
func mockK8sClientNoSecrets() k8sutil.KubernetesClient {
|
||||
return k8sutil.KubernetesClient{
|
||||
SecretsGetter: &mockNoSecretGetter{},
|
||||
}
|
||||
}
|
||||
|
||||
func mockK8sClient() k8sutil.KubernetesClient {
|
||||
return k8sutil.KubernetesClient{
|
||||
SecretsGetter: &mockSecretGetter{},
|
||||
}
|
||||
}
|
||||
|
||||
func TestMergeDeprecatedPostgreSQLSpecParameters(t *testing.T) {
|
||||
c := NewController(&spec.ControllerConfig{})
|
||||
tests := []struct {
|
||||
|
|
@ -129,16 +148,17 @@ func TestGeneratePlan(t *testing.T) {
|
|||
c.opConfig.SuperUsername = "test-superuser"
|
||||
c.opConfig.SecretNameTemplate = "secret"
|
||||
c.clusterFactory = &mockClusterGenerator{}
|
||||
c.KubeClient = mockKubernetesClient()
|
||||
|
||||
tests := []struct {
|
||||
name string
|
||||
client k8sutil.KubernetesClient
|
||||
in ClusterEvent
|
||||
contains cluster.Plan
|
||||
error string
|
||||
}{
|
||||
{
|
||||
"Cluster add produces plan with a CreateSecret",
|
||||
mockK8sClientNoSecrets(),
|
||||
ClusterEvent{
|
||||
EventType: EventAdd,
|
||||
NewSpec: &acidv1.Postgresql{
|
||||
|
|
@ -151,8 +171,24 @@ func TestGeneratePlan(t *testing.T) {
|
|||
[]cluster.Action{cluster.CreateSecret{}, cluster.CreateSecret{}},
|
||||
"A plan for a new cluster should create secrets",
|
||||
},
|
||||
{
|
||||
"Cluster add produces plan with an UpdateSecret if they're exist",
|
||||
mockK8sClient(),
|
||||
ClusterEvent{
|
||||
EventType: EventAdd,
|
||||
NewSpec: &acidv1.Postgresql{
|
||||
ObjectMeta: metav1.ObjectMeta{
|
||||
Name: "TestCluster",
|
||||
Namespace: "TestNamespace",
|
||||
},
|
||||
},
|
||||
},
|
||||
[]cluster.Action{cluster.UpdateSecret{}, cluster.UpdateSecret{}},
|
||||
"A plan for a new cluster should create secrets",
|
||||
},
|
||||
}
|
||||
for _, tt := range tests {
|
||||
c.KubeClient = tt.client
|
||||
result := c.generatePlan(tt.in)
|
||||
for idx, output := range result {
|
||||
output := reflect.TypeOf(output)
|
||||
|
|
|
|||
Loading…
Reference in New Issue