diff --git a/Makefile b/Makefile index f740faab..19a69236 100644 --- a/Makefile +++ b/Makefile @@ -43,6 +43,8 @@ reset-db: dropdb lemur || true @echo "--> Creating 'lemur' database" createdb -E utf-8 lemur + @echo "--> Enabling pg_trgm extension" + psql lemur -c "create extension IF NOT EXISTS pg_trgm;" @echo "--> Applying migrations" lemur db upgrade diff --git a/lemur/plugins/lemur_acme/plugin.py b/lemur/plugins/lemur_acme/plugin.py index 3f0e8314..62e647c4 100644 --- a/lemur/plugins/lemur_acme/plugin.py +++ b/lemur/plugins/lemur_acme/plugin.py @@ -44,7 +44,11 @@ class AuthorizationRecord(object): class AcmeHandler(object): def __init__(self): self.dns_providers_for_domain = {} - self.all_dns_providers = dns_provider_service.get_all_dns_providers() + try: + self.all_dns_providers = dns_provider_service.get_all_dns_providers() + except Exception as e: + current_app.logger.error("Unable to fetch DNS Providers: {}".format(e)) + self.all_dns_providers = [] def find_dns_challenge(self, authorizations): dns_challenges = [] diff --git a/lemur/tests/conftest.py b/lemur/tests/conftest.py index fcd3005d..d0175c83 100644 --- a/lemur/tests/conftest.py +++ b/lemur/tests/conftest.py @@ -240,3 +240,11 @@ def cert_builder(private_key): .public_key(private_key.public_key()) .not_valid_before(datetime.datetime(2017, 12, 22)) .not_valid_after(datetime.datetime(2040, 1, 1))) + + +@pytest.fixture(scope='function') +def aws_credentials(): + os.environ['AWS_ACCESS_KEY_ID'] = 'testing' + os.environ['AWS_SECRET_ACCESS_KEY'] = 'testing' + os.environ['AWS_SECURITY_TOKEN'] = 'testing' + os.environ['AWS_SESSION_TOKEN'] = 'testing' diff --git a/requirements-docs.txt b/requirements-docs.txt index 8937be9e..b18291d3 100644 --- a/requirements-docs.txt +++ b/requirements-docs.txt @@ -17,8 +17,8 @@ babel==2.6.0 # via sphinx bcrypt==3.1.4 billiard==3.5.0.4 blinker==1.4 -boto3==1.7.79 -botocore==1.10.84 +boto3==1.9.37 +botocore==1.12.37 celery[redis]==4.2.1 certifi==2018.10.15 cffi==1.11.5 @@ -59,7 +59,7 @@ mock==2.0.0 ndg-httpsclient==0.5.1 packaging==18.0 # via sphinx paramiko==2.4.2 -pbr==5.1.0 +pbr==5.1.1 pem==18.2.0 psycopg2==2.7.5 pyasn1-modules==0.2.2 diff --git a/requirements-tests.in b/requirements-tests.in index efb4570a..02a2b0ae 100644 --- a/requirements-tests.in +++ b/requirements-tests.in @@ -4,7 +4,7 @@ coverage factory-boy Faker freezegun -moto==1.3.4 # Issue with moto: https://github.com/spulec/moto/issues/1813 +moto nose pyflakes pytest diff --git a/requirements-tests.txt b/requirements-tests.txt index 64875903..a483c3fc 100644 --- a/requirements-tests.txt +++ b/requirements-tests.txt @@ -15,7 +15,6 @@ certifi==2018.10.15 # via requests cffi==1.11.5 # via cryptography chardet==3.0.4 # via requests click==7.0 # via flask -cookies==2.2.1 # via moto coverage==4.5.1 cryptography==2.3.1 # via moto docker-pycreds==0.3.0 # via docker @@ -36,9 +35,9 @@ jsonpickle==1.0 # via aws-xray-sdk markupsafe==1.1.0 # via jinja2 mock==2.0.0 # via moto more-itertools==4.3.0 # via pytest -moto==1.3.4 +moto==1.3.7 nose==1.3.7 -pbr==5.1.0 # via mock +pbr==5.1.1 # via mock pluggy==0.8.0 # via pytest py==1.7.0 # via pytest pyaml==17.12.1 # via moto diff --git a/requirements.in b/requirements.in index a2b920c3..5c5e2d93 100644 --- a/requirements.in +++ b/requirements.in @@ -4,22 +4,22 @@ acme alembic-autogenerate-enums arrow asyncpool -boto3==1.7.79 # Issue with moto: https://github.com/spulec/moto/issues/1813 -botocore== 1.10.84 # Issue with moto: https://github.com/spulec/moto/issues/1813 +boto3 +botocore celery[redis] certifi CloudFlare cryptography dnspython3 dyn -Flask-Bcrypt==0.7.1 -Flask-Mail==0.9.1 -Flask-Migrate==2.1.1 -Flask-Principal==0.4.0 -Flask-RESTful==0.3.6 -Flask-Script==2.0.6 +Flask-Bcrypt +Flask-Mail +Flask-Migrate +Flask-Principal +Flask-RESTful +Flask-Script Flask-SQLAlchemy -Flask==0.12 +Flask==0.12.4 Flask-Cors future gunicorn diff --git a/requirements.txt b/requirements.txt index 51d93b09..613979af 100644 --- a/requirements.txt +++ b/requirements.txt @@ -15,8 +15,8 @@ asyncpool==1.0 bcrypt==3.1.4 # via flask-bcrypt, paramiko billiard==3.5.0.4 # via celery blinker==1.4 # via flask-mail, flask-principal, raven -boto3==1.7.79 -botocore==1.10.84 +boto3==1.9.37 +botocore==1.12.37 celery[redis]==4.2.1 certifi==2018.10.15 cffi==1.11.5 # via bcrypt, cryptography, pynacl @@ -31,12 +31,12 @@ dyn==1.8.1 flask-bcrypt==0.7.1 flask-cors==3.0.6 flask-mail==0.9.1 -flask-migrate==2.1.1 +flask-migrate==2.3.0 flask-principal==0.4.0 flask-restful==0.3.6 flask-script==2.0.6 flask-sqlalchemy==2.3.2 -flask==0.12 +flask==0.12.4 future==0.17.1 gunicorn==19.9.0 idna==2.7 # via cryptography, requests @@ -55,7 +55,7 @@ marshmallow==2.16.3 mock==2.0.0 # via acme ndg-httpsclient==0.5.1 paramiko==2.4.2 -pbr==5.1.0 # via mock +pbr==5.1.1 # via mock pem==18.2.0 psycopg2==2.7.5 pyasn1-modules==0.2.2 # via python-ldap @@ -80,7 +80,7 @@ six==1.11.0 sqlalchemy-utils==0.33.6 sqlalchemy==1.2.13 # via alembic, flask-sqlalchemy, marshmallow-sqlalchemy, sqlalchemy-utils tabulate==0.8.2 -urllib3==1.24.1 # via requests +urllib3==1.24.1 # via botocore, requests vine==1.1.4 # via amqp werkzeug==0.14.1 # via flask xmltodict==0.11.0