From 2ce2b2ccbb1d533975499d98947074bd71ecde08 Mon Sep 17 00:00:00 2001 From: YAMAMOTO Takashi Date: Fri, 10 Feb 2017 11:15:01 +0900 Subject: [PATCH] Validate API sample JSON files Change-Id: I0428e54c4eada67a967a5df36ce9d35a84335c97 --- .../firewall-group-create-request.json | 2 +- .../firewall-policy-create-request.json | 4 +-- .../firewall-policy-insert-rule-response.json | 4 +-- .../firewall-policy-remove-rule-response.json | 4 +-- .../lbaas/loadbalancer-update-response.json | 2 +- .../v2/samples/lbaas/pool-create-request.json | 4 +-- .../networks-provider-list-response.json | 2 +- .../samples/qos/policies-list-response.json | 2 +- tools/check_samples.sh | 26 +++++++++++++++++++ tox.ini | 1 + 10 files changed, 39 insertions(+), 12 deletions(-) create mode 100755 tools/check_samples.sh diff --git a/api-ref/source/v2/samples/firewall-v2/firewall-group-create-request.json b/api-ref/source/v2/samples/firewall-v2/firewall-group-create-request.json index e475bd8d1..37444b270 100644 --- a/api-ref/source/v2/samples/firewall-v2/firewall-group-create-request.json +++ b/api-ref/source/v2/samples/firewall-v2/firewall-group-create-request.json @@ -1,7 +1,7 @@ { "firewall_group": { "admin_state_up": false, - "egress_firewall_policy_id": "14c9d3c1-b472-44f9-8226-30dc4ffd454c" + "egress_firewall_policy_id": "14c9d3c1-b472-44f9-8226-30dc4ffd454c", "ingress_firewall_policy_id": "c69933c1-b472-44f9-8226-30dc4ffd454c" } } diff --git a/api-ref/source/v2/samples/firewall-v2/firewall-policy-create-request.json b/api-ref/source/v2/samples/firewall-v2/firewall-policy-create-request.json index 13ac74a1b..c817c7c08 100644 --- a/api-ref/source/v2/samples/firewall-v2/firewall-policy-create-request.json +++ b/api-ref/source/v2/samples/firewall-v2/firewall-policy-create-request.json @@ -1,8 +1,8 @@ { "firewall_policy": { - "name": "test-policy" + "name": "test-policy", "firewall_rules": [ "8722e0e0-9cc9-4490-9660-8c9a5732fbb0" - ], + ] } } diff --git a/api-ref/source/v2/samples/firewall-v2/firewall-policy-insert-rule-response.json b/api-ref/source/v2/samples/firewall-v2/firewall-policy-insert-rule-response.json index 08c0c9cea..091feb9a7 100644 --- a/api-ref/source/v2/samples/firewall-v2/firewall-policy-insert-rule-response.json +++ b/api-ref/source/v2/samples/firewall-v2/firewall-policy-insert-rule-response.json @@ -5,8 +5,8 @@ "acbdfead-eca2-4456-838c-8b531e47b9c7" ], "id": "c9e15d6e-b6ba-4ef4-8715-985d1f100467", - "name": "policy2" + "name": "policy2", "public": false, "project_id": "95573613ec554b4b8df9f2679c64557b", - "tenant_id": "95573613ec554b4b8df9f2679c64557b", + "tenant_id": "95573613ec554b4b8df9f2679c64557b" } diff --git a/api-ref/source/v2/samples/firewall-v2/firewall-policy-remove-rule-response.json b/api-ref/source/v2/samples/firewall-v2/firewall-policy-remove-rule-response.json index 25d8a0350..d6ea88273 100644 --- a/api-ref/source/v2/samples/firewall-v2/firewall-policy-remove-rule-response.json +++ b/api-ref/source/v2/samples/firewall-v2/firewall-policy-remove-rule-response.json @@ -3,8 +3,8 @@ "description": "", "firewall_rules": [], "id": "c9e15d6e-b6ba-4ef4-8715-985d1f100467", - "name": "policy2" + "name": "policy2", "project_id": "95573613ec554b4b8df9f2679c64557b", "public": false, - "tenant_id": "95573613ec554b4b8df9f2679c64557b", + "tenant_id": "95573613ec554b4b8df9f2679c64557b" } diff --git a/api-ref/source/v2/samples/lbaas/loadbalancer-update-response.json b/api-ref/source/v2/samples/lbaas/loadbalancer-update-response.json index 7a059491b..d9916d378 100644 --- a/api-ref/source/v2/samples/lbaas/loadbalancer-update-response.json +++ b/api-ref/source/v2/samples/lbaas/loadbalancer-update-response.json @@ -10,7 +10,7 @@ "project_id": "b7c1a69e88bf4b21a8148f787aef2081", "tenant_id": "b7c1a69e88bf4b21a8148f787aef2081", "vip_address": "10.0.0.4", - "vip_subnet_id": "013d3059-87a4-45a5-91e9-d721068ae0b2" + "vip_subnet_id": "013d3059-87a4-45a5-91e9-d721068ae0b2", "flavor": "a7ae5d5a-d855-4f9a-b187-af66b53f4d04", "provider": "sample_provider", "pools": [] diff --git a/api-ref/source/v2/samples/lbaas/pool-create-request.json b/api-ref/source/v2/samples/lbaas/pool-create-request.json index 6d2ef785b..fc6de73ac 100644 --- a/api-ref/source/v2/samples/lbaas/pool-create-request.json +++ b/api-ref/source/v2/samples/lbaas/pool-create-request.json @@ -5,7 +5,7 @@ "lb_algorithm": "ROUND_ROBIN", "name": "my-pool", "protocol": "HTTP", - "subnet_id": "e301aed0-d9e7-498a-977c-1bbfaf14ed5d" - "listener_id": "39de4d56-d663-46e5-85a1-5b9d5fa17829", + "subnet_id": "e301aed0-d9e7-498a-977c-1bbfaf14ed5d", + "listener_id": "39de4d56-d663-46e5-85a1-5b9d5fa17829" } } diff --git a/api-ref/source/v2/samples/networks/networks-provider-list-response.json b/api-ref/source/v2/samples/networks/networks-provider-list-response.json index 11e2f51ee..3411e4342 100644 --- a/api-ref/source/v2/samples/networks/networks-provider-list-response.json +++ b/api-ref/source/v2/samples/networks/networks-provider-list-response.json @@ -14,7 +14,7 @@ "project_id": "4fd44f30292945e481c7b8a0c8908869", "provider:network_type": "vlan", "provider:physical_network": "8bab8453-1bc9-45af-8c70-f83aa9b50453", - "provider:segmentation_id": 3 + "provider:segmentation_id": 3, "router:external": false, "shared": false, "status": "ACTIVE", diff --git a/api-ref/source/v2/samples/qos/policies-list-response.json b/api-ref/source/v2/samples/qos/policies-list-response.json index f7457f4ba..f1c8a2b22 100644 --- a/api-ref/source/v2/samples/qos/policies-list-response.json +++ b/api-ref/source/v2/samples/qos/policies-list-response.json @@ -20,7 +20,7 @@ "type": "dscp_marking", "id": "d9c021d5-5433-4d7c-8bfa-69cca486aac8", "qos_policy_id": "46ebaec0-0570-43ac-82f6-60d2b03168c4" - }, + } ] } ] diff --git a/tools/check_samples.sh b/tools/check_samples.sh new file mode 100755 index 000000000..e11446d3c --- /dev/null +++ b/tools/check_samples.sh @@ -0,0 +1,26 @@ +#! /bin/sh + +# Copyright (C) 2017 Midokura SARL. +# All Rights Reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"); you may +# not use this file except in compliance with the License. You may obtain +# a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT +# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the +# License for the specific language governing permissions and limitations +# under the License. + +set -e + +DIR=api-ref/source/v2/samples +find $DIR -name "*.json" | while read f; do + if ! python -m json.tool $f > /dev/null; then + echo "$f had errors." + exit 1 + fi +done diff --git a/tox.ini b/tox.ini index d565ded97..8aac37777 100644 --- a/tox.ini +++ b/tox.ini @@ -19,6 +19,7 @@ commands = [testenv:pep8] commands = flake8 + {toxinidir}/tools/check_samples.sh [testenv:releasenotes] commands = sphinx-build -a -E -W -d releasenotes/build/doctrees -b html releasenotes/source releasenotes/build/html