コード例 #1
0
ファイル: test_validation.py プロジェクト: pwaller/backdrop
 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))
コード例 #2
0
ファイル: test_validation.py プロジェクト: pwaller/backdrop
 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"))
コード例 #3
0
ファイル: test_validation.py プロジェクト: pwaller/backdrop
 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"))
コード例 #4
0
 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"))
コード例 #5
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))
コード例 #6
0
ファイル: test_validation.py プロジェクト: pwaller/backdrop
    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))
コード例 #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
コード例 #8
0
ファイル: records.py プロジェクト: NRCan/backdrop
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
コード例 #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'])
コード例 #10
0
ファイル: records.py プロジェクト: frabcus/backdrop
    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_)
コード例 #11
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"))
コード例 #12
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"))
コード例 #13
0
ファイル: test_validation.py プロジェクト: pwaller/backdrop
 def test_allow_none_value(self):
     validation_result = validate_record_data({
         'none_is_fine': None
     })
     assert_that(validation_result, is_valid())
コード例 #14
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 \"invalid id\" is not a valid id"))
コード例 #15
0
ファイル: test_validation.py プロジェクト: pwaller/backdrop
 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"))
コード例 #16
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"))
コード例 #17
0
ファイル: test_validation.py プロジェクト: pwaller/backdrop
 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"))
コード例 #18
0
ファイル: test_validation.py プロジェクト: pwaller/backdrop
 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"))
コード例 #19
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))
コード例 #20
0
 def test_allow_none_value(self):
     validation_result = validate_record_data({'none_is_fine': None})
     assert_that(validation_result, is_valid())