aboutsummaryrefslogtreecommitdiffstats
path: root/src/orchestrator/api/composite_app_handler.go
diff options
context:
space:
mode:
authorSrivahni Chivukula <srivahni.chivukula@intel.com>2020-02-20 16:23:58 -0800
committerSrivahni Chivukula <srivahni.chivukula@intel.com>2020-03-12 18:35:54 +0000
commitaf34fbc0e67668723eb69a800165f6bfb5100dbf (patch)
treebc3fe5a6607d4c633e05c56e4b436ee9d0fe5796 /src/orchestrator/api/composite_app_handler.go
parent84cfa53b496155eaad4a2749f7799d6a523554a4 (diff)
Added tests to Composite App API
Issue-ID: MULTICLOUD-994 Signed-off-by: Srivahni Chivukula <srivahni.chivukula@intel.com> Change-Id: I39f3dc28bca3ff7cefda006cb96eb86c2c069efe
Diffstat (limited to 'src/orchestrator/api/composite_app_handler.go')
-rw-r--r--src/orchestrator/api/composite_app_handler.go113
1 files changed, 0 insertions, 113 deletions
diff --git a/src/orchestrator/api/composite_app_handler.go b/src/orchestrator/api/composite_app_handler.go
deleted file mode 100644
index 42c72cdb..00000000
--- a/src/orchestrator/api/composite_app_handler.go
+++ /dev/null
@@ -1,113 +0,0 @@
-/*
- * Copyright 2020 Intel Corporation, Inc
- *
- * 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.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package api
-
-import (
- "encoding/json"
- "io"
- "net/http"
-
- moduleLib "github.com/onap/multicloud-k8s/src/orchestrator/pkg/module"
-
- "github.com/gorilla/mux"
-)
-
-// compositeAppHandler to store backend implementations objects
-// Also simplifies mocking for unit testing purposes
-type compositeAppHandler struct {
- // Interface that implements CompositeApp operations
- // We will set this variable with a mock interface for testing
- client moduleLib.CompositeAppManager
-}
-
-// createHandler handles creation of the CompositeApp entry in the database
-// This is a multipart handler
-func (h compositeAppHandler) createHandler(w http.ResponseWriter, r *http.Request) {
- var c moduleLib.CompositeApp
-
- err := json.NewDecoder(r.Body).Decode(&c)
- switch {
- case err == io.EOF:
- http.Error(w, "Empty body", http.StatusBadRequest)
- return
- case err != nil:
- http.Error(w, err.Error(), http.StatusUnprocessableEntity)
- return
- }
-
- // Name is required.
- if c.Metadata.Name == "" {
- http.Error(w, "Missing name in POST request", http.StatusBadRequest)
- return
- }
-
- vars := mux.Vars(r)
- projectName := vars["project-name"]
-
- ret, err := h.client.CreateCompositeApp(c, projectName)
- if err != nil {
- http.Error(w, err.Error(), http.StatusInternalServerError)
- return
- }
-
- w.Header().Set("Content-Type", "application/json")
- w.WriteHeader(http.StatusCreated)
- err = json.NewEncoder(w).Encode(ret)
- if err != nil {
- http.Error(w, err.Error(), http.StatusInternalServerError)
- return
- }
-}
-
-// getHandler handles GET operations on a particular CompositeApp Name
-// Returns a compositeApp
-func (h compositeAppHandler) getHandler(w http.ResponseWriter, r *http.Request) {
- vars := mux.Vars(r)
- name := vars["composite-app-name"]
- version := vars["version"]
- projectName := vars["project-name"]
-
- ret, err := h.client.GetCompositeApp(name, version, projectName)
- if err != nil {
- http.Error(w, err.Error(), http.StatusInternalServerError)
- return
- }
-
- w.Header().Set("Content-Type", "application/json")
- w.WriteHeader(http.StatusOK)
- err = json.NewEncoder(w).Encode(ret)
- if err != nil {
- http.Error(w, err.Error(), http.StatusInternalServerError)
- return
- }
-}
-
-// deleteHandler handles DELETE operations on a particular CompositeApp Name
-func (h compositeAppHandler) deleteHandler(w http.ResponseWriter, r *http.Request) {
- vars := mux.Vars(r)
- name := vars["composite-app-name"]
- version := vars["version"]
- projectName := vars["project-name"]
-
- err := h.client.DeleteCompositeApp(name, version, projectName)
- if err != nil {
- http.Error(w, err.Error(), http.StatusInternalServerError)
- return
- }
-
- w.WriteHeader(http.StatusNoContent)
-}