From 3bc5164b3ea166dd84a4c5f63ed95745100a324b Mon Sep 17 00:00:00 2001 From: Aditya Sharoff Date: Wed, 9 Sep 2020 16:22:32 -0700 Subject: Delete issues error code 404 when project name is invalid Issue-ID: MULTICLOUD-1147 Signed-off-by: Aditya Sharoff Change-Id: I659dfcb00b3f15bcf787ac3947f8755737b1fc39 --- src/orchestrator/api/projecthandler.go | 8 +++++++- src/orchestrator/api/projecthandler_test.go | 16 ++++++++++++++-- src/orchestrator/scripts/start-dev.sh | 1 - 3 files changed, 21 insertions(+), 4 deletions(-) (limited to 'src/orchestrator') 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 -- cgit 1.2.3-korg