示例#1
0
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])
示例#2
0
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])
示例#3
0
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)
示例#4
0
    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")
示例#5
0
    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")
示例#6
0
    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 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)
示例#9
0
def _validate_range_or_none(data, valid_values=None):
    if data is not None:
        attr._validate_range(data, valid_values)