Exemplo n.º 1
0
 def test_validation_for_bad_time_strings(self):
     some_bad_data = {u'_timestamp': u'hammer time'}
     assert_that(
         validate_record_data(some_bad_data).is_valid,
         is_(False))
     some_good_data = {u'_timestamp': datetime.datetime(2012, 12, 12, 12)}
     assert_that(
         validate_record_data(some_good_data).is_valid,
         is_(True))
Exemplo n.º 2
0
 def test_objects_with_invalid_timestamps_are_disallowed(self):
     validation_result = validate_record_data({
         '_timestamp': 'this is not a timestamp'
     })
     assert_that(validation_result,
                 is_invalid_with_message(
                     "_timestamp is not a valid datetime object"))
Exemplo n.º 3
0
 def test_objects_with_unrecognised_internal_keys_are_disallowed(self):
     validation_result = validate_record_data({
         '_unknown': 'whatever'
     })
     assert_that(validation_result,
                 is_invalid_with_message(
                     "_unknown is not a recognised internal field"))
 def test_objects_with_invalid_start_ats_are_disallowed(self):
     validation_result = validate_record_data(
         {'_start_at': 'this is not a timestamp'})
     assert_that(
         validation_result,
         is_invalid_with_message(
             "_start_at is not a valid datetime object"))
    def test_validation_happens_until_error_or_finish(self):
        # see value validation tests, we don't accept arrays
        my_second_value_is_bad = {
            u'aardvark': u'puppies',
            u'Cthulu': ["R'lyeh"]
        }

        assert_that(
            validate_record_data(my_second_value_is_bad).is_valid, is_(False))
Exemplo n.º 6
0
    def test_validation_happens_until_error_or_finish(self):
        #see value validation tests, we don't accept arrays
        my_second_value_is_bad = {
            u'aardvark': u'puppies',
            u'Cthulu': ["R'lyeh"]
        }

        assert_that(
            validate_record_data(my_second_value_is_bad).is_valid,
            is_(False))
Exemplo n.º 7
0
def validate_record(record):
    """Validate a record

    Raises a ValidationError if the record is invalid, otherwise returns
    the record
    """
    # TODO: refactor this
    result = validate_record_data(record)
    if not result.is_valid:
        return result.message
    return None
Exemplo n.º 8
0
def validate_record(record):
    """Validate a record

    Raises a ValidationError if the record is invalid, otherwise returns
    the record
    """
    # TODO: refactor this
    result = validate_record_data(record)
    if not result.is_valid:
        return result.message
    return None
Exemplo n.º 9
0
    def __init__(self, data):
        result = validate_record_data(data)
        if not result.is_valid:
            raise ValidationError(result.message)

        self.data = data
        self.meta = {}

        if "_timestamp" in self.data:
            self.meta['_week_start_at'] = WEEK.start(self.data['_timestamp'])
            self.meta['_month_start_at'] = MONTH.start(self.data['_timestamp'])
Exemplo n.º 10
0
    def __init__(self, data):
        result = validate_record_data(data)
        if not result.is_valid:
            raise ValidationError(result.message)

        self.data = data
        self.meta = {}

        if "_timestamp" in self.data:
            for period in PERIODS:
                timestamp_ = self.data['_timestamp']
                self.meta[period.start_at_key] = period.start(timestamp_)
 def test_objects_with_invalid_keys_are_disallowed(self):
     validation_result = validate_record_data({'foo-bar': 'bar'})
     assert_that(validation_result,
                 is_invalid_with_message("foo-bar is not a valid key"))
 def test_objects_with_invalid_values_are_disallowed(self):
     validation_result = validate_record_data({'foo': tuple()})
     assert_that(validation_result,
                 is_invalid_with_message("foo has an invalid value"))
Exemplo n.º 13
0
 def test_allow_none_value(self):
     validation_result = validate_record_data({
         'none_is_fine': None
     })
     assert_that(validation_result, is_valid())
 def test_objects_with_invalid_ids_are_disallowed(self):
     validation_result = validate_record_data({'_id': 'invalid id'})
     assert_that(
         validation_result,
         is_invalid_with_message("_id \"invalid id\" is not a valid id"))
Exemplo n.º 15
0
 def test_objects_with_invalid_ids_are_disallowed(self):
     validation_result = validate_record_data({
         '_id': 'invalid id'
     })
     assert_that(validation_result,
                 is_invalid_with_message("_id is not a valid id"))
 def test_objects_with_unrecognised_internal_keys_are_disallowed(self):
     validation_result = validate_record_data({'_unknown': 'whatever'})
     assert_that(
         validation_result,
         is_invalid_with_message(
             "_unknown is not a recognised internal field"))
Exemplo n.º 17
0
 def test_objects_with_invalid_values_are_disallowed(self):
     validation_result = validate_record_data({
         'foo': tuple()
     })
     assert_that(validation_result,
                 is_invalid_with_message("foo has an invalid value"))
Exemplo n.º 18
0
 def test_objects_with_invalid_keys_are_disallowed(self):
     validation_result = validate_record_data({
         'foo-bar': 'bar'
     })
     assert_that(validation_result,
                 is_invalid_with_message("foo-bar is not a valid key"))
 def test_validation_for_bad_time_strings(self):
     some_bad_data = {u'_timestamp': u'hammer time'}
     assert_that(validate_record_data(some_bad_data).is_valid, is_(False))
     some_good_data = {u'_timestamp': datetime.datetime(2012, 12, 12, 12)}
     assert_that(validate_record_data(some_good_data).is_valid, is_(True))
 def test_allow_none_value(self):
     validation_result = validate_record_data({'none_is_fine': None})
     assert_that(validation_result, is_valid())