mirror of
https://github.com/yannh/kubeconform.git
synced 2026-02-21 10:57:01 +00:00
openapi2jsonschema.py now correctly fails if no FILE is passed (#244)
* openapi2jsonschema.py now correctly fails if no FILE is passed * Update acceptance tests
This commit is contained in:
parent
b7d7b4d0dc
commit
6ae8c45bc1
4 changed files with 44 additions and 49 deletions
|
|
@ -36,7 +36,7 @@ resetCacheFolder() {
|
||||||
}
|
}
|
||||||
|
|
||||||
@test "Pass when parsing a valid Kubernetes config JSON file" {
|
@test "Pass when parsing a valid Kubernetes config JSON file" {
|
||||||
run bin/kubeconform -kubernetes-version 1.17.1 -summary fixtures/valid.json
|
run bin/kubeconform -kubernetes-version 1.20.0 -summary fixtures/valid.json
|
||||||
[ "$status" -eq 0 ]
|
[ "$status" -eq 0 ]
|
||||||
[ "$output" = "Summary: 1 resource found in 1 file - Valid: 1, Invalid: 0, Errors: 0, Skipped: 0" ]
|
[ "$output" = "Summary: 1 resource found in 1 file - Valid: 1, Invalid: 0, Errors: 0, Skipped: 0" ]
|
||||||
}
|
}
|
||||||
|
|
@ -134,17 +134,17 @@ resetCacheFolder() {
|
||||||
}
|
}
|
||||||
|
|
||||||
@test "Fail when parsing a config with additional properties and strict set" {
|
@test "Fail when parsing a config with additional properties and strict set" {
|
||||||
run bin/kubeconform -strict -kubernetes-version 1.16.0 fixtures/extra_property.yaml
|
run bin/kubeconform -strict -kubernetes-version 1.20.0 fixtures/extra_property.yaml
|
||||||
[ "$status" -eq 1 ]
|
[ "$status" -eq 1 ]
|
||||||
}
|
}
|
||||||
|
|
||||||
@test "Fail when parsing a config with duplicate properties and strict set" {
|
@test "Fail when parsing a config with duplicate properties and strict set" {
|
||||||
run bin/kubeconform -strict -kubernetes-version 1.16.0 fixtures/duplicate_property.yaml
|
run bin/kubeconform -strict -kubernetes-version 1.20.0 fixtures/duplicate_property.yaml
|
||||||
[ "$status" -eq 1 ]
|
[ "$status" -eq 1 ]
|
||||||
}
|
}
|
||||||
|
|
||||||
@test "Pass when parsing a config with duplicate properties and strict NOT set" {
|
@test "Pass when parsing a config with duplicate properties and strict NOT set" {
|
||||||
run bin/kubeconform -kubernetes-version 1.16.0 fixtures/duplicate_property.yaml
|
run bin/kubeconform -kubernetes-version 1.20.0 fixtures/duplicate_property.yaml
|
||||||
[ "$status" -eq 0 ]
|
[ "$status" -eq 0 ]
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,46 +1,34 @@
|
||||||
{
|
{
|
||||||
"apiVersion": "apps/v1beta1",
|
"apiVersion": "v1",
|
||||||
"kind": "Deployment",
|
"kind": "ReplicationController",
|
||||||
"metadata": {
|
"metadata": {
|
||||||
"name": "nginx-deployment",
|
"name": "bob"
|
||||||
"namespace": "default"
|
},
|
||||||
},
|
"spec": {
|
||||||
"spec": {
|
"replicas": 2,
|
||||||
"replicas": 2,
|
"selector": {
|
||||||
"template": {
|
"app": "nginx"
|
||||||
"spec": {
|
},
|
||||||
"affinity": { },
|
"template": {
|
||||||
"containers": [
|
"metadata": {
|
||||||
{
|
"name": "nginx",
|
||||||
"args": [ ],
|
"labels": {
|
||||||
"command": [ ],
|
"app": "nginx"
|
||||||
"env": [ ],
|
}
|
||||||
"envFrom": [ ],
|
},
|
||||||
"image": "nginx:1.7.9",
|
"spec": {
|
||||||
"lifecycle": { },
|
"containers": [
|
||||||
"livenessProbe": { },
|
{
|
||||||
"name": "nginx",
|
"name": "nginx",
|
||||||
"ports": [
|
"image": "nginx",
|
||||||
{
|
"ports": [
|
||||||
"containerPort": 80,
|
{
|
||||||
"name": "http"
|
"containerPort": 80
|
||||||
}
|
}
|
||||||
],
|
]
|
||||||
"readinessProbe": { },
|
}
|
||||||
"resources": { },
|
]
|
||||||
"securityContext": { },
|
|
||||||
"volumeMounts": [ ]
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"hostMappings": [ ],
|
|
||||||
"imagePullSecrets": [ ],
|
|
||||||
"initContainers": [ ],
|
|
||||||
"nodeSelector": { },
|
|
||||||
"securityContext": { },
|
|
||||||
"tolerations": [ ],
|
|
||||||
"volumes": [ ]
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
},
|
}
|
||||||
"status": { }
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -72,3 +72,10 @@ setup() {
|
||||||
run diff prometheus_v1.json ./fixtures/prometheus_v1-denyRootAdditionalProperties.json
|
run diff prometheus_v1.json ./fixtures/prometheus_v1-denyRootAdditionalProperties.json
|
||||||
[ "$status" -eq 0 ]
|
[ "$status" -eq 0 ]
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@test "Should output an error if no file is passed" {
|
||||||
|
run ./openapi2jsonschema.py
|
||||||
|
[ "$status" -eq 1 ]
|
||||||
|
[ "${lines[0]}" == 'Missing FILE parameter.' ]
|
||||||
|
[ "${lines[1]}" == 'Usage: ./openapi2jsonschema.py [FILE]' ]
|
||||||
|
}
|
||||||
|
|
|
||||||
|
|
@ -122,8 +122,8 @@ def construct_value(load, node):
|
||||||
|
|
||||||
|
|
||||||
if __name__ == "__main__":
|
if __name__ == "__main__":
|
||||||
if len(sys.argv) == 0:
|
if len(sys.argv) < 2:
|
||||||
print("missing file")
|
print('Missing FILE parameter.\nUsage: %s [FILE]' % sys.argv[0])
|
||||||
exit(1)
|
exit(1)
|
||||||
|
|
||||||
for crdFile in sys.argv[1:]:
|
for crdFile in sys.argv[1:]:
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue