From d421bf898ec5504494c9b5e0c43580479b99cfe9 Mon Sep 17 00:00:00 2001 From: LV-426 Date: Tue, 23 Dec 2014 13:33:43 +0200 Subject: moving incoming link validations, using x.get('x') convention --- src/server/neo4j_util.py | 8 -------- src/server/rhizi_api.py | 16 +++++++++++----- 2 files changed, 11 insertions(+), 13 deletions(-) (limited to 'src/server') diff --git a/src/server/neo4j_util.py b/src/server/neo4j_util.py index 9fb982b2..8b48875a 100644 --- a/src/server/neo4j_util.py +++ b/src/server/neo4j_util.py @@ -219,14 +219,6 @@ def gen_query_create_from_link_map(link_map, input_to_DB_property_map=lambda _: del prop_dict['__dst_id'] del prop_dict['__src_id'] - # TODO - somewhere else? - if '__type' in prop_dict: - log.warn('client is sending us __type link property, it should not') - if 'name' in prop_dict: - log.warn('client is sending us name link property, it should not') - del prop_dict['__type'] - del prop_dict['name'] - q_params = {'src': { 'id': src_id} , 'dst': { 'id': dst_id} , 'link_attr' : input_to_DB_property_map(prop_dict)} diff --git a/src/server/rhizi_api.py b/src/server/rhizi_api.py index 8e38e6a3..1bc16ab8 100644 --- a/src/server/rhizi_api.py +++ b/src/server/rhizi_api.py @@ -37,15 +37,21 @@ def sanitize_input__node(n): """ provide a control point as to which node fields are persisted """ - assert None != n['id'], 'invalid input: node: missing id' + assert None != n.get('id'), 'invalid input: node: missing id' def sanitize_input__link(l): """ - provide a control point as to which node fields are persisted + provide a control point as to which link fields are persisted """ - assert None != l['id'], 'invalid input: link: missing id' - assert None != l['__src_id'], 'invalid input: link: missing src id' - assert None != l['__dst_id'], 'invalid input: link: missing dst id' + + # expected prop assertions + assert None != l.get('id'), 'invalid input: link: missing id' + assert None != l.get('__src_id'), 'invalid input: link: missing src id' + assert None != l.get('__dst_id'), 'invalid input: link: missing dst id' + + # unexpected prop assertions + assert None == l.get('__type'), 'client is sending us __type link property, it should not' + assert None == l.get('name'), 'client is sending us name link property, it should not' def sanitize_input__topo_diff(topo_diff): for n in topo_diff.node_set_add: -- cgit v1.3.1