Browse Source

test(e2e): fix shared namespaced refresh case

Signed-off-by: Moritz Johner <beller.moritz@googlemail.com>
Moritz Johner 2 months ago
parent
commit
af5950631e

+ 9 - 3
e2e/suites/provider/cases/common/namespaced_provider.go

@@ -73,6 +73,7 @@ type NamespacedProviderRefreshConfig struct {
 	UpdatedExpectedData string
 	RefreshInterval     time.Duration
 	WaitTimeout         time.Duration
+	UpdateRemoteSecret  func(tc *framework.TestCase, prov framework.SecretStoreProvider)
 }
 
 func NamespacedProviderRefresh(_ *framework.Framework, cfg NamespacedProviderRefreshConfig) (string, func(*framework.TestCase)) {
@@ -102,9 +103,14 @@ func NamespacedProviderRefresh(_ *framework.Framework, cfg NamespacedProviderRef
 			},
 		}}
 		tc.AfterSync = func(prov framework.SecretStoreProvider, _ *corev1.Secret) {
-			prov.CreateSecret(cfg.RemoteKey, framework.SecretEntry{
-				Value: cfg.UpdatedSecretValue,
-			})
+			if cfg.UpdateRemoteSecret != nil {
+				cfg.UpdateRemoteSecret(tc, prov)
+			} else {
+				prov.DeleteSecret(cfg.RemoteKey)
+				prov.CreateSecret(cfg.RemoteKey, framework.SecretEntry{
+					Value: cfg.UpdatedSecretValue,
+				})
+			}
 			waitForSecretData(tc.Framework, tc.ExternalSecret.Namespace, tc.ExternalSecret.Spec.Target.Name, map[string][]byte{
 				cfg.SecretKey: []byte(cfg.UpdatedExpectedData),
 			}, waitTimeout)

+ 3 - 0
e2e/suites/provider/cases/kubernetes/provider_v2.go

@@ -72,6 +72,9 @@ var _ = Describe("[kubernetes] v2 namespaced provider", Label("kubernetes", "v2"
 			UpdatedExpectedData: "provider-v2-updated",
 			RefreshInterval:     defaultV2RefreshInterval,
 			WaitTimeout:         30 * time.Second,
+			UpdateRemoteSecret: func(_ *framework.TestCase, _ framework.SecretStoreProvider) {
+				updateRemoteSecretValue(f, f.Namespace.Name, "provider-v2-refresh-remote", "provider-v2-updated")
+			},
 		})),
 		Entry(common.NamespacedProviderFind(f, common.NamespacedProviderFindConfig{
 			Description:        "[kubernetes] should sync ExternalSecret dataFrom.find through a namespaced Provider",