diff options
author | Rajamohan Raj <rajamohan.raj@intel.com> | 2020-08-26 00:28:12 +0000 |
---|---|---|
committer | Rajamohan Raj <rajamohan.raj@intel.com> | 2020-09-10 22:12:17 +0000 |
commit | b2c9f4c61d00bf18e7a253c410479f8124640106 (patch) | |
tree | f2c3df18a5cb904f3b57b858cff7d889a36837c6 /src/ovnaction/api | |
parent | 4759e43ff7f29727477b0d928047bf5ca283cef1 (diff) |
Adding validations for all JSON data across modules
Issue-ID: MULTICLOUD-1198
Signed-off-by: Rajamohan Raj <rajamohan.raj@intel.com>
Change-Id: Idc2fbfd6e875bd7b662c7d60925aeb776b3f7bea
Diffstat (limited to 'src/ovnaction/api')
-rw-r--r-- | src/ovnaction/api/netcontrolintenthandler.go | 13 | ||||
-rw-r--r-- | src/ovnaction/api/workloadifintenthandler.go | 8 | ||||
-rw-r--r-- | src/ovnaction/api/workloadintenthandler.go | 8 |
3 files changed, 29 insertions, 0 deletions
diff --git a/src/ovnaction/api/netcontrolintenthandler.go b/src/ovnaction/api/netcontrolintenthandler.go index fe2109b6..631f13c4 100644 --- a/src/ovnaction/api/netcontrolintenthandler.go +++ b/src/ovnaction/api/netcontrolintenthandler.go @@ -24,10 +24,16 @@ import ( moduleLib "github.com/onap/multicloud-k8s/src/ovnaction/pkg/module" pkgerrors "github.com/pkg/errors" + "github.com/onap/multicloud-k8s/src/orchestrator/pkg/infra/validation" + "github.com/gorilla/mux" ) +var netCntIntJSONFile string = "json-schemas/metadata.json" + + + // Used to store backend implementations objects // Also simplifies mocking for unit testing purposes type netcontrolintentHandler struct { @@ -65,6 +71,13 @@ func (h netcontrolintentHandler) createHandler(w http.ResponseWriter, r *http.Re return } + err, httpError := validation.ValidateJsonSchemaData(netCntIntJSONFile, nci) +if err != nil { + http.Error(w, err.Error(), httpError) + return +} + + // Name is required. if nci.Metadata.Name == "" { http.Error(w, "Missing name in POST request", http.StatusBadRequest) diff --git a/src/ovnaction/api/workloadifintenthandler.go b/src/ovnaction/api/workloadifintenthandler.go index cf8f45bf..e7be6317 100644 --- a/src/ovnaction/api/workloadifintenthandler.go +++ b/src/ovnaction/api/workloadifintenthandler.go @@ -29,6 +29,8 @@ import ( "github.com/gorilla/mux" ) +var netIfJSONFile string = "json-schemas/network-load-interface.json" + // Used to store backend implementations objects // Also simplifies mocking for unit testing purposes type workloadifintentHandler struct { @@ -102,6 +104,12 @@ func (h workloadifintentHandler) createHandler(w http.ResponseWriter, r *http.Re return } + err, httpError := validation.ValidateJsonSchemaData(netIfJSONFile, wif) +if err != nil { + http.Error(w, err.Error(), httpError) + return +} + // Name is required. if wif.Metadata.Name == "" { http.Error(w, "Missing name in POST request", http.StatusBadRequest) diff --git a/src/ovnaction/api/workloadintenthandler.go b/src/ovnaction/api/workloadintenthandler.go index cf7ecebc..acf4edbb 100644 --- a/src/ovnaction/api/workloadintenthandler.go +++ b/src/ovnaction/api/workloadintenthandler.go @@ -29,6 +29,8 @@ import ( "github.com/gorilla/mux" ) +var workloadIntJSONFile string = "json-schemas/network-workload.json" + // Used to store backend implementations objects // Also simplifies mocking for unit testing purposes type workloadintentHandler struct { @@ -82,6 +84,12 @@ func (h workloadintentHandler) createHandler(w http.ResponseWriter, r *http.Requ return } + err, httpError := validation.ValidateJsonSchemaData(workloadIntJSONFile, wi) +if err != nil { + http.Error(w, err.Error(), httpError) + return +} + // Name is required. if wi.Metadata.Name == "" { http.Error(w, "Missing name in POST request", http.StatusBadRequest) |