From b9d0c486c373a59b4d2a6d864837c235f915beba Mon Sep 17 00:00:00 2001 From: Nabeel Sulieman Date: Sat, 11 Mar 2023 16:23:22 -0800 Subject: [PATCH] Fix tests (#52) --- test/cronjob.go | 21 +++++++++++++-------- test/helpers.go | 8 ++++++-- test/runner.go | 8 +++++--- test/secrets.go | 4 +++- test/service-account.go | 15 ++++++++++----- 5 files changed, 37 insertions(+), 19 deletions(-) diff --git a/test/cronjob.go b/test/cronjob.go index 64907da..228fe79 100644 --- a/test/cronjob.go +++ b/test/cronjob.go @@ -1,31 +1,35 @@ package test import ( + "context" "errors" "fmt" + "time" + batchV1 "k8s.io/api/batch/v1" "k8s.io/api/batch/v1beta1" coreV1 "k8s.io/api/core/v1" metaV1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/client-go/kubernetes" - "time" ) func initCronJob(c *kubernetes.Clientset, targetNamespace, awsRegion, awsId, awsSecret string) error { + ctx := context.Background() job := createCronJob(targetNamespace, awsRegion, awsId, awsSecret) - _, err := c.BatchV1beta1().CronJobs(ConstSvcNamespace).Create(&job) + _, err := c.BatchV1beta1().CronJobs(ConstSvcNamespace).Create(ctx, &job, metaV1.CreateOptions{}) return err } func runCronJob(c *kubernetes.Clientset) (string, error) { + ctx := context.Background() getOpt := metaV1.GetOptions{} - cron, err := c.BatchV1beta1().CronJobs(ConstSvcNamespace).Get(ConstCronJobName, getOpt) + cron, err := c.BatchV1().CronJobs(ConstSvcNamespace).Get(ctx, ConstCronJobName, getOpt) if err != nil { return "", err } job := createJob(*cron) - run, err := c.BatchV1().Jobs(ConstSvcNamespace).Create(&job) + run, err := c.BatchV1().Jobs(ConstSvcNamespace).Create(ctx, &job, metaV1.CreateOptions{}) if err != nil { return "", err } @@ -33,7 +37,7 @@ func runCronJob(c *kubernetes.Clientset) (string, error) { checkCount := 0 for run.Status.CompletionTime == nil { time.Sleep(5 * time.Second) - run, err = c.BatchV1().Jobs(ConstSvcNamespace).Get(job.Name, getOpt) + run, err = c.BatchV1().Jobs(ConstSvcNamespace).Get(ctx, job.Name, getOpt) if err != nil { return "", err } @@ -44,7 +48,8 @@ func runCronJob(c *kubernetes.Clientset) (string, error) { } } - list, err := c.CoreV1().Pods(ConstSvcNamespace).List(metaV1.ListOptions{LabelSelector: "job-name=test-ecr-renew-job"}) + listOpt := metaV1.ListOptions{LabelSelector: "job-name=test-ecr-renew-job"} + list, err := c.CoreV1().Pods(ConstSvcNamespace).List(ctx, listOpt) if err != nil { return "", err } @@ -56,7 +61,7 @@ func runCronJob(c *kubernetes.Clientset) (string, error) { pod := list.Items[0] req := c.CoreV1().Pods(ConstSvcNamespace).GetLogs(pod.Name, &coreV1.PodLogOptions{}) - res := req.Do() + res := req.Do(ctx) bytes, err := res.Raw() if err != nil { return "", err @@ -65,7 +70,7 @@ func runCronJob(c *kubernetes.Clientset) (string, error) { return string(bytes), nil } -func createJob(cron v1beta1.CronJob) batchV1.Job { +func createJob(cron batchV1.CronJob) batchV1.Job { return batchV1.Job{ TypeMeta: metaV1.TypeMeta{ Kind: "Job", diff --git a/test/helpers.go b/test/helpers.go index d39ad85..29015c7 100644 --- a/test/helpers.go +++ b/test/helpers.go @@ -1,15 +1,18 @@ package test import ( + "context" "errors" "fmt" + coreV1 "k8s.io/api/core/v1" metaV1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/client-go/kubernetes" ) func checkNamespaces(c *kubernetes.Clientset, testNamespaces []string) error { - namespaces, err := c.CoreV1().Namespaces().List(metaV1.ListOptions{}) + ctx := context.Background() + namespaces, err := c.CoreV1().Namespaces().List(ctx, metaV1.ListOptions{}) if nil != err { return err } @@ -34,7 +37,8 @@ func checkNamespaces(c *kubernetes.Clientset, testNamespaces []string) error { } func createNamespace(c *kubernetes.Clientset, name string) (*coreV1.Namespace, error) { + ctx := context.Background() ns := &coreV1.Namespace{} ns.Name = name - return c.CoreV1().Namespaces().Create(ns) + return c.CoreV1().Namespaces().Create(ctx, ns, metaV1.CreateOptions{}) } diff --git a/test/runner.go b/test/runner.go index 48aae28..e8e87c1 100644 --- a/test/runner.go +++ b/test/runner.go @@ -1,12 +1,14 @@ package test import ( + "context" "errors" "fmt" - "github.com/nabsul/k8s-ecr-login-renew/src/k8s" - metaV1 "k8s.io/apimachinery/pkg/apis/meta/v1" "strings" "time" + + "github.com/nabsul/k8s-ecr-login-renew/src/k8s" + metaV1 "k8s.io/apimachinery/pkg/apis/meta/v1" ) func runTest(cfg config) { @@ -113,7 +115,7 @@ func cleanup(cfg config) { } for _, ns := range allNamespaces() { - err = c.CoreV1().Namespaces().Delete(ns, &metaV1.DeleteOptions{}) + err = c.CoreV1().Namespaces().Delete(context.Background(), ns, metaV1.DeleteOptions{}) if err != nil { fmt.Printf("failed to cleanup namespace [%s]: [%s}\n", ns, err) } diff --git a/test/secrets.go b/test/secrets.go index 81c704f..bd1e469 100644 --- a/test/secrets.go +++ b/test/secrets.go @@ -1,12 +1,14 @@ package test import ( + "context" + metaV1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/client-go/kubernetes" ) func getAwsParams(c *kubernetes.Clientset) (map[string]string, error) { - secret, err := c.CoreV1().Secrets("default").Get(ConstAwsSecretName, metaV1.GetOptions{}) + secret, err := c.CoreV1().Secrets("default").Get(context.Background(), ConstAwsSecretName, metaV1.GetOptions{}) if err != nil { return nil, err } diff --git a/test/service-account.go b/test/service-account.go index 0848d46..5fe4328 100644 --- a/test/service-account.go +++ b/test/service-account.go @@ -1,6 +1,8 @@ package test import ( + "context" + coreV1 "k8s.io/api/core/v1" rbacV1 "k8s.io/api/rbac/v1" metaV1 "k8s.io/apimachinery/pkg/apis/meta/v1" @@ -8,6 +10,7 @@ import ( ) func createServiceAccount(c *kubernetes.Clientset, allowedNamespaces []string, canGetNamespaces bool) error { + ctx := context.Background() account := &coreV1.ServiceAccount{ TypeMeta: metaV1.TypeMeta{ Kind: "ServiceAccount", @@ -18,7 +21,7 @@ func createServiceAccount(c *kubernetes.Clientset, allowedNamespaces []string, c }, } - svc, err := c.CoreV1().ServiceAccounts(ConstSvcNamespace).Create(account) + svc, err := c.CoreV1().ServiceAccounts(ConstSvcNamespace).Create(ctx, account, metaV1.CreateOptions{}) if err != nil { return err } @@ -38,26 +41,28 @@ func createServiceAccount(c *kubernetes.Clientset, allowedNamespaces []string, c } func grantNamespaceAccess(c *kubernetes.Clientset, ns string, svc *coreV1.ServiceAccount) error { + ctx := context.Background() role := createRole(ns) - _, err := c.RbacV1().Roles(ns).Create(role) + _, err := c.RbacV1().Roles(ns).Create(ctx, role, metaV1.CreateOptions{}) if err != nil { return err } binding := createRoleBinding(role, svc) - _, err = c.RbacV1().RoleBindings(ns).Create(binding) + _, err = c.RbacV1().RoleBindings(ns).Create(ctx, binding, metaV1.CreateOptions{}) return err } func grantNamespaceList(c *kubernetes.Clientset) error { + ctx := context.Background() role := createNamespaceRole() - _, err := c.RbacV1().ClusterRoles().Create(&role) + _, err := c.RbacV1().ClusterRoles().Create(ctx, &role, metaV1.CreateOptions{}) if err != nil { return err } binding := createNamespaceRoleBinding() - _, err = c.RbacV1().ClusterRoleBindings().Create(&binding) + _, err = c.RbacV1().ClusterRoleBindings().Create(ctx, &binding, metaV1.CreateOptions{}) return err }