diff --git a/pkg/service/v1/config-service.go b/pkg/service/v1/config-service.go index 3264d3228a6f21a4dcc446b53bc82fab7aa6118c..30db808555e7e0d87ad429545b5b9e872c0b51f6 100644 --- a/pkg/service/v1/config-service.go +++ b/pkg/service/v1/config-service.go @@ -716,9 +716,15 @@ func (s *namespaceServiceServer) CreateNamespace(ctx context.Context, req *v1.Na if err := checkAPI(req.Api, apiVersion); err != nil { return nil, err } + logLine(fmt.Sprintf("Creating namespace %s with %d annotations", req.Namespace, len(req.Annotations))) ns := apiv1.Namespace{} ns.Name = req.Namespace + + labels := make(map[string]string) + labels["name"] = req.Namespace + ns.SetLabels(labels) + annotations := make(map[string]string) for _, a := range req.Annotations { annotations[a.Key] = a.Value diff --git a/pkg/service/v1/config-service_test.go b/pkg/service/v1/config-service_test.go index 05adf008f783cf0b2f8255efb8d4ef3e14fe2f29..3e11a21e3e18f2b46db9e26ec40e7ebdcb937b3f 100644 --- a/pkg/service/v1/config-service_test.go +++ b/pkg/service/v1/config-service_test.go @@ -464,4 +464,23 @@ func TestPodServiceServer_RetrievePodLogs(t *testing.T) { if err != nil || res.Status != v1.Status_OK || len(res.Lines) != 1 { t.Fail() } +} + +func TestNamespaceServiceServer_CreateNamespace(t *testing.T) { + client := testclient.NewSimpleClientset() + server := NewNamespaceServiceServer(client) + + //Fail on API version check + nsReq := v1.NamespaceRequest{Api:"invalid", Namespace:"ns1", Annotations:nil} + res, err := server.CreateNamespace(context.Background(), &nsReq) + if err == nil || res != nil { + t.Fail() + } + + nsReq = v1.NamespaceRequest{Api:apiVersion, Namespace:"ns1", Annotations:nil} + //Pass + res, err = server.CreateNamespace(context.Background(), &nsReq) + if err != nil || res.Status != v1.Status_OK { + t.Fail() + } } \ No newline at end of file