Fix required field in schema not use

Fix #972
This commit is contained in:
Julien Duponchelle 2017-04-11 10:57:01 +02:00
parent ab2af5ceab
commit 18835974fb
No known key found for this signature in database
GPG Key ID: CE8B29639E07F5E8
8 changed files with 22 additions and 8 deletions

View File

@ -15,6 +15,7 @@
# You should have received a copy of the GNU General Public License # You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>. # along with this program. If not, see <http://www.gnu.org/licenses/>.
import copy
ATM_SWITCH_CREATE_SCHEMA = { ATM_SWITCH_CREATE_SCHEMA = {
"$schema": "http://json-schema.org/draft-04/schema#", "$schema": "http://json-schema.org/draft-04/schema#",
@ -81,5 +82,5 @@ ATM_SWITCH_OBJECT_SCHEMA = {
"required": ["name", "node_id", "project_id"] "required": ["name", "node_id", "project_id"]
} }
ATM_SWITCH_UPDATE_SCHEMA = ATM_SWITCH_OBJECT_SCHEMA ATM_SWITCH_UPDATE_SCHEMA = copy.deepcopy(ATM_SWITCH_OBJECT_SCHEMA)
del ATM_SWITCH_UPDATE_SCHEMA["required"] del ATM_SWITCH_UPDATE_SCHEMA["required"]

View File

@ -15,6 +15,7 @@
# You should have received a copy of the GNU General Public License # You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>. # along with this program. If not, see <http://www.gnu.org/licenses/>.
import copy
from .port import PORT_OBJECT_SCHEMA from .port import PORT_OBJECT_SCHEMA
HOST_INTERFACE_SCHEMA = { HOST_INTERFACE_SCHEMA = {
@ -136,5 +137,5 @@ CLOUD_OBJECT_SCHEMA = {
"required": ["name", "node_id", "project_id", "ports_mapping"] "required": ["name", "node_id", "project_id", "ports_mapping"]
} }
CLOUD_UPDATE_SCHEMA = CLOUD_OBJECT_SCHEMA CLOUD_UPDATE_SCHEMA = copy.deepcopy(CLOUD_OBJECT_SCHEMA)
del CLOUD_UPDATE_SCHEMA["required"] del CLOUD_UPDATE_SCHEMA["required"]

View File

@ -15,6 +15,7 @@
# You should have received a copy of the GNU General Public License # You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>. # along with this program. If not, see <http://www.gnu.org/licenses/>.
import copy
from .capabilities import CAPABILITIES_SCHEMA from .capabilities import CAPABILITIES_SCHEMA
COMPUTE_CREATE_SCHEMA = { COMPUTE_CREATE_SCHEMA = {
@ -52,10 +53,10 @@ COMPUTE_CREATE_SCHEMA = {
} }
}, },
"additionalProperties": False, "additionalProperties": False,
"required": ["compute_id", "protocol", "host", "port"] "required": ["protocol", "host", "port"]
} }
COMPUTE_UPDATE_SCHEMA = COMPUTE_CREATE_SCHEMA COMPUTE_UPDATE_SCHEMA = copy.deepcopy(COMPUTE_CREATE_SCHEMA)
del COMPUTE_UPDATE_SCHEMA["required"] del COMPUTE_UPDATE_SCHEMA["required"]
COMPUTE_OBJECT_SCHEMA = { COMPUTE_OBJECT_SCHEMA = {

View File

@ -15,6 +15,7 @@
# You should have received a copy of the GNU General Public License # You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>. # along with this program. If not, see <http://www.gnu.org/licenses/>.
import copy
ETHERNET_HUB_CREATE_SCHEMA = { ETHERNET_HUB_CREATE_SCHEMA = {
"$schema": "http://json-schema.org/draft-04/schema#", "$schema": "http://json-schema.org/draft-04/schema#",
@ -129,5 +130,5 @@ ETHERNET_HUB_OBJECT_SCHEMA = {
"required": ["name", "node_id", "project_id", "ports_mapping"] "required": ["name", "node_id", "project_id", "ports_mapping"]
} }
ETHERNET_HUB_UPDATE_SCHEMA = ETHERNET_HUB_OBJECT_SCHEMA ETHERNET_HUB_UPDATE_SCHEMA = copy.deepcopy(ETHERNET_HUB_OBJECT_SCHEMA)
del ETHERNET_HUB_UPDATE_SCHEMA["required"] del ETHERNET_HUB_UPDATE_SCHEMA["required"]

View File

@ -15,6 +15,7 @@
# You should have received a copy of the GNU General Public License # You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>. # along with this program. If not, see <http://www.gnu.org/licenses/>.
import copy
ETHERNET_SWITCH_CREATE_SCHEMA = { ETHERNET_SWITCH_CREATE_SCHEMA = {
"$schema": "http://json-schema.org/draft-04/schema#", "$schema": "http://json-schema.org/draft-04/schema#",
@ -153,5 +154,5 @@ ETHERNET_SWITCH_OBJECT_SCHEMA = {
"required": ["name", "node_id", "project_id"] "required": ["name", "node_id", "project_id"]
} }
ETHERNET_SWITCH_UPDATE_SCHEMA = ETHERNET_SWITCH_OBJECT_SCHEMA ETHERNET_SWITCH_UPDATE_SCHEMA = copy.deepcopy(ETHERNET_SWITCH_OBJECT_SCHEMA)
del ETHERNET_SWITCH_UPDATE_SCHEMA["required"] del ETHERNET_SWITCH_UPDATE_SCHEMA["required"]

View File

@ -15,6 +15,7 @@
# You should have received a copy of the GNU General Public License # You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>. # along with this program. If not, see <http://www.gnu.org/licenses/>.
import copy
FRAME_RELAY_SWITCH_CREATE_SCHEMA = { FRAME_RELAY_SWITCH_CREATE_SCHEMA = {
"$schema": "http://json-schema.org/draft-04/schema#", "$schema": "http://json-schema.org/draft-04/schema#",
@ -81,5 +82,5 @@ FRAME_RELAY_SWITCH_OBJECT_SCHEMA = {
"required": ["name", "node_id", "project_id"] "required": ["name", "node_id", "project_id"]
} }
FRAME_RELAY_SWITCH_UPDATE_SCHEMA = FRAME_RELAY_SWITCH_OBJECT_SCHEMA FRAME_RELAY_SWITCH_UPDATE_SCHEMA = copy.deepcopy(FRAME_RELAY_SWITCH_OBJECT_SCHEMA)
del FRAME_RELAY_SWITCH_UPDATE_SCHEMA["required"] del FRAME_RELAY_SWITCH_UPDATE_SCHEMA["required"]

View File

@ -15,6 +15,7 @@
# You should have received a copy of the GNU General Public License # You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>. # along with this program. If not, see <http://www.gnu.org/licenses/>.
import copy
from .label import LABEL_OBJECT_SCHEMA from .label import LABEL_OBJECT_SCHEMA
NODE_TYPE_SCHEMA = { NODE_TYPE_SCHEMA = {
@ -234,5 +235,5 @@ NODE_OBJECT_SCHEMA = {
} }
NODE_CREATE_SCHEMA = NODE_OBJECT_SCHEMA NODE_CREATE_SCHEMA = NODE_OBJECT_SCHEMA
NODE_UPDATE_SCHEMA = NODE_OBJECT_SCHEMA NODE_UPDATE_SCHEMA = copy.deepcopy(NODE_OBJECT_SCHEMA)
del NODE_UPDATE_SCHEMA["required"] del NODE_UPDATE_SCHEMA["required"]

View File

@ -181,6 +181,7 @@ def test_import_iou_linux_no_vm(linux_platform, async_run, tmpdir, controller):
{ {
"compute_id": "local", "compute_id": "local",
"node_type": "iou", "node_type": "iou",
"name": "test",
"properties": {} "properties": {}
} }
], ],
@ -224,6 +225,7 @@ def test_import_iou_linux_with_vm(linux_platform, async_run, tmpdir, controller)
"compute_id": "local", "compute_id": "local",
"node_id": "0fd3dd4d-dc93-4a04-a9b9-7396a9e22e8b", "node_id": "0fd3dd4d-dc93-4a04-a9b9-7396a9e22e8b",
"node_type": "iou", "node_type": "iou",
"name": "test",
"properties": {} "properties": {}
} }
], ],
@ -267,11 +269,13 @@ def test_import_iou_non_linux(windows_platform, async_run, tmpdir, controller):
"compute_id": "local", "compute_id": "local",
"node_id": "0fd3dd4d-dc93-4a04-a9b9-7396a9e22e8b", "node_id": "0fd3dd4d-dc93-4a04-a9b9-7396a9e22e8b",
"node_type": "iou", "node_type": "iou",
"name": "test",
"properties": {} "properties": {}
}, },
{ {
"compute_id": "local", "compute_id": "local",
"node_type": "vpcs", "node_type": "vpcs",
"name": "test2",
"properties": {} "properties": {}
} }
], ],
@ -319,12 +323,14 @@ def test_import_node_id(linux_platform, async_run, tmpdir, controller):
"compute_id": "local", "compute_id": "local",
"node_id": "0fd3dd4d-dc93-4a04-a9b9-7396a9e22e8b", "node_id": "0fd3dd4d-dc93-4a04-a9b9-7396a9e22e8b",
"node_type": "iou", "node_type": "iou",
"name": "test",
"properties": {} "properties": {}
}, },
{ {
"compute_id": "local", "compute_id": "local",
"node_id": "c3ae286c-c81f-40d9-a2d0-5874b2f2478d", "node_id": "c3ae286c-c81f-40d9-a2d0-5874b2f2478d",
"node_type": "iou", "node_type": "iou",
"name": "test2",
"properties": {} "properties": {}
} }
], ],
@ -409,6 +415,7 @@ def test_import_keep_compute_id(windows_platform, async_run, tmpdir, controller)
"compute_id": "local", "compute_id": "local",
"node_id": "0fd3dd4d-dc93-4a04-a9b9-7396a9e22e8b", "node_id": "0fd3dd4d-dc93-4a04-a9b9-7396a9e22e8b",
"node_type": "iou", "node_type": "iou",
"name": "test",
"properties": {} "properties": {}
} }
], ],