diff options
author | Aditya Sharoff <aditya.sharoff@intel.com> | 2020-09-09 16:22:32 -0700 |
---|---|---|
committer | Aditya Sharoff <aditya.sharoff@intel.com> | 2020-09-15 13:17:56 -0700 |
commit | 3bc5164b3ea166dd84a4c5f63ed95745100a324b (patch) | |
tree | 9e5fca611effd4ba1cbd18e957127ede9ac4dd06 /src/orchestrator | |
parent | dc33c5c9f8238f9c956357588b6fbe6217939a1e (diff) |
Delete issues error code 404 when project name is invalid
Issue-ID: MULTICLOUD-1147
Signed-off-by: Aditya Sharoff <aditya.sharoff@intel.com>
Change-Id: I659dfcb00b3f15bcf787ac3947f8755737b1fc39
Diffstat (limited to 'src/orchestrator')
-rw-r--r-- | src/orchestrator/api/projecthandler.go | 8 | ||||
-rw-r--r-- | src/orchestrator/api/projecthandler_test.go | 16 | ||||
-rwxr-xr-x | src/orchestrator/scripts/start-dev.sh | 1 |
3 files changed, 21 insertions, 4 deletions
diff --git a/src/orchestrator/api/projecthandler.go b/src/orchestrator/api/projecthandler.go index 07cd79ce..e88114a1 100644 --- a/src/orchestrator/api/projecthandler.go +++ b/src/orchestrator/api/projecthandler.go @@ -167,7 +167,13 @@ func (h projectHandler) deleteHandler(w http.ResponseWriter, r *http.Request) { vars := mux.Vars(r) name := vars["project-name"] - err := h.client.DeleteProject(name) + _, err := h.client.GetProject(name) + if err != nil { + http.Error(w, err.Error(), http.StatusNotFound) + return + } + + err = h.client.DeleteProject(name) if err != nil { http.Error(w, err.Error(), http.StatusInternalServerError) return diff --git a/src/orchestrator/api/projecthandler_test.go b/src/orchestrator/api/projecthandler_test.go index 5e88bab9..639a2661 100644 --- a/src/orchestrator/api/projecthandler_test.go +++ b/src/orchestrator/api/projecthandler_test.go @@ -323,11 +323,23 @@ func TestProjectDeleteHandler(t *testing.T) { label: "Delete Project", expectedCode: http.StatusNoContent, name: "testProject", - projectClient: &mockProjectManager{}, + projectClient: &mockProjectManager{ + //Items that will be returned by the mocked Client + Items: []moduleLib.Project{ + { + MetaData: moduleLib.ProjectMetaData{ + Name: "testProject", + Description: "Test Project used for unit testing", + UserData1: "data1", + UserData2: "data2", + }, + }, + }, + }, }, { label: "Delete Non-Exiting Project", - expectedCode: http.StatusInternalServerError, + expectedCode: http.StatusNotFound, name: "testProject", projectClient: &mockProjectManager{ Err: pkgerrors.New("Internal Error"), diff --git a/src/orchestrator/scripts/start-dev.sh b/src/orchestrator/scripts/start-dev.sh index ad21dc47..775b218f 100755 --- a/src/orchestrator/scripts/start-dev.sh +++ b/src/orchestrator/scripts/start-dev.sh @@ -28,6 +28,5 @@ echo "Compiling source code" pushd $opath generate_config make all -cp -r $k8s_path/src/orchestrator/json-schemas $k8s_path/src/orchestrator ./orchestrator popd |