예제 #1
0
    def test_none(self):
        """An expiration_date of None should be OK."""
        request = mock.Mock()
        request.errors = Errors()
        request.validated = {'expiration_date': None}

        validators.validate_expiration_date(request)

        assert not len(request.errors)
예제 #2
0
    def test_equaltoLimit(self):
        """An expiration_date equal to the limit should pass the test."""
        request = mock.Mock()
        request.errors = Errors()
        request.validated = {'expiration_date': datetime.utcnow() + timedelta(days=31)}

        validators.validate_expiration_date(request)

        assert not len(request.errors)
예제 #3
0
    def test_higherthanLimit(self):
        """An expiration_date higher than limit should report an error."""
        request = mock.Mock()
        request.errors = Errors()
        request.validated = {
            'expiration_date': datetime.utcnow() + timedelta(days=32)}

        validators.validate_expiration_date(request)

        assert request.errors == [
            {'location': 'body', 'name': 'expiration_date',
             'description': 'Expiration date may not be longer than 31'}
        ]
        assert request.errors.status == exceptions.HTTPBadRequest.code
예제 #4
0
    def test_past(self):
        """An expiration_date in the past should make it sad."""
        request = mock.Mock()
        request.errors = Errors()
        request.validated = {
            'expiration_date': datetime.utcnow() - timedelta(days=1)}

        validators.validate_expiration_date(request)

        assert request.errors == [
            {'location': 'body', 'name': 'expiration_date',
             'description': 'Expiration date in the past'}
        ]
        assert request.errors.status == exceptions.HTTPBadRequest.code