Beispiel #1
0
    def _validate_instantiation_props(self, prop, prop_name, default_value):
        """ Method to determine if instantiation properties like batch_size, flush_interval
    and timeout_interval are valid.

    Args:
      prop: Property value that needs to be validated.
      prop_name: Property name.
      default_value: Default value for property.

    Returns:
      False if property value is None or less than or equal to 0 or not a finite number.
      False if property name is batch_size and value is a floating point number.
      True otherwise.
    """
        is_valid = True

        if prop is None or not validator.is_finite_number(prop) or prop <= 0:
            is_valid = False

        if prop_name == 'batch_size' and not isinstance(prop, numbers.Integral):
            is_valid = False

        if is_valid is False:
            self.logger.info('Using default value {} for {}.'.format(default_value, prop_name))

        return is_valid
Beispiel #2
0
    def test_is_finite_number(self):
        """ Test that it returns true if value is a number and not NAN, INF, -INF or greater than 2^53.
        Otherwise False.
    """
        # test non number values
        self.assertFalse(validator.is_finite_number('HelloWorld'))
        self.assertFalse(validator.is_finite_number(True))
        self.assertFalse(validator.is_finite_number(False))
        self.assertFalse(validator.is_finite_number(None))
        self.assertFalse(validator.is_finite_number({}))
        self.assertFalse(validator.is_finite_number([]))
        self.assertFalse(validator.is_finite_number(()))

        # test invalid numbers
        self.assertFalse(validator.is_finite_number(float('inf')))
        self.assertFalse(validator.is_finite_number(float('-inf')))
        self.assertFalse(validator.is_finite_number(float('nan')))
        self.assertFalse(validator.is_finite_number(int(2**53) + 1))
        self.assertFalse(validator.is_finite_number(-int(2**53) - 1))
        self.assertFalse(validator.is_finite_number(float(2**53) + 2.0))
        self.assertFalse(validator.is_finite_number(-float(2**53) - 2.0))
        if PY2:
            self.assertFalse(validator.is_finite_number(long(2**53) + 1))
            self.assertFalse(validator.is_finite_number(-long(2**53) - 1))

        # test valid numbers
        self.assertTrue(validator.is_finite_number(0))
        self.assertTrue(validator.is_finite_number(5))
        self.assertTrue(validator.is_finite_number(5.5))
        # float(2**53) + 1.0 evaluates to float(2**53)
        self.assertTrue(validator.is_finite_number(float(2**53) + 1.0))
        self.assertTrue(validator.is_finite_number(-float(2**53) - 1.0))
        self.assertTrue(validator.is_finite_number(int(2**53)))
        if PY2:
            self.assertTrue(validator.is_finite_number(long(2**53)))