summaryrefslogtreecommitdiffstats
path: root/src/orchestrator
diff options
context:
space:
mode:
authorRajamohan Raj <rajamohan.raj@intel.com>2020-08-26 00:28:12 +0000
committerRajamohan Raj <rajamohan.raj@intel.com>2020-09-10 22:12:17 +0000
commitb2c9f4c61d00bf18e7a253c410479f8124640106 (patch)
treef2c3df18a5cb904f3b57b858cff7d889a36837c6 /src/orchestrator
parent4759e43ff7f29727477b0d928047bf5ca283cef1 (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/orchestrator')
-rw-r--r--src/orchestrator/api/add_intents_handler.go5
-rw-r--r--src/orchestrator/api/app_intent_handler.go5
-rw-r--r--src/orchestrator/api/app_profilehandler.go5
-rw-r--r--src/orchestrator/api/apphandler.go5
-rw-r--r--src/orchestrator/api/composite_app_handler.go5
-rw-r--r--src/orchestrator/api/composite_profilehandler.go5
-rw-r--r--src/orchestrator/api/composite_profilehandler_test.go4
-rw-r--r--src/orchestrator/api/controllerhandler.go5
-rw-r--r--src/orchestrator/api/controllerhandler_test.go4
-rw-r--r--src/orchestrator/api/deployment_intent_groups_handler.go5
-rw-r--r--src/orchestrator/api/generic_placement_intent_handler.go5
-rw-r--r--src/orchestrator/api/json-schemas/cluster-kv.json54
-rw-r--r--src/orchestrator/api/json-schemas/cluster-label.json13
-rw-r--r--src/orchestrator/api/json-schemas/network-load-interface.json77
-rw-r--r--src/orchestrator/api/json-schemas/network-workload.json67
-rw-r--r--src/orchestrator/api/json-schemas/provider-network.json122
-rw-r--r--src/orchestrator/api/json-schemas/virtual-network.json75
-rw-r--r--src/orchestrator/api/projecthandler.go6
-rw-r--r--src/orchestrator/api/projecthandler_test.go4
-rw-r--r--src/orchestrator/json-schemas/composite-app.json (renamed from src/orchestrator/api/json-schemas/composite-app.json)0
-rw-r--r--src/orchestrator/json-schemas/composite-profile.json (renamed from src/orchestrator/api/json-schemas/composite-profile.json)0
-rw-r--r--src/orchestrator/json-schemas/controller.json (renamed from src/orchestrator/api/json-schemas/controller.json)0
-rw-r--r--src/orchestrator/json-schemas/deployment-group-intent.json (renamed from src/orchestrator/api/json-schemas/deployment-group-intent.json)0
-rw-r--r--src/orchestrator/json-schemas/deployment-intent.json (renamed from src/orchestrator/api/json-schemas/deployment-intent.json)0
-rw-r--r--src/orchestrator/json-schemas/generic-placement-intent-app.json (renamed from src/orchestrator/api/json-schemas/generic-placement-intent-app.json)0
-rw-r--r--src/orchestrator/json-schemas/generic-placement-intent.json (renamed from src/orchestrator/api/json-schemas/generic-placement-intent.json)0
-rw-r--r--src/orchestrator/json-schemas/metadata.json (renamed from src/orchestrator/api/json-schemas/metadata.json)0
-rwxr-xr-xsrc/orchestrator/scripts/start-dev.sh2
28 files changed, 44 insertions, 429 deletions
diff --git a/src/orchestrator/api/add_intents_handler.go b/src/orchestrator/api/add_intents_handler.go
index 21a33739..66f3839a 100644
--- a/src/orchestrator/api/add_intents_handler.go
+++ b/src/orchestrator/api/add_intents_handler.go
@@ -27,6 +27,8 @@ import (
"github.com/gorilla/mux"
)
+var addIntentJSONFile string = "json-schemas/deployment-intent.json"
+
type intentHandler struct {
client moduleLib.IntentManager
}
@@ -46,9 +48,8 @@ func (h intentHandler) addIntentHandler(w http.ResponseWriter, r *http.Request)
return
}
- jsonFile := "json-schemas/deployment-intent.json"
// Verify JSON Body
- err, httpError := validation.ValidateJsonSchemaData(jsonFile, i)
+ err, httpError := validation.ValidateJsonSchemaData(addIntentJSONFile, i)
if err != nil {
http.Error(w, err.Error(), httpError)
return
diff --git a/src/orchestrator/api/app_intent_handler.go b/src/orchestrator/api/app_intent_handler.go
index a51b9b92..1d48f8a6 100644
--- a/src/orchestrator/api/app_intent_handler.go
+++ b/src/orchestrator/api/app_intent_handler.go
@@ -26,6 +26,8 @@ import (
moduleLib "github.com/onap/multicloud-k8s/src/orchestrator/pkg/module"
)
+var appIntentJSONFile string = "json-schemas/generic-placement-intent-app.json"
+
/* Used to store backend implementation objects
Also simplifies mocking for unit testing purposes
*/
@@ -48,9 +50,8 @@ func (h appIntentHandler) createAppIntentHandler(w http.ResponseWriter, r *http.
return
}
- jsonFile := "json-schemas/generic-placement-intent-app.json"
// Verify JSON Body
- err, httpError := validation.ValidateJsonSchemaData(jsonFile, a)
+ err, httpError := validation.ValidateJsonSchemaData(appIntentJSONFile, a)
if err != nil {
http.Error(w, err.Error(), httpError)
return
diff --git a/src/orchestrator/api/app_profilehandler.go b/src/orchestrator/api/app_profilehandler.go
index 2fa0f26d..58cd2145 100644
--- a/src/orchestrator/api/app_profilehandler.go
+++ b/src/orchestrator/api/app_profilehandler.go
@@ -34,6 +34,8 @@ import (
pkgerrors "github.com/pkg/errors"
)
+var appProfileJSONFile string = "json-schemas/metadata.json"
+
/* Used to store backend implementation objects
Also simplifies mocking for unit testing purposes
*/
@@ -73,9 +75,8 @@ func (h appProfileHandler) createAppProfileHandler(w http.ResponseWriter, r *htt
return
}
- jsonFile := "json-schemas/metadata.json"
// Verify JSON Body
- err, httpError := validation.ValidateJsonSchemaData(jsonFile, ap)
+ err, httpError := validation.ValidateJsonSchemaData(appProfileJSONFile, ap)
if err != nil {
http.Error(w, err.Error(), httpError)
return
diff --git a/src/orchestrator/api/apphandler.go b/src/orchestrator/api/apphandler.go
index 7d901a8f..7429f5c2 100644
--- a/src/orchestrator/api/apphandler.go
+++ b/src/orchestrator/api/apphandler.go
@@ -33,6 +33,8 @@ import (
"github.com/gorilla/mux"
)
+var appJSONFile string = "json-schemas/metadata.json"
+
// appHandler to store backend implementations objects
// Also simplifies mocking for unit testing purposes
type appHandler struct {
@@ -70,9 +72,8 @@ func (h appHandler) createAppHandler(w http.ResponseWriter, r *http.Request) {
return
}
- jsonFile := "json-schemas/metadata.json"
// Verify JSON Body
- err, httpError := validation.ValidateJsonSchemaData(jsonFile, a)
+ err, httpError := validation.ValidateJsonSchemaData(appJSONFile, a)
if err != nil {
http.Error(w, err.Error(), httpError)
return
diff --git a/src/orchestrator/api/composite_app_handler.go b/src/orchestrator/api/composite_app_handler.go
index 1e69c353..d531b28d 100644
--- a/src/orchestrator/api/composite_app_handler.go
+++ b/src/orchestrator/api/composite_app_handler.go
@@ -26,6 +26,8 @@ import (
moduleLib "github.com/onap/multicloud-k8s/src/orchestrator/pkg/module"
)
+var caJSONFile string = "json-schemas/composite-app.json"
+
// compositeAppHandler to store backend implementations objects
// Also simplifies mocking for unit testing purposes
type compositeAppHandler struct {
@@ -47,9 +49,8 @@ func (h compositeAppHandler) createHandler(w http.ResponseWriter, r *http.Reques
http.Error(w, err.Error(), http.StatusUnprocessableEntity)
return
}
- jsonFile := "json-schemas/composite-app.json"
// Verify JSON Body
- err, httpError := validation.ValidateJsonSchemaData(jsonFile, c)
+ err, httpError := validation.ValidateJsonSchemaData(caJSONFile, c)
if err != nil {
http.Error(w, err.Error(), httpError)
return
diff --git a/src/orchestrator/api/composite_profilehandler.go b/src/orchestrator/api/composite_profilehandler.go
index 5a3fb19c..de1c8f2d 100644
--- a/src/orchestrator/api/composite_profilehandler.go
+++ b/src/orchestrator/api/composite_profilehandler.go
@@ -27,6 +27,8 @@ import (
"github.com/gorilla/mux"
)
+var caprofileJSONFile string = "json-schemas/metadata.json"
+
/* Used to store backend implementation objects
Also simplifies mocking for unit testing purposes
*/
@@ -49,9 +51,8 @@ func (h compositeProfileHandler) createHandler(w http.ResponseWriter, r *http.Re
return
}
- jsonFile := "json-schemas/metadata.json"
// Verify JSON Body
- err, httpError := validation.ValidateJsonSchemaData(jsonFile, cpf)
+ err, httpError := validation.ValidateJsonSchemaData(caprofileJSONFile, cpf)
if err != nil {
http.Error(w, err.Error(), httpError)
return
diff --git a/src/orchestrator/api/composite_profilehandler_test.go b/src/orchestrator/api/composite_profilehandler_test.go
index ec3ec24b..d1e34230 100644
--- a/src/orchestrator/api/composite_profilehandler_test.go
+++ b/src/orchestrator/api/composite_profilehandler_test.go
@@ -70,6 +70,10 @@ func (m *mockCompositeProfileManager) DeleteCompositeProfile(name string, projec
return m.Err
}
+func init() {
+ caprofileJSONFile = "../json-schemas/metadata.json"
+}
+
func Test_compositeProfileHandler_createHandler(t *testing.T) {
testCases := []struct {
label string
diff --git a/src/orchestrator/api/controllerhandler.go b/src/orchestrator/api/controllerhandler.go
index be300d89..418aa70f 100644
--- a/src/orchestrator/api/controllerhandler.go
+++ b/src/orchestrator/api/controllerhandler.go
@@ -28,6 +28,8 @@ import (
pkgerrors "github.com/pkg/errors"
)
+var controllerJSONFile string = "json-schemas/controller.json"
+
// Used to store backend implementations objects
// Also simplifies mocking for unit testing purposes
type controllerHandler struct {
@@ -87,9 +89,8 @@ func (h controllerHandler) createHandler(w http.ResponseWriter, r *http.Request)
return
}
- jsonFile := "json-schemas/controller.json"
// Verify JSON Body
- err, httpError := validation.ValidateJsonSchemaData(jsonFile, m)
+ err, httpError := validation.ValidateJsonSchemaData(controllerJSONFile, m)
if err != nil {
http.Error(w, err.Error(), httpError)
return
diff --git a/src/orchestrator/api/controllerhandler_test.go b/src/orchestrator/api/controllerhandler_test.go
index 6cbb2a79..ecc2d1f7 100644
--- a/src/orchestrator/api/controllerhandler_test.go
+++ b/src/orchestrator/api/controllerhandler_test.go
@@ -73,6 +73,10 @@ func (m *mockControllerManager) InitControllers() {
return
}
+func init() {
+ controllerJSONFile = "../json-schemas/controller.json"
+}
+
func TestControllerCreateHandler(t *testing.T) {
testCases := []struct {
label string
diff --git a/src/orchestrator/api/deployment_intent_groups_handler.go b/src/orchestrator/api/deployment_intent_groups_handler.go
index 76dea14c..b9466a2c 100644
--- a/src/orchestrator/api/deployment_intent_groups_handler.go
+++ b/src/orchestrator/api/deployment_intent_groups_handler.go
@@ -27,6 +27,8 @@ import (
"github.com/gorilla/mux"
)
+var dpiJSONFile string = "json-schemas/deployment-group-intent.json"
+
/* Used to store backend implementation objects
Also simplifies mocking for unit testing purposes
*/
@@ -49,9 +51,8 @@ func (h deploymentIntentGroupHandler) createDeploymentIntentGroupHandler(w http.
return
}
- jsonFile := "json-schemas/deployment-group-intent.json"
// Verify JSON Body
- err, httpError := validation.ValidateJsonSchemaData(jsonFile, d)
+ err, httpError := validation.ValidateJsonSchemaData(dpiJSONFile, d)
if err != nil {
http.Error(w, err.Error(), httpError)
return
diff --git a/src/orchestrator/api/generic_placement_intent_handler.go b/src/orchestrator/api/generic_placement_intent_handler.go
index 16f1f234..2415ae2c 100644
--- a/src/orchestrator/api/generic_placement_intent_handler.go
+++ b/src/orchestrator/api/generic_placement_intent_handler.go
@@ -27,6 +27,8 @@ import (
"github.com/gorilla/mux"
)
+var gpiJSONFile string = "json-schemas/generic-placement-intent.json"
+
/* Used to store backend implementation objects
Also simplifies mocking for unit testing purposes
*/
@@ -49,9 +51,8 @@ func (h genericPlacementIntentHandler) createGenericPlacementIntentHandler(w htt
return
}
- jsonFile := "json-schemas/generic-placement-intent.json"
// Verify JSON Body
- err, httpError := validation.ValidateJsonSchemaData(jsonFile, g)
+ err, httpError := validation.ValidateJsonSchemaData(gpiJSONFile, g)
if err != nil {
http.Error(w, err.Error(), httpError)
return
diff --git a/src/orchestrator/api/json-schemas/cluster-kv.json b/src/orchestrator/api/json-schemas/cluster-kv.json
deleted file mode 100644
index c7013bab..00000000
--- a/src/orchestrator/api/json-schemas/cluster-kv.json
+++ /dev/null
@@ -1,54 +0,0 @@
-{
- "$schema": "http://json-schema.org/schema#",
- "type": "object",
- "properties": {
- "spec": {
- "required": [
- "kv"
- ],
- "type": "object",
- "properties": {
- "kv": {
- "items": {
- "additionalProperties": {
- "type": "string",
- "maxLength": 128
- },
- "type": "object"
- },
- "type": "array"
- }
- }
- },
- "metadata": {
- "required": ["name"],
- "properties": {
- "userData2": {
- "description": "User relevant data for the resource",
- "type": "string",
- "example": "Some more data",
- "maxLength": 512
- },
- "userData1": {
- "description": "User relevant data for the resource",
- "type": "string",
- "example": "Some data",
- "maxLength": 512
- },
- "name": {
- "description": "Name of the resource",
- "type": "string",
- "example": "ResName",
- "maxLength": 128,
- "pattern": "[-_0-9a-zA-Z]+$"
- },
- "description": {
- "description": "Description for the resource",
- "type": "string",
- "example": "Resource description",
- "maxLength": 1024
- }
- }
- }
- }
- } \ No newline at end of file
diff --git a/src/orchestrator/api/json-schemas/cluster-label.json b/src/orchestrator/api/json-schemas/cluster-label.json
deleted file mode 100644
index 22267b3d..00000000
--- a/src/orchestrator/api/json-schemas/cluster-label.json
+++ /dev/null
@@ -1,13 +0,0 @@
-{
- "$schema": "http://json-schema.org/schema#",
- "type": "object",
- "properties": {
- "label-name": {
- "description": "Logical Cloud to use for this intent",
- "type": "string",
- "example": "cluster-label-1",
- "maxLength": 128,
- "pattern": "[-_0-9a-zA-Z]+$"
- }
- }
- } \ No newline at end of file
diff --git a/src/orchestrator/api/json-schemas/network-load-interface.json b/src/orchestrator/api/json-schemas/network-load-interface.json
deleted file mode 100644
index dd5b40d1..00000000
--- a/src/orchestrator/api/json-schemas/network-load-interface.json
+++ /dev/null
@@ -1,77 +0,0 @@
-{
- "$schema": "http://json-schema.org/schema#",
- "type": "object",
- "properties": {
- "spec": {
- "required": [
- "interface",
- "name"
- ],
- "type": "object",
- "properties": {
- "interface": {
- "description": "interface Name",
- "type": "string",
- "example": "eth0",
- "maxLength": 128,
- "pattern": "[-_0-9a-zA-Z]+$"
- },
- "macAddress": {
- "description": "Name of the network",
- "type": "string",
- "example": "x.x.x.x",
- "maxLength": 128
- },
- "ipAddress": {
- "description": "Name of the network",
- "type": "string",
- "example": "0.0.0.0",
- "maxLength": 128
- },
- "name": {
- "description": "Name of the network",
- "type": "string",
- "example": "provider-1",
- "maxLength": 128,
- "pattern": "[-_0-9a-zA-Z]+$"
- },
- "defaultGateway": {
- "description": "Is this interface default gateway",
- "type": "boolean",
- "example": false,
- "maxLength": 128
- }
- }
- },
- "metadata": {
- "required": ["name"],
- "properties": {
- "userData2": {
- "description": "User relevant data for the resource",
- "type": "string",
- "example": "Some more data",
- "maxLength": 512
- },
- "userData1": {
- "description": "User relevant data for the resource",
- "type": "string",
- "example": "Some data",
- "maxLength": 512
- },
- "name": {
- "description": "Name of the resource",
- "type": "string",
- "example": "ResName",
- "maxLength": 128,
- "pattern": "[-_0-9a-zA-Z]+$"
- },
- "description": {
- "description": "Description for the resource",
- "type": "string",
- "example": "Resource description",
- "maxLength": 1024
- }
- }
- }
- }
- } \ No newline at end of file
diff --git a/src/orchestrator/api/json-schemas/network-workload.json b/src/orchestrator/api/json-schemas/network-workload.json
deleted file mode 100644
index c5dc14cb..00000000
--- a/src/orchestrator/api/json-schemas/network-workload.json
+++ /dev/null
@@ -1,67 +0,0 @@
-{
- "$schema": "http://json-schema.org/schema#",
- "type": "object",
- "properties": {
- "spec": {
- "type": "object",
- "description": "Newtwork Workload Intent",
- "properties": {
- "spec": {
- "type": "object",
- "properties": {
- "workload-resource": {
- "description": "Name of the workload",
- "type": "string",
- "example": "firewall",
- "maxLength": 254,
- "pattern": "[-_0-9a-zA-Z]+$"
- },
- "type": {
- "description": "Type of the workload",
- "type": "string",
- "example": "deployment",
- "maxLength": 128
- },
- "application-name": {
- "description": "Application Name",
- "type": "string",
- "example": "Application1",
- "maxLength": 128,
- "pattern": "[-_0-9a-zA-Z]+$"
- }
- }
- },
- "metadata": {
- "required": ["name"],
- "properties": {
- "userData2": {
- "description": "User relevant data for the resource",
- "type": "string",
- "example": "Some more data",
- "maxLength": 512
- },
- "userData1": {
- "description": "User relevant data for the resource",
- "type": "string",
- "example": "Some data",
- "maxLength": 512
- },
- "name": {
- "description": "Name of the resource",
- "type": "string",
- "example": "ResName",
- "maxLength": 128,
- "pattern": "[-_0-9a-zA-Z]+$"
- },
- "description": {
- "description": "Description for the resource",
- "type": "string",
- "example": "Resource description",
- "maxLength": 1024
- }
- }
- }
- }
- }
- }
-} \ No newline at end of file
diff --git a/src/orchestrator/api/json-schemas/provider-network.json b/src/orchestrator/api/json-schemas/provider-network.json
deleted file mode 100644
index 0aef0304..00000000
--- a/src/orchestrator/api/json-schemas/provider-network.json
+++ /dev/null
@@ -1,122 +0,0 @@
-{
- "$schema": "http://json-schema.org/schema#",
- "type": "object",
- "properties": {
- "spec": {
- "required": [
- "cniType",
- "ipv4Subnets",
- "providerNetType",
- "vlan"
- ],
- "type": "object",
- "properties": {
- "ipv4Subnets": {
- "items": {
- "required": [
- "name",
- "subnet"
- ],
- "type": "object",
- "properties": {
- "subnet": {
- "type": "string",
- "maxLength": 128,
- "pattern": "[-_0-9a-zA-Z]+$"
- },
- "excludeIps": {
- "type": "string",
- "maxLength": 128
- },
- "gateway": {
- "type": "string",
- "maxLength": 128
- },
- "name": {
- "type": "string",
- "maxLength": 128,
- "pattern": "[-_0-9a-zA-Z]+$"
- }
- }
- },
- "type": "array"
- },
- "cniType": {
- "type": "string",
- "maxLength": 128,
- "pattern": "[-_0-9a-zA-Z]+$"
- },
- "vlan": {
- "required": [
- "logicalInterfaceName",
- "nodeLabelList",
- "providerInterfaceName",
- "vlanID",
- "vlanNodeSelector"
- ],
- "type": "object",
- "properties": {
- "vlanNodeSelector": {
- "type": "string",
- "maxLength": 128
- },
- "nodeLabelList": {
- "items": {
- "type": "string",
- "maxLength": 128
- },
- "type": "array"
- },
- "providerInterfaceName": {
- "type": "string",
- "maxLength": 128
- },
- "vlanID": {
- "type": "string",
- "maxLength": 128
- },
- "logicalInterfaceName": {
- "type": "string",
- "maxLength": 128
- }
- }
- },
- "providerNetType": {
- "type": "string",
- "maxLength": 128,
- "pattern": "[-_0-9a-zA-Z]+$"
- }
- }
- },
- "metadata": {
- "required": ["name"],
- "properties": {
- "userData2": {
- "description": "User relevant data for the resource",
- "type": "string",
- "example": "Some more data",
- "maxLength": 512
- },
- "userData1": {
- "description": "User relevant data for the resource",
- "type": "string",
- "example": "Some data",
- "maxLength": 512
- },
- "name": {
- "description": "Name of the resource",
- "type": "string",
- "example": "ResName",
- "maxLength": 128,
- "pattern": "[-_0-9a-zA-Z]+$"
- },
- "description": {
- "description": "Description for the resource",
- "type": "string",
- "example": "Resource description",
- "maxLength": 1024
- }
- }
- }
- }
-} \ No newline at end of file
diff --git a/src/orchestrator/api/json-schemas/virtual-network.json b/src/orchestrator/api/json-schemas/virtual-network.json
deleted file mode 100644
index f2bc9d3d..00000000
--- a/src/orchestrator/api/json-schemas/virtual-network.json
+++ /dev/null
@@ -1,75 +0,0 @@
-{
- "$schema": "http://json-schema.org/schema#",
- "type": "object",
- "properties": {
- "spec": {
- "properties": {
- "ipv4Subnets": {
- "items": {
- "required": [
- "name",
- "subnet"
- ],
- "type": "object",
- "properties": {
- "subnet": {
- "type": "string",
- "maxLength": 128,
- "pattern": "[-_0-9a-zA-Z]+$"
- },
- "excludeIps": {
- "type": "string",
- "maxLength": 1024
- },
- "gateway": {
- "type": "string",
- "maxLength": 128
- },
- "name": {
- "type": "string",
- "maxLength": 128,
- "pattern": "[-_0-9a-zA-Z]+$"
- }
- }
- },
- "type": "array"
- },
- "cniType": {
- "type": "string",
- "maxLength": 128,
- "pattern": "[-_0-9a-zA-Z]+$"
- }
- }
- },
- "metadata": {
- "required": ["name"],
- "properties": {
- "userData2": {
- "description": "User relevant data for the resource",
- "type": "string",
- "example": "Some more data",
- "maxLength": 512
- },
- "userData1": {
- "description": "User relevant data for the resource",
- "type": "string",
- "example": "Some data",
- "maxLength": 512
- },
- "name": {
- "description": "Name of the resource",
- "type": "string",
- "example": "ResName",
- "maxLength": 128,
- "pattern": "[-_0-9a-zA-Z]+$"
- },
- "description": {
- "description": "Description for the resource",
- "type": "string",
- "example": "Resource description",
- "maxLength": 1024
- }
- }
- }
- }
-} \ No newline at end of file
diff --git a/src/orchestrator/api/projecthandler.go b/src/orchestrator/api/projecthandler.go
index f130d283..07cd79ce 100644
--- a/src/orchestrator/api/projecthandler.go
+++ b/src/orchestrator/api/projecthandler.go
@@ -26,6 +26,8 @@ import (
moduleLib "github.com/onap/multicloud-k8s/src/orchestrator/pkg/module"
)
+var projectJSONFile string = "json-schemas/metadata.json"
+
// Used to store backend implementations objects
// Also simplifies mocking for unit testing purposes
type projectHandler struct {
@@ -47,9 +49,9 @@ func (h projectHandler) createHandler(w http.ResponseWriter, r *http.Request) {
http.Error(w, err.Error(), http.StatusUnprocessableEntity)
return
}
- jsonFile := "json-schemas/metadata.json"
+
// Verify JSON Body
- err, httpError := validation.ValidateJsonSchemaData(jsonFile, p)
+ err, httpError := validation.ValidateJsonSchemaData(projectJSONFile, p)
if err != nil {
http.Error(w, err.Error(), httpError)
return
diff --git a/src/orchestrator/api/projecthandler_test.go b/src/orchestrator/api/projecthandler_test.go
index ef5fdf07..5e88bab9 100644
--- a/src/orchestrator/api/projecthandler_test.go
+++ b/src/orchestrator/api/projecthandler_test.go
@@ -64,6 +64,10 @@ func (m *mockProjectManager) GetAllProjects() ([]moduleLib.Project, error) {
return []moduleLib.Project{}, m.Err
}
+func init() {
+ projectJSONFile = "../json-schemas/metadata.json"
+}
+
func TestProjectCreateHandler(t *testing.T) {
testCases := []struct {
label string
diff --git a/src/orchestrator/api/json-schemas/composite-app.json b/src/orchestrator/json-schemas/composite-app.json
index 3f976831..3f976831 100644
--- a/src/orchestrator/api/json-schemas/composite-app.json
+++ b/src/orchestrator/json-schemas/composite-app.json
diff --git a/src/orchestrator/api/json-schemas/composite-profile.json b/src/orchestrator/json-schemas/composite-profile.json
index e404a64c..e404a64c 100644
--- a/src/orchestrator/api/json-schemas/composite-profile.json
+++ b/src/orchestrator/json-schemas/composite-profile.json
diff --git a/src/orchestrator/api/json-schemas/controller.json b/src/orchestrator/json-schemas/controller.json
index 3263ff21..3263ff21 100644
--- a/src/orchestrator/api/json-schemas/controller.json
+++ b/src/orchestrator/json-schemas/controller.json
diff --git a/src/orchestrator/api/json-schemas/deployment-group-intent.json b/src/orchestrator/json-schemas/deployment-group-intent.json
index 2740747b..2740747b 100644
--- a/src/orchestrator/api/json-schemas/deployment-group-intent.json
+++ b/src/orchestrator/json-schemas/deployment-group-intent.json
diff --git a/src/orchestrator/api/json-schemas/deployment-intent.json b/src/orchestrator/json-schemas/deployment-intent.json
index 6bdc0b43..6bdc0b43 100644
--- a/src/orchestrator/api/json-schemas/deployment-intent.json
+++ b/src/orchestrator/json-schemas/deployment-intent.json
diff --git a/src/orchestrator/api/json-schemas/generic-placement-intent-app.json b/src/orchestrator/json-schemas/generic-placement-intent-app.json
index 0b6447c2..0b6447c2 100644
--- a/src/orchestrator/api/json-schemas/generic-placement-intent-app.json
+++ b/src/orchestrator/json-schemas/generic-placement-intent-app.json
diff --git a/src/orchestrator/api/json-schemas/generic-placement-intent.json b/src/orchestrator/json-schemas/generic-placement-intent.json
index 44df9087..44df9087 100644
--- a/src/orchestrator/api/json-schemas/generic-placement-intent.json
+++ b/src/orchestrator/json-schemas/generic-placement-intent.json
diff --git a/src/orchestrator/api/json-schemas/metadata.json b/src/orchestrator/json-schemas/metadata.json
index 960545ee..960545ee 100644
--- a/src/orchestrator/api/json-schemas/metadata.json
+++ b/src/orchestrator/json-schemas/metadata.json
diff --git a/src/orchestrator/scripts/start-dev.sh b/src/orchestrator/scripts/start-dev.sh
index 003773be..ad21dc47 100755
--- a/src/orchestrator/scripts/start-dev.sh
+++ b/src/orchestrator/scripts/start-dev.sh
@@ -28,6 +28,6 @@ echo "Compiling source code"
pushd $opath
generate_config
make all
-cp -r $k8s_path/src/orchestrator/api/json-schemas $k8s_path/src/orchestrator
+cp -r $k8s_path/src/orchestrator/json-schemas $k8s_path/src/orchestrator
./orchestrator
popd