mirror of
https://github.com/1Password/onepassword-operator.git
synced 2025-10-22 07:28:06 +00:00
Move all helpers to testhelper
package
This commit is contained in:
@@ -1,21 +0,0 @@
|
|||||||
package kube
|
|
||||||
|
|
||||||
import (
|
|
||||||
"os"
|
|
||||||
|
|
||||||
. "github.com/onsi/gomega"
|
|
||||||
|
|
||||||
"github.com/1Password/onepassword-operator/test/cmd"
|
|
||||||
)
|
|
||||||
|
|
||||||
func CreateSecretFromEnvVar(envVar, secretName string) {
|
|
||||||
serviceAccountTokenToken, _ := os.LookupEnv(envVar)
|
|
||||||
Expect(serviceAccountTokenToken).NotTo(BeEmpty())
|
|
||||||
_, err := cmd.Run("kubectl", "create", "secret", "generic", secretName, "--from-literal=token="+serviceAccountTokenToken)
|
|
||||||
Expect(err).NotTo(HaveOccurred())
|
|
||||||
}
|
|
||||||
|
|
||||||
func Delete(kind, name string) {
|
|
||||||
_, err := cmd.Run("kubectl", "delete", kind, name, "--ignore-not-found=true")
|
|
||||||
Expect(err).NotTo(HaveOccurred())
|
|
||||||
}
|
|
@@ -1,8 +1,9 @@
|
|||||||
package kind
|
package kind
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"github.com/1Password/onepassword-operator/test/cmd"
|
|
||||||
"os"
|
"os"
|
||||||
|
|
||||||
|
"github.com/1Password/onepassword-operator/test/cmd"
|
||||||
)
|
)
|
||||||
|
|
||||||
// LoadImageToKind loads a local docker image to the Kind cluster
|
// LoadImageToKind loads a local docker image to the Kind cluster
|
@@ -1,6 +1,7 @@
|
|||||||
package kube
|
package kube
|
||||||
|
|
||||||
import (
|
import (
|
||||||
|
"os"
|
||||||
"time"
|
"time"
|
||||||
|
|
||||||
. "github.com/onsi/ginkgo/v2"
|
. "github.com/onsi/ginkgo/v2"
|
||||||
@@ -9,31 +10,15 @@ import (
|
|||||||
"github.com/1Password/onepassword-operator/test/cmd"
|
"github.com/1Password/onepassword-operator/test/cmd"
|
||||||
)
|
)
|
||||||
|
|
||||||
// DeployOperator deploys the Onepassword Operator in the default namespace.
|
func CreateSecretFromEnvVar(envVar, secretName string) {
|
||||||
// It waits for the operator pod to be in 'Running' state.
|
serviceAccountTokenToken, _ := os.LookupEnv(envVar)
|
||||||
// All the resources created using manifests in `config/` dir.
|
Expect(serviceAccountTokenToken).NotTo(BeEmpty())
|
||||||
// To make the operator use Connect or Service Accounts, patch `config/manager/manager.yaml`
|
_, err := cmd.Run("kubectl", "create", "secret", "generic", secretName, "--from-literal=token="+serviceAccountTokenToken)
|
||||||
func DeployOperator() {
|
|
||||||
By("deploying the operator")
|
|
||||||
_, err := cmd.Run("make", "deploy")
|
|
||||||
Expect(err).NotTo(HaveOccurred())
|
Expect(err).NotTo(HaveOccurred())
|
||||||
|
|
||||||
By("waiting for the operator pod to be 'Running'")
|
|
||||||
Eventually(func(g Gomega) {
|
|
||||||
output, err := cmd.Run("kubectl", "get", "pods",
|
|
||||||
"-l", "name=onepassword-connect-operator",
|
|
||||||
"-o", "jsonpath={.items[0].status.phase}")
|
|
||||||
g.Expect(err).NotTo(HaveOccurred())
|
|
||||||
g.Expect(output).To(ContainSubstring("Running"))
|
|
||||||
}, 30*time.Second, 1*time.Second).Should(Succeed())
|
|
||||||
}
|
}
|
||||||
|
|
||||||
func UndeployOperator() {
|
func Delete(kind, name string) {
|
||||||
Delete("secret", "onepassword-connect-token")
|
_, err := cmd.Run("kubectl", "delete", kind, name, "--ignore-not-found=true")
|
||||||
Delete("secret", "onepassword-service-account-token")
|
|
||||||
|
|
||||||
By("undeploying the operator")
|
|
||||||
_, err := cmd.Run("make", "undeploy", "ignore-not-found")
|
|
||||||
Expect(err).NotTo(HaveOccurred())
|
Expect(err).NotTo(HaveOccurred())
|
||||||
}
|
}
|
||||||
|
|
39
test/testhelper/operator/operator.go
Normal file
39
test/testhelper/operator/operator.go
Normal file
@@ -0,0 +1,39 @@
|
|||||||
|
package operator
|
||||||
|
|
||||||
|
import (
|
||||||
|
"time"
|
||||||
|
|
||||||
|
. "github.com/onsi/ginkgo/v2"
|
||||||
|
. "github.com/onsi/gomega"
|
||||||
|
|
||||||
|
"github.com/1Password/onepassword-operator/test/cmd"
|
||||||
|
"github.com/1Password/onepassword-operator/test/testhelper/kube"
|
||||||
|
)
|
||||||
|
|
||||||
|
// DeployOperator deploys the Onepassword Operator in the default namespace.
|
||||||
|
// It waits for the operator pod to be in 'Running' state.
|
||||||
|
// All the resources created using manifests in `config/` dir.
|
||||||
|
// To make the operator use Connect or Service Accounts, patch `config/manager/manager.yaml`
|
||||||
|
func DeployOperator() {
|
||||||
|
By("deploying the operator")
|
||||||
|
_, err := cmd.Run("make", "deploy")
|
||||||
|
Expect(err).NotTo(HaveOccurred())
|
||||||
|
|
||||||
|
By("waiting for the operator pod to be 'Running'")
|
||||||
|
Eventually(func(g Gomega) {
|
||||||
|
output, err := cmd.Run("kubectl", "get", "pods",
|
||||||
|
"-l", "name=onepassword-connect-operator",
|
||||||
|
"-o", "jsonpath={.items[0].status.phase}")
|
||||||
|
g.Expect(err).NotTo(HaveOccurred())
|
||||||
|
g.Expect(output).To(ContainSubstring("Running"))
|
||||||
|
}, 30*time.Second, 1*time.Second).Should(Succeed())
|
||||||
|
}
|
||||||
|
|
||||||
|
func UndeployOperator() {
|
||||||
|
kube.Delete("secret", "onepassword-connect-token")
|
||||||
|
kube.Delete("secret", "onepassword-service-account-token")
|
||||||
|
|
||||||
|
By("undeploying the operator")
|
||||||
|
_, err := cmd.Run("make", "undeploy", "ignore-not-found")
|
||||||
|
Expect(err).NotTo(HaveOccurred())
|
||||||
|
}
|
Reference in New Issue
Block a user