aboutsummaryrefslogtreecommitdiffstats
path: root/src/k8splugin/api
diff options
context:
space:
mode:
Diffstat (limited to 'src/k8splugin/api')
-rw-r--r--src/k8splugin/api/defhandler.go6
-rw-r--r--src/k8splugin/api/defhandler_test.go25
2 files changed, 30 insertions, 1 deletions
diff --git a/src/k8splugin/api/defhandler.go b/src/k8splugin/api/defhandler.go
index 31b0f38f..f53acdd2 100644
--- a/src/k8splugin/api/defhandler.go
+++ b/src/k8splugin/api/defhandler.go
@@ -54,6 +54,12 @@ func (h rbDefinitionHandler) createHandler(w http.ResponseWriter, r *http.Reques
return
}
+ // Chart Name is required
+ if v.ChartName == "" {
+ http.Error(w, "Missing chart name in POST request", http.StatusBadRequest)
+ return
+ }
+
ret, err := h.client.Create(v)
if err != nil {
http.Error(w, err.Error(), http.StatusInternalServerError)
diff --git a/src/k8splugin/api/defhandler_test.go b/src/k8splugin/api/defhandler_test.go
index fd17f50e..e638ca05 100644
--- a/src/k8splugin/api/defhandler_test.go
+++ b/src/k8splugin/api/defhandler_test.go
@@ -90,13 +90,15 @@ func TestRBDefCreateHandler(t *testing.T) {
label: "Create without UUID",
expectedCode: http.StatusCreated,
reader: bytes.NewBuffer([]byte(`{
- "name":"testdomain",
+ "name":"testresourcebundle",
+ "chart-name":"testchart",
"description":"test description",
"service-type":"firewall"
}`)),
expected: rb.Definition{
UUID: "123e4567-e89b-12d3-a456-426655440000",
Name: "testresourcebundle",
+ ChartName: "testchart",
Description: "test description",
ServiceType: "firewall",
},
@@ -106,12 +108,33 @@ func TestRBDefCreateHandler(t *testing.T) {
{
UUID: "123e4567-e89b-12d3-a456-426655440000",
Name: "testresourcebundle",
+ ChartName: "testchart",
Description: "test description",
ServiceType: "firewall",
},
},
},
},
+ {
+ label: "Missing Name in Request Body",
+ reader: bytes.NewBuffer([]byte(`{
+ "chart-name":"testchart",
+ "description":"test description",
+ "service-type":"firewall"
+ }`)),
+ expectedCode: http.StatusBadRequest,
+ rbDefClient: &mockRBDefinition{},
+ },
+ {
+ label: "Missing Chart Name in Request Body",
+ reader: bytes.NewBuffer([]byte(`{
+ "name":"testresourcebundle",
+ "description":"test description",
+ "service-type":"firewall"
+ }`)),
+ expectedCode: http.StatusBadRequest,
+ rbDefClient: &mockRBDefinition{},
+ },
}
for _, testCase := range testCases {