def _validate_vid(vid, key_specs=None): if vid is None: return None if vid == '': return None return attributes._validate_range( vid, [constants.MIN_VLAN_TAG, constants.MAX_VLAN_TAG])
def _validate_vid(vid, key_specs=None): if vid is None: return None if vid == '': return None return attributes._validate_range(vid, [constants.MIN_VLAN_TAG, constants.MAX_VLAN_TAG])
def _validate_portforwardings(data, valid_values=None): if not isinstance(data, list): msg = _("Invalid data format for portforwarding: '%s'") % data raise webob.exc.HTTPBadRequest(msg) # LOG.debug(msg) # return msg expected_keys = ['protocol', 'outside_port', 'inside_addr', 'inside_port'] portfwds = [] for portfwd in data: msg = attributes._verify_dict_keys(expected_keys, portfwd) if msg: raise webob.exc.HTTPBadRequest(msg) # LOG.debug(msg) # return msg #raise InvalidInput(portfwd=portfwd, msg=msg) msg = attributes._validate_range(portfwd['outside_port'], (0, 65535)) if msg: raise webob.exc.HTTPBadRequest(msg) # LOG.debug(msg) # return msg #raise InvalidPortValue(port=portfwd['outside_port'], msg=msg) msg = attributes._validate_ip_address(portfwd['inside_addr']) if msg: raise webob.exc.HTTPBadRequest(msg) # LOG.debug(msg) # return msg msg = attributes._validate_range(portfwd['inside_port'], (0, 65535)) if msg: raise webob.exc.HTTPBadRequest(msg) # LOG.debug(msg) # return msg #raise InvalidPortValue(portfwd['inside_port'], msg=msg) msg = attributes._validate_values(portfwd['protocol'].upper(), ('TCP', 'UDP')) if msg: raise webob.exc.HTTPBadRequest(msg) # LOG.debug(msg) # return msg #raise InvalidProtocol(protocol=portfwd['protocol'].upper(), msg=msg) if portfwd in portfwds: raise DuplicatePortforwardingRuleInRequest(portfwds=portfwds)
def test_validate_range(self): msg = attributes._validate_range(1, [1, 9]) self.assertIsNone(msg) msg = attributes._validate_range(5, [1, 9]) self.assertIsNone(msg) msg = attributes._validate_range(9, [1, 9]) self.assertIsNone(msg) msg = attributes._validate_range(1, (1, 9)) self.assertIsNone(msg) msg = attributes._validate_range(5, (1, 9)) self.assertIsNone(msg) msg = attributes._validate_range(9, (1, 9)) self.assertIsNone(msg) msg = attributes._validate_range(0, [1, 9]) self.assertEqual(msg, "'0' is not in range 1 through 9") msg = attributes._validate_range(10, (1, 9)) self.assertEqual(msg, "'10' is not in range 1 through 9")
def test_validate_range(self): msg = attributes._validate_range(1, [1, 9]) self.assertIsNone(msg) msg = attributes._validate_range(5, [1, 9]) self.assertIsNone(msg) msg = attributes._validate_range(9, [1, 9]) self.assertIsNone(msg) msg = attributes._validate_range(1, (1, 9)) self.assertIsNone(msg) msg = attributes._validate_range(5, (1, 9)) self.assertIsNone(msg) msg = attributes._validate_range(9, (1, 9)) self.assertIsNone(msg) msg = attributes._validate_range(0, [1, 9]) self.assertEqual("'0' is too small - must be at least '1'", msg) msg = attributes._validate_range(10, (1, 9)) self.assertEqual("'10' is too large - must be no larger than '9'", msg) msg = attributes._validate_range("bogus", (1, 9)) self.assertEqual("'bogus' is not an integer", msg) msg = attributes._validate_range(10, (attributes.UNLIMITED, attributes.UNLIMITED)) self.assertIsNone(msg) msg = attributes._validate_range(10, (1, attributes.UNLIMITED)) self.assertIsNone(msg) msg = attributes._validate_range(1, (attributes.UNLIMITED, 9)) self.assertIsNone(msg) msg = attributes._validate_range(-1, (0, attributes.UNLIMITED)) self.assertEqual("'-1' is too small - must be at least '0'", msg) msg = attributes._validate_range(10, (attributes.UNLIMITED, 9)) self.assertEqual("'10' is too large - must be no larger than '9'", msg)
def _validate_range_or_none(data, valid_values=None): if data is not None: attr._validate_range(data, valid_values)