mirror of
https://github.com/yannh/kubeconform.git
synced 2026-02-11 05:59:22 +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" {
|
||||
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 ]
|
||||
[ "$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" {
|
||||
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 ]
|
||||
}
|
||||
|
||||
@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 ]
|
||||
}
|
||||
|
||||
@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 ]
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -1,46 +1,34 @@
|
|||
{
|
||||
"apiVersion": "apps/v1beta1",
|
||||
"kind": "Deployment",
|
||||
"metadata": {
|
||||
"name": "nginx-deployment",
|
||||
"namespace": "default"
|
||||
},
|
||||
"spec": {
|
||||
"replicas": 2,
|
||||
"template": {
|
||||
"spec": {
|
||||
"affinity": { },
|
||||
"containers": [
|
||||
{
|
||||
"args": [ ],
|
||||
"command": [ ],
|
||||
"env": [ ],
|
||||
"envFrom": [ ],
|
||||
"image": "nginx:1.7.9",
|
||||
"lifecycle": { },
|
||||
"livenessProbe": { },
|
||||
"name": "nginx",
|
||||
"ports": [
|
||||
{
|
||||
"containerPort": 80,
|
||||
"name": "http"
|
||||
}
|
||||
],
|
||||
"readinessProbe": { },
|
||||
"resources": { },
|
||||
"securityContext": { },
|
||||
"volumeMounts": [ ]
|
||||
}
|
||||
],
|
||||
"hostMappings": [ ],
|
||||
"imagePullSecrets": [ ],
|
||||
"initContainers": [ ],
|
||||
"nodeSelector": { },
|
||||
"securityContext": { },
|
||||
"tolerations": [ ],
|
||||
"volumes": [ ]
|
||||
}
|
||||
"apiVersion": "v1",
|
||||
"kind": "ReplicationController",
|
||||
"metadata": {
|
||||
"name": "bob"
|
||||
},
|
||||
"spec": {
|
||||
"replicas": 2,
|
||||
"selector": {
|
||||
"app": "nginx"
|
||||
},
|
||||
"template": {
|
||||
"metadata": {
|
||||
"name": "nginx",
|
||||
"labels": {
|
||||
"app": "nginx"
|
||||
}
|
||||
},
|
||||
"spec": {
|
||||
"containers": [
|
||||
{
|
||||
"name": "nginx",
|
||||
"image": "nginx",
|
||||
"ports": [
|
||||
{
|
||||
"containerPort": 80
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"status": { }
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -72,3 +72,10 @@ setup() {
|
|||
run diff prometheus_v1.json ./fixtures/prometheus_v1-denyRootAdditionalProperties.json
|
||||
[ "$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 len(sys.argv) == 0:
|
||||
print("missing file")
|
||||
if len(sys.argv) < 2:
|
||||
print('Missing FILE parameter.\nUsage: %s [FILE]' % sys.argv[0])
|
||||
exit(1)
|
||||
|
||||
for crdFile in sys.argv[1:]:
|
||||
|
|
|
|||
Loading…
Reference in a new issue