Adding the ability to specify a per-certificate rotation policy. (#851)

This commit is contained in:
kevgliss
2017-07-12 16:46:11 -07:00
committed by GitHub
parent 560bd5a872
commit 443eb43d1f
18 changed files with 291 additions and 50 deletions

View File

@ -6,7 +6,7 @@ from lemur.database import db as _db
from lemur.auth.service import create_token
from .factories import AuthorityFactory, NotificationFactory, DestinationFactory, \
CertificateFactory, UserFactory, RoleFactory, SourceFactory, EndpointFactory
CertificateFactory, UserFactory, RoleFactory, SourceFactory, EndpointFactory, RotationPolicyFactory
def pytest_runtest_setup(item):
@ -51,6 +51,7 @@ def db(app, request):
UserFactory()
r = RoleFactory(name='admin')
UserFactory(roles=[r])
rp = RotationPolicyFactory(name='default')
_db.session.commit()
yield _db

View File

@ -15,6 +15,7 @@ from lemur.notifications.models import Notification
from lemur.users.models import User
from lemur.roles.models import Role
from lemur.endpoints.models import Policy, Endpoint
from lemur.policies.models import RotationPolicy
from .vectors import INTERNAL_VALID_SAN_STR, PRIVATE_KEY_STR
@ -137,6 +138,16 @@ class AuthorityFactory(BaseFactory):
self.roles.append(role)
class RotationPolicyFactory(BaseFactory):
"""Rotation Factory."""
name = Sequence(lambda n: 'policy{0}'.format(n))
days = 30
class Meta:
"""Factory configuration."""
model = RotationPolicy
class DestinationFactory(BaseFactory):
"""Destination factory."""
plugin_name = 'test-destination'

View File

@ -155,7 +155,7 @@ def test_certificate_input_schema(client, authority):
assert data['country'] == 'US'
assert data['location'] == 'Los Gatos'
assert len(data.keys()) == 17
assert len(data.keys()) == 18
def test_certificate_input_with_extensions(client, authority):