diff --git a/src/main/java/com/DeploymentPortal/api/Manifest/ValidationUtils.java b/src/main/java/com/DeploymentPortal/api/Manifest/ValidationUtils.java index 0d5ec639..aabff3d9 100644 --- a/src/main/java/com/DeploymentPortal/api/Manifest/ValidationUtils.java +++ b/src/main/java/com/DeploymentPortal/api/Manifest/ValidationUtils.java @@ -47,7 +47,7 @@ class ValidationUtils { public ProcessingReport getReport(JsonNode data) throws IOException, ProcessingException { - File schemaFile = new File("src/main/java/com/DeploymentPortal/api/Manifest/schema/manifest.json"); + File schemaFile = new File("src/main/java/com/DeploymentPortal/api/Manifest/validation/manifest.json"); final JsonSchema schemaNode = getSchemaNode(schemaFile); return isJsonValid(schemaNode, data); } diff --git a/src/main/java/com/DeploymentPortal/api/Manifest/schema/healthChecks.json b/src/main/java/com/DeploymentPortal/api/Manifest/schema/healthChecks.json deleted file mode 100644 index 97a18373..00000000 --- a/src/main/java/com/DeploymentPortal/api/Manifest/schema/healthChecks.json +++ /dev/null @@ -1,49 +0,0 @@ -{ - "$schema": "http://json-schema.org/draft-04/schema/#", - "definitions": { - "healthCheck": { - "type": "object", - "properties": { - "type": { - "enum": ["tcp", "http"] - }, - "port": { - "enum": ["metrics","serviceport"] - }, - "successThreshold": { - "type": "integer" - }, - "initialDelaySeconds": { - "type": "integer" - }, - "periodSeconds": { - "type": "integer" - }, - "failureThreshold": { - "type": "integer" - } - } - } - }, - "type": "object", - "properties": { - "livenessCheck": { - "$ref": "#/definitions/healthCheck" - }, - "readinessCheck":{ - "allOf": [ - { - "$ref": "#/definitions/healthCheck" - }, - { - "properties": { - "path": { - "type": "string" - } - } - } - ] -} - }, - "required": ["livenessCheck","readinessCheck"] -} \ No newline at end of file diff --git a/src/main/java/com/DeploymentPortal/api/Manifest/schema/manifest.json b/src/main/java/com/DeploymentPortal/api/Manifest/schema/manifest.json deleted file mode 100644 index 36f25a34..00000000 --- a/src/main/java/com/DeploymentPortal/api/Manifest/schema/manifest.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "$schema": "http://json-schema.org/draft-04/schema#", - "title": "Product", - "description": "A product from Acme's catalog", - "type": "object", - "properties": { - "version": { - "description": "Version of the manifest file", - "type": "string" - }, - "deployment": { - "$ref": "file:src/main/java/com/DeploymentPortal/api/Manifest/schema/deployment.json" - }, - "team": { - "$ref": "file:/Users/ankitkumargupta/Desktop/bootcamp/reactApplication/newDM/deployment-portal-backend/src/main/java/com/DeploymentPortal/api/Manifest/schema/team.json" - }, - "labels": { - "$ref": "file:/Users/ankitkumargupta/Desktop/bootcamp/reactApplication/newDM/deployment-portal-backend/src/main/java/com/DeploymentPortal/api/Manifest/schema/labels.json" - } - }, - "required": ["version","team"] -} \ No newline at end of file diff --git a/src/main/java/com/DeploymentPortal/api/Manifest/schema/deployment.json b/src/main/java/com/DeploymentPortal/api/Manifest/validation/deployment.json similarity index 55% rename from src/main/java/com/DeploymentPortal/api/Manifest/schema/deployment.json rename to src/main/java/com/DeploymentPortal/api/Manifest/validation/deployment.json index 7c8af5e1..c6cd3833 100644 --- a/src/main/java/com/DeploymentPortal/api/Manifest/schema/deployment.json +++ b/src/main/java/com/DeploymentPortal/api/Manifest/validation/deployment.json @@ -21,12 +21,12 @@ "minimum": 0 }, "instance": { - "$ref": "file:/Users/ankitkumargupta/Desktop/bootcamp/reactApplication/newDM/deployment-portal-backend/src/main/java/com/DeploymentPortal/api/Manifest/schema/instance.json" + "$ref": "file:src/main/java/com/DeploymentPortal/api/Manifest/validation/deployment/instance.json" }, "environmentVariables": { "type": "array", "items": { - "$ref": "file:/Users/ankitkumargupta/Desktop/bootcamp/reactApplication/newDM/deployment-portal-backend/src/main/java/com/DeploymentPortal/api/Manifest/schema/environmentVariable.json" + "$ref": "file:src/main/java/com/DeploymentPortal/api/Manifest/validation/deployment/environmentVariable.json" }, "minItems": 1, "uniqueItems": true @@ -34,14 +34,14 @@ "loadBalancer": { "type": "array", "items": { - "$ref": "file:/Users/ankitkumargupta/Desktop/bootcamp/reactApplication/newDM/deployment-portal-backend/src/main/java/com/DeploymentPortal/api/Manifest/schema/loadBalancer.json" + "$ref": "files:src/main/java/com/DeploymentPortal/api/Manifest/validation/deployment/loadBalancer.json" }, "minItems": 1 }, "exposedPorts": { "type": "array", "items": { - "$ref": "file:/Users/ankitkumargupta/Desktop/bootcamp/reactApplication/newDM/deployment-portal-backend/src/main/java/com/DeploymentPortal/api/Manifest/schema/exposedPorts.json" + "$ref": "file:src/main/java/com/DeploymentPortal/api/Manifest/validation/deployment/exposedPorts.json" }, "minItems": 1 }, @@ -52,7 +52,7 @@ ] }, "healthChecks": { - "$ref": "file:/Users/ankitkumargupta/Desktop/bootcamp/reactApplication/newDM/deployment-portal-backend/src/main/java/com/DeploymentPortal/api/Manifest/schema/healthChecks.json" + "$ref": "file:src/main/java/com/DeploymentPortal/api/Manifest/validation/deployment/healthChecks.json" } }, "required": [ diff --git a/src/main/java/com/DeploymentPortal/api/Manifest/schema/environmentVariable.json b/src/main/java/com/DeploymentPortal/api/Manifest/validation/deployment/environmentVariable.json similarity index 91% rename from src/main/java/com/DeploymentPortal/api/Manifest/schema/environmentVariable.json rename to src/main/java/com/DeploymentPortal/api/Manifest/validation/deployment/environmentVariable.json index 6e2be546..b493be84 100644 --- a/src/main/java/com/DeploymentPortal/api/Manifest/schema/environmentVariable.json +++ b/src/main/java/com/DeploymentPortal/api/Manifest/validation/deployment/environmentVariable.json @@ -1,4 +1,4 @@ -{ + { "$schema": "http://json-schema.org/draft-04/schema#", "title": "Name and Value of Environment Variable", "type": "object", @@ -8,7 +8,7 @@ "type": "string" }, "value": { - "type": "number" + "type": "string" } }, "required": ["name","value"] diff --git a/src/main/java/com/DeploymentPortal/api/Manifest/schema/exposedPorts.json b/src/main/java/com/DeploymentPortal/api/Manifest/validation/deployment/exposedPorts.json similarity index 92% rename from src/main/java/com/DeploymentPortal/api/Manifest/schema/exposedPorts.json rename to src/main/java/com/DeploymentPortal/api/Manifest/validation/deployment/exposedPorts.json index 462325eb..4027d342 100644 --- a/src/main/java/com/DeploymentPortal/api/Manifest/schema/exposedPorts.json +++ b/src/main/java/com/DeploymentPortal/api/Manifest/validation/deployment/exposedPorts.json @@ -8,7 +8,7 @@ "enum": ["metrics","serviceport"] }, "port": { - "type": "integer" + "type": "string" } }, "required": ["name","port"] diff --git a/src/main/java/com/DeploymentPortal/api/Manifest/validation/deployment/healthChecks.json b/src/main/java/com/DeploymentPortal/api/Manifest/validation/deployment/healthChecks.json new file mode 100644 index 00000000..be526548 --- /dev/null +++ b/src/main/java/com/DeploymentPortal/api/Manifest/validation/deployment/healthChecks.json @@ -0,0 +1,102 @@ +{ + "$schema": "http://json-schema.org/draft-04/schema/#", + "definitions": { + "healthCheck": { + "type": "object", + "properties": { + "type": { + "enum": [ + "tcp", + "http" + ] + }, + "port": { + "enum": [ + "metrics", + "serviceport" + ] + }, + "successThreshold": { + "type": "integer" + }, + "initialDelaySeconds": { + "type": "integer" + }, + "periodSeconds": { + "type": "integer" + }, + "failureThreshold": { + "type": "integer" + } + } + } + }, + "type": "object", + "properties": { + "livenessCheck": { + "type": "object", + "properties": { + "type": { + "enum": [ + "tcp", + "http" + ] + }, + "port": { + "enum": [ + "metrics", + "serviceport" + ] + }, + "successThreshold": { + "type": "integer" + }, + "initialDelaySeconds": { + "type": "integer" + }, + "periodSeconds": { + "type": "integer" + }, + "failureThreshold": { + "type": "integer" + } + } + }, + "readinessCheck": { + "type": "object", + "properties": { + "type": { + "enum": [ + "tcp", + "http" + ] + }, + "port": { + "enum": [ + "metrics", + "serviceport" + ] + }, + "successThreshold": { + "type": "integer" + }, + "initialDelaySeconds": { + "type": "integer" + }, + "periodSeconds": { + "type": "integer" + }, + "failureThreshold": { + "type": "integer" + }, + "path": { + "type": "string" + } + } + } + }, + "required": [ + "livenessCheck", + "readinessCheck" + ] +} \ No newline at end of file diff --git a/src/main/java/com/DeploymentPortal/api/Manifest/schema/instance.json b/src/main/java/com/DeploymentPortal/api/Manifest/validation/deployment/instance.json similarity index 95% rename from src/main/java/com/DeploymentPortal/api/Manifest/schema/instance.json rename to src/main/java/com/DeploymentPortal/api/Manifest/validation/deployment/instance.json index 4b8b8ccc..af1458e3 100644 --- a/src/main/java/com/DeploymentPortal/api/Manifest/schema/instance.json +++ b/src/main/java/com/DeploymentPortal/api/Manifest/validation/deployment/instance.json @@ -14,7 +14,7 @@ "minimum": 0 }, "memory": { - "type": "string" + "type": "number" } }, "required": ["count","cpu","memory"] diff --git a/src/main/java/com/DeploymentPortal/api/Manifest/schema/loadBalancer.json b/src/main/java/com/DeploymentPortal/api/Manifest/validation/deployment/loadBalancer.json similarity index 100% rename from src/main/java/com/DeploymentPortal/api/Manifest/schema/loadBalancer.json rename to src/main/java/com/DeploymentPortal/api/Manifest/validation/deployment/loadBalancer.json diff --git a/src/main/java/com/DeploymentPortal/api/Manifest/schema/labels.json b/src/main/java/com/DeploymentPortal/api/Manifest/validation/labels.json similarity index 100% rename from src/main/java/com/DeploymentPortal/api/Manifest/schema/labels.json rename to src/main/java/com/DeploymentPortal/api/Manifest/validation/labels.json diff --git a/src/main/java/com/DeploymentPortal/api/Manifest/validation/manifest.json b/src/main/java/com/DeploymentPortal/api/Manifest/validation/manifest.json new file mode 100644 index 00000000..1a9a5f1f --- /dev/null +++ b/src/main/java/com/DeploymentPortal/api/Manifest/validation/manifest.json @@ -0,0 +1,22 @@ +{ + "$schema": "http://json-schema.org/draft-04/validation#", + "title": "Product", + "description": "A product from Acme's catalog", + "type": "object", + "properties": { + "version": { + "description": "Version of the manifest file", + "type": "string" + }, + "deployment": { + "$ref": "file:src/main/java/com/DeploymentPortal/api/Manifest/validation/deployment.json" + }, + "team": { + "$ref": "file:src/main/java/com/DeploymentPortal/api/Manifest/validation/team.json" + }, + "labels": { + "$ref": "file:src/main/java/com/DeploymentPortal/api/Manifest/validation/labels.json" + } + }, + "required": ["deployment","version","team"] +} \ No newline at end of file diff --git a/src/main/java/com/DeploymentPortal/api/Manifest/schema/team.json b/src/main/java/com/DeploymentPortal/api/Manifest/validation/team.json similarity index 100% rename from src/main/java/com/DeploymentPortal/api/Manifest/schema/team.json rename to src/main/java/com/DeploymentPortal/api/Manifest/validation/team.json diff --git a/src/test/java/com/DeploymentPortal/api/Manifest/schema/TestData/invalidDeployment.json b/src/test/java/com/DeploymentPortal/api/Manifest/validation/TestData/invalidDeployment.json similarity index 100% rename from src/test/java/com/DeploymentPortal/api/Manifest/schema/TestData/invalidDeployment.json rename to src/test/java/com/DeploymentPortal/api/Manifest/validation/TestData/invalidDeployment.json diff --git a/src/test/java/com/DeploymentPortal/api/Manifest/schema/TestData/invalidEnvironmentVariable.json b/src/test/java/com/DeploymentPortal/api/Manifest/validation/TestData/invalidEnvironmentVariable.json similarity index 100% rename from src/test/java/com/DeploymentPortal/api/Manifest/schema/TestData/invalidEnvironmentVariable.json rename to src/test/java/com/DeploymentPortal/api/Manifest/validation/TestData/invalidEnvironmentVariable.json diff --git a/src/test/java/com/DeploymentPortal/api/Manifest/schema/TestData/invalidExposedPort.json b/src/test/java/com/DeploymentPortal/api/Manifest/validation/TestData/invalidExposedPort.json similarity index 100% rename from src/test/java/com/DeploymentPortal/api/Manifest/schema/TestData/invalidExposedPort.json rename to src/test/java/com/DeploymentPortal/api/Manifest/validation/TestData/invalidExposedPort.json diff --git a/src/test/java/com/DeploymentPortal/api/Manifest/schema/TestData/invalidHealthChecks.json b/src/test/java/com/DeploymentPortal/api/Manifest/validation/TestData/invalidHealthChecks.json similarity index 100% rename from src/test/java/com/DeploymentPortal/api/Manifest/schema/TestData/invalidHealthChecks.json rename to src/test/java/com/DeploymentPortal/api/Manifest/validation/TestData/invalidHealthChecks.json diff --git a/src/test/java/com/DeploymentPortal/api/Manifest/schema/TestData/invalidInstance.json b/src/test/java/com/DeploymentPortal/api/Manifest/validation/TestData/invalidInstance.json similarity index 100% rename from src/test/java/com/DeploymentPortal/api/Manifest/schema/TestData/invalidInstance.json rename to src/test/java/com/DeploymentPortal/api/Manifest/validation/TestData/invalidInstance.json diff --git a/src/test/java/com/DeploymentPortal/api/Manifest/schema/TestData/invalidLabel.json b/src/test/java/com/DeploymentPortal/api/Manifest/validation/TestData/invalidLabel.json similarity index 100% rename from src/test/java/com/DeploymentPortal/api/Manifest/schema/TestData/invalidLabel.json rename to src/test/java/com/DeploymentPortal/api/Manifest/validation/TestData/invalidLabel.json diff --git a/src/test/java/com/DeploymentPortal/api/Manifest/schema/TestData/invalidLoadBalancer.json b/src/test/java/com/DeploymentPortal/api/Manifest/validation/TestData/invalidLoadBalancer.json similarity index 100% rename from src/test/java/com/DeploymentPortal/api/Manifest/schema/TestData/invalidLoadBalancer.json rename to src/test/java/com/DeploymentPortal/api/Manifest/validation/TestData/invalidLoadBalancer.json diff --git a/src/test/java/com/DeploymentPortal/api/Manifest/schema/TestData/invalidManifestData.json b/src/test/java/com/DeploymentPortal/api/Manifest/validation/TestData/invalidManifestData.json similarity index 100% rename from src/test/java/com/DeploymentPortal/api/Manifest/schema/TestData/invalidManifestData.json rename to src/test/java/com/DeploymentPortal/api/Manifest/validation/TestData/invalidManifestData.json diff --git a/src/test/java/com/DeploymentPortal/api/Manifest/schema/TestData/invalidTeam.json b/src/test/java/com/DeploymentPortal/api/Manifest/validation/TestData/invalidTeam.json similarity index 100% rename from src/test/java/com/DeploymentPortal/api/Manifest/schema/TestData/invalidTeam.json rename to src/test/java/com/DeploymentPortal/api/Manifest/validation/TestData/invalidTeam.json diff --git a/src/test/java/com/DeploymentPortal/api/Manifest/schema/TestData/manifestDataWithMissingTeam.json b/src/test/java/com/DeploymentPortal/api/Manifest/validation/TestData/manifestDataWithMissingTeam.json similarity index 100% rename from src/test/java/com/DeploymentPortal/api/Manifest/schema/TestData/manifestDataWithMissingTeam.json rename to src/test/java/com/DeploymentPortal/api/Manifest/validation/TestData/manifestDataWithMissingTeam.json diff --git a/src/test/java/com/DeploymentPortal/api/Manifest/schema/TestData/validDeployment.json b/src/test/java/com/DeploymentPortal/api/Manifest/validation/TestData/validDeployment.json similarity index 100% rename from src/test/java/com/DeploymentPortal/api/Manifest/schema/TestData/validDeployment.json rename to src/test/java/com/DeploymentPortal/api/Manifest/validation/TestData/validDeployment.json diff --git a/src/test/java/com/DeploymentPortal/api/Manifest/schema/TestData/validEnvironmentVariable.json b/src/test/java/com/DeploymentPortal/api/Manifest/validation/TestData/validEnvironmentVariable.json similarity index 100% rename from src/test/java/com/DeploymentPortal/api/Manifest/schema/TestData/validEnvironmentVariable.json rename to src/test/java/com/DeploymentPortal/api/Manifest/validation/TestData/validEnvironmentVariable.json diff --git a/src/test/java/com/DeploymentPortal/api/Manifest/schema/TestData/validExposedPorts.json b/src/test/java/com/DeploymentPortal/api/Manifest/validation/TestData/validExposedPorts.json similarity index 100% rename from src/test/java/com/DeploymentPortal/api/Manifest/schema/TestData/validExposedPorts.json rename to src/test/java/com/DeploymentPortal/api/Manifest/validation/TestData/validExposedPorts.json diff --git a/src/test/java/com/DeploymentPortal/api/Manifest/schema/TestData/validHealthChecks.json b/src/test/java/com/DeploymentPortal/api/Manifest/validation/TestData/validHealthChecks.json similarity index 100% rename from src/test/java/com/DeploymentPortal/api/Manifest/schema/TestData/validHealthChecks.json rename to src/test/java/com/DeploymentPortal/api/Manifest/validation/TestData/validHealthChecks.json diff --git a/src/test/java/com/DeploymentPortal/api/Manifest/schema/TestData/validInstance.json b/src/test/java/com/DeploymentPortal/api/Manifest/validation/TestData/validInstance.json similarity index 100% rename from src/test/java/com/DeploymentPortal/api/Manifest/schema/TestData/validInstance.json rename to src/test/java/com/DeploymentPortal/api/Manifest/validation/TestData/validInstance.json diff --git a/src/test/java/com/DeploymentPortal/api/Manifest/schema/TestData/validLabel.json b/src/test/java/com/DeploymentPortal/api/Manifest/validation/TestData/validLabel.json similarity index 100% rename from src/test/java/com/DeploymentPortal/api/Manifest/schema/TestData/validLabel.json rename to src/test/java/com/DeploymentPortal/api/Manifest/validation/TestData/validLabel.json diff --git a/src/test/java/com/DeploymentPortal/api/Manifest/schema/TestData/validLoadBalancer.json b/src/test/java/com/DeploymentPortal/api/Manifest/validation/TestData/validLoadBalancer.json similarity index 100% rename from src/test/java/com/DeploymentPortal/api/Manifest/schema/TestData/validLoadBalancer.json rename to src/test/java/com/DeploymentPortal/api/Manifest/validation/TestData/validLoadBalancer.json diff --git a/src/test/java/com/DeploymentPortal/api/Manifest/schema/TestData/validTeam.json b/src/test/java/com/DeploymentPortal/api/Manifest/validation/TestData/validTeam.json similarity index 100% rename from src/test/java/com/DeploymentPortal/api/Manifest/schema/TestData/validTeam.json rename to src/test/java/com/DeploymentPortal/api/Manifest/validation/TestData/validTeam.json diff --git a/src/test/java/com/DeploymentPortal/api/Manifest/schema/TestData/validmanifestData.json b/src/test/java/com/DeploymentPortal/api/Manifest/validation/TestData/validmanifestData.json similarity index 100% rename from src/test/java/com/DeploymentPortal/api/Manifest/schema/TestData/validmanifestData.json rename to src/test/java/com/DeploymentPortal/api/Manifest/validation/TestData/validmanifestData.json diff --git a/src/test/java/com/DeploymentPortal/api/Manifest/schema/TestData/validmanifestDataInPostCall.json b/src/test/java/com/DeploymentPortal/api/Manifest/validation/TestData/validmanifestDataInPostCall.json similarity index 100% rename from src/test/java/com/DeploymentPortal/api/Manifest/schema/TestData/validmanifestDataInPostCall.json rename to src/test/java/com/DeploymentPortal/api/Manifest/validation/TestData/validmanifestDataInPostCall.json