Adds option to restrict certificate expiration dates to weekdays. (#453)
* Adding ability to restrict certificate creation to weekdays. * Ensuring that we test for weekends.
This commit is contained in:
@ -46,6 +46,8 @@ LEMUR_DEFAULT_LOCATION = 'Los Gatos'
|
||||
LEMUR_DEFAULT_ORGANIZATION = 'Example, Inc.'
|
||||
LEMUR_DEFAULT_ORGANIZATIONAL_UNIT = 'Example'
|
||||
|
||||
LEMUR_ALLOW_WEEKEND_EXPIRATION = False
|
||||
|
||||
# Database
|
||||
|
||||
# modify this if you are not using a local database
|
||||
|
@ -5,7 +5,7 @@ import json
|
||||
|
||||
from lemur.certificates.views import * # noqa
|
||||
|
||||
from .vectors import VALID_ADMIN_HEADER_TOKEN, VALID_USER_HEADER_TOKEN, CSR_STR, \
|
||||
from lemur.tests.vectors import VALID_ADMIN_HEADER_TOKEN, VALID_USER_HEADER_TOKEN, CSR_STR, \
|
||||
INTERNAL_VALID_LONG_STR, INTERNAL_VALID_SAN_STR, PRIVATE_KEY_STR
|
||||
|
||||
|
||||
|
17
lemur/tests/test_missing.py
Normal file
17
lemur/tests/test_missing.py
Normal file
@ -0,0 +1,17 @@
|
||||
import arrow
|
||||
|
||||
from freezegun import freeze_time
|
||||
|
||||
|
||||
def test_convert_validity_years(session):
|
||||
from lemur.common.missing import convert_validity_years
|
||||
|
||||
with freeze_time("2016-01-01"):
|
||||
data = convert_validity_years(dict(validity_years=2))
|
||||
|
||||
assert data['validity_start'] == arrow.utcnow().date().isoformat()
|
||||
assert data['validity_end'] == arrow.utcnow().replace(years=+2).date().isoformat()
|
||||
|
||||
with freeze_time("2015-01-10"):
|
||||
data = convert_validity_years(dict(validity_years=1))
|
||||
assert data['validity_end'] == arrow.utcnow().replace(years=+1, days=-2).date().isoformat()
|
@ -1,29 +1,32 @@
|
||||
from marshmallow.exceptions import ValidationError
|
||||
import pytest
|
||||
from datetime import datetime
|
||||
from .vectors import PRIVATE_KEY_STR
|
||||
from marshmallow.exceptions import ValidationError
|
||||
|
||||
|
||||
def test_private_key():
|
||||
def test_private_key(session):
|
||||
from lemur.common.validators import private_key
|
||||
try:
|
||||
private_key(PRIVATE_KEY_STR)
|
||||
assert True
|
||||
except ValidationError:
|
||||
assert False, "failed to validate private key as a bytes object"
|
||||
|
||||
private_key(PRIVATE_KEY_STR)
|
||||
private_key(PRIVATE_KEY_STR.decode('utf-8'))
|
||||
|
||||
def test_private_key_str_object():
|
||||
from lemur.common.validators import private_key
|
||||
try:
|
||||
private_key(PRIVATE_KEY_STR.decode('utf-8'))
|
||||
assert True
|
||||
except ValidationError:
|
||||
assert False, "failed to validate private key as a str object"
|
||||
|
||||
|
||||
def test_private_key_invalid():
|
||||
from lemur.common.validators import private_key
|
||||
try:
|
||||
with pytest.raises(ValidationError):
|
||||
private_key('invalid_private_key')
|
||||
assert False, "invalid private key should have raised an exception"
|
||||
except ValidationError:
|
||||
assert True
|
||||
|
||||
|
||||
def test_dates(session):
|
||||
from lemur.common.validators import dates
|
||||
|
||||
dates(dict(validity_start=datetime(2016, 1, 1), validity_end=datetime(2016, 1, 5)))
|
||||
|
||||
with pytest.raises(ValidationError):
|
||||
dates(dict(validity_start=datetime(2016, 1, 1)))
|
||||
|
||||
with pytest.raises(ValidationError):
|
||||
dates(dict(validity_end=datetime(2016, 1, 1)))
|
||||
|
||||
with pytest.raises(ValidationError):
|
||||
dates(dict(validity_start=datetime(2016, 1, 5), validity_end=datetime(2016, 1, 1)))
|
||||
|
||||
with pytest.raises(ValidationError):
|
||||
dates(dict(validity_start=datetime(2016, 1, 1), validity_end=datetime(2016, 1, 10)))
|
||||
|
Reference in New Issue
Block a user