mirror of
https://github.com/external-secrets/external-secrets.git
synced 2024-12-14 11:57:59 +00:00
Adds azure managed test case
This commit is contained in:
parent
6a0aee37e7
commit
9d55b9bbeb
1 changed files with 72 additions and 0 deletions
72
e2e/suites/provider/cases/azure/azure_managed.go
Normal file
72
e2e/suites/provider/cases/azure/azure_managed.go
Normal file
|
@ -0,0 +1,72 @@
|
|||
/*
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
you may not use this file except in compliance with the License.
|
||||
You may obtain a copy of the License at
|
||||
|
||||
http://www.apache.org/licenses/LICENSE-2.0
|
||||
|
||||
Unless required by applicable law or agreed to in writing, software
|
||||
distributed under the License is distributed on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
limitations under the License.
|
||||
*/
|
||||
package azure
|
||||
|
||||
import (
|
||||
|
||||
// nolint
|
||||
. "github.com/onsi/ginkgo/v2"
|
||||
|
||||
// nolint
|
||||
// . "github.com/onsi/gomega"
|
||||
esv1beta1 "github.com/external-secrets/external-secrets/apis/externalsecrets/v1beta1"
|
||||
"github.com/external-secrets/external-secrets/e2e/framework"
|
||||
"github.com/external-secrets/external-secrets/e2e/framework/addon"
|
||||
"github.com/external-secrets/external-secrets/e2e/suites/provider/cases/common"
|
||||
)
|
||||
|
||||
const (
|
||||
withPodID = "sync secrets with workload identity"
|
||||
)
|
||||
|
||||
// Deploys eso to the default namespace
|
||||
// that uses the service account provisioned by terraform
|
||||
// to test workload-identity authentication.
|
||||
var _ = Describe("[azuremanaged] with pod identity", Label("azure", "keyvault", "managed", "workload-identity"), func() {
|
||||
f := framework.New("eso-azuremanaged")
|
||||
prov := newFromEnv(f)
|
||||
|
||||
// each test case gets its own ESO instance
|
||||
BeforeEach(func() {
|
||||
f.Install(addon.NewESO(
|
||||
addon.WithControllerClass(f.BaseName),
|
||||
addon.WithServiceAccount(prov.clientID),
|
||||
addon.WithReleaseName(f.Namespace.Name),
|
||||
addon.WithNamespace("default"),
|
||||
addon.WithoutWebhook(),
|
||||
addon.WithoutCertController(),
|
||||
))
|
||||
})
|
||||
|
||||
DescribeTable("sync secrets",
|
||||
framework.TableFunc(f,
|
||||
prov),
|
||||
// uses pod id
|
||||
framework.Compose(withPodID, f, common.SimpleDataSync, usePodIDESReference),
|
||||
framework.Compose(withPodID, f, common.JSONDataWithProperty, usePodIDESReference),
|
||||
framework.Compose(withPodID, f, common.JSONDataFromSync, usePodIDESReference),
|
||||
framework.Compose(withPodID, f, common.NestedJSONWithGJSON, usePodIDESReference),
|
||||
framework.Compose(withPodID, f, common.JSONDataWithTemplate, usePodIDESReference),
|
||||
framework.Compose(withPodID, f, common.DockerJSONConfig, usePodIDESReference),
|
||||
framework.Compose(withPodID, f, common.DataPropertyDockerconfigJSON, usePodIDESReference),
|
||||
framework.Compose(withPodID, f, common.SSHKeySync, usePodIDESReference),
|
||||
framework.Compose(withPodID, f, common.SSHKeySyncDataProperty, usePodIDESReference),
|
||||
framework.Compose(withPodID, f, common.SyncWithoutTargetName, usePodIDESReference),
|
||||
framework.Compose(withPodID, f, common.JSONDataWithoutTargetName, usePodIDESReference),
|
||||
)
|
||||
})
|
||||
|
||||
func usePodIDESReference(tc *framework.TestCase) {
|
||||
tc.ExternalSecret.Spec.SecretStoreRef.Kind = esv1beta1.ClusterSecretStoreKind
|
||||
|
||||
}
|
Loading…
Reference in a new issue