diff --git a/pkg/service/v1/config-service.go b/pkg/service/v1/config-service.go index 18cd2059a2324160d4dea167fb307b190dc51567..6b03733c0b1c8ee73cb2361f0aa7de341205ea17 100644 --- a/pkg/service/v1/config-service.go +++ b/pkg/service/v1/config-service.go @@ -22,35 +22,35 @@ const ( ) type configServiceServer struct { - kubeAPI *kubernetes.Clientset + kubeAPI kubernetes.Interface gitAPI *gitlab.Client } type basicAuthServiceServer struct { - kubeAPI *kubernetes.Clientset + kubeAPI kubernetes.Interface } type certManagerServiceServer struct { - kubeAPI *kubernetes.Clientset + kubeAPI kubernetes.Interface } type readinessServiceServer struct { - kubeAPI *kubernetes.Clientset + kubeAPI kubernetes.Interface } -func NewConfigServiceServer(kubeAPI *kubernetes.Clientset, gitAPI *gitlab.Client) v1.ConfigServiceServer { +func NewConfigServiceServer(kubeAPI kubernetes.Interface, gitAPI *gitlab.Client) v1.ConfigServiceServer { return &configServiceServer{kubeAPI: kubeAPI, gitAPI: gitAPI} } -func NewBasicAuthServiceServer(kubeAPI *kubernetes.Clientset) v1.BasicAuthServiceServer { +func NewBasicAuthServiceServer(kubeAPI kubernetes.Interface) v1.BasicAuthServiceServer { return &basicAuthServiceServer{kubeAPI: kubeAPI} } -func NewCertManagerServiceServer(kubeAPI *kubernetes.Clientset) v1.CertManagerServiceServer { +func NewCertManagerServiceServer(kubeAPI kubernetes.Interface) v1.CertManagerServiceServer { return &certManagerServiceServer{kubeAPI: kubeAPI} } -func NewReadinessServiceServer(kubeAPI *kubernetes.Clientset) v1.ReadinessServiceServer { +func NewReadinessServiceServer(kubeAPI kubernetes.Interface) v1.ReadinessServiceServer { return &readinessServiceServer{kubeAPI: kubeAPI} } diff --git a/pkg/service/v1/config-service_test.go b/pkg/service/v1/config-service_test.go index cd9ef4db7a2beb499b8cb3d81dff565d230b133a..b9a71d50b0b756b5bbd14ae87a931c751f33d626 100644 --- a/pkg/service/v1/config-service_test.go +++ b/pkg/service/v1/config-service_test.go @@ -1,6 +1,13 @@ package v1 -import "testing" +import ( + "code.geant.net/stash/scm/nmaas/nmaas-janitor/pkg/api/v1" + "context" + corev1 "k8s.io/api/core/v1" + v12 "k8s.io/apimachinery/pkg/apis/meta/v1" + "testing" + testclient "k8s.io/client-go/kubernetes/fake" +) func TestCheckAPI(t *testing.T) { api := "wrong" @@ -17,18 +24,41 @@ func TestCheckAPI(t *testing.T) { } } -func TestBasicAuthServiceServer_PrepareSecretDataFromCredentials(t *testing.T) { +var inst = v1.Instance{Namespace: "test-namespace", Uid: "test-uid", Domain: "test-domain"} +var fake_ns_inst = v1.Instance{Namespace: "fake-namespace", Uid: "test-uid", Domain: "test-domain"} -} +var req = v1.InstanceRequest{Api: apiVersion, Deployment: &inst} +var illegal_req = v1.InstanceRequest{Api: "illegal", Deployment: &inst} -func TestBasicAuthServiceServer_PrepareSecretJsonFromCredentials(t *testing.T) { +func TestReadinessServiceServer_CheckIfReady(t *testing.T) { + client := testclient.NewSimpleClientset() + server := NewReadinessServiceServer(client) -} + //Fail on API version check + res, err := server.CheckIfReady(context.Background(), &illegal_req) + if err == nil || res != nil { + t.Fail() + } + + _, _ = client.CoreV1().Namespaces().Create(&corev1.Namespace{ + ObjectMeta: v12.ObjectMeta { + Name: "test-namespace", + }, + }) + + //Fail on namespace check + freq := v1.InstanceRequest{Api:apiVersion, Deployment:&fake_ns_inst} + res, err = server.CheckIfReady(context.Background(), &freq) + if err == nil || res.Status != v1.Status_FAILED { + t.Fail() + } -func TestConfigServiceServer_PrepareDataJsonFromRepository(t *testing.T) { + //Fail on deployment } -func TestConfigServiceServer_PrepareDataMapFromRepository(t *testing.T) { +func TestCertManagerServiceServer_DeleteIfExists(t *testing.T) { + server := NewCertManagerServiceServer(testclient.NewSimpleClientset()) + res, err := server.DeleteIfExists(context.Background(), &req) } \ No newline at end of file