Skip to content

Commit

Permalink
Merge 8f5b6d6 into edd3a41
Browse files Browse the repository at this point in the history
  • Loading branch information
gidsg committed Nov 16, 2020
2 parents edd3a41 + 8f5b6d6 commit ca31154
Show file tree
Hide file tree
Showing 4 changed files with 12 additions and 13 deletions.
2 changes: 1 addition & 1 deletion dmutils/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -2,4 +2,4 @@
from .flask_init import init_app


__version__ = '55.1.0'
__version__ = '55.1.1'
11 changes: 4 additions & 7 deletions dmutils/cloudfoundry.py
Original file line number Diff line number Diff line change
Expand Up @@ -3,15 +3,12 @@
"""

import json
import os
from typing import Union


def get_vcap_services(app, default=None) -> dict:
if app.config.get("VCAP_SERVICES") is None:
return default

vcap_services = json.loads(app.config["VCAP_SERVICES"])

return vcap_services
def get_vcap_services() -> Union[dict, KeyError]:
return json.loads(os.environ["VCAP_SERVICES"])


def get_service_by_name_from_vcap_services(vcap_services: dict, name: str) -> dict:
Expand Down
2 changes: 1 addition & 1 deletion dmutils/session.py
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ def init_app(app):
if app.config.get("DM_ENVIRONMENT") == "development":
app.config["SESSION_REDIS"] = redis.Redis()
else:
vcap_services = cf.get_vcap_services(app)
vcap_services = cf.get_vcap_services()

redis_service_name = app.config["DM_REDIS_SERVICE_NAME"]
redis_service = cf.get_service_by_name_from_vcap_services(vcap_services, redis_service_name)
Expand Down
10 changes: 6 additions & 4 deletions tests/test_session.py
Original file line number Diff line number Diff line change
@@ -1,3 +1,5 @@
import os

import flask_session
from flask import Flask
from dmutils import session
Expand All @@ -19,9 +21,7 @@ def test_session_initialises_flask_redis_session(self, _mock_session):
assert self.application.config.get('SESSION_USE_SIGNER') is True

@mock.patch("flask_session.Session", autospec=True)
def test_session_initialises_flask_redis_session_with_credentials(self, _mock_session):
self.application.config['DM_REDIS_SERVICE_NAME'] = 'digitalmarketplace_redis'
self.application.config['VCAP_SERVICES'] = """
@mock.patch.dict(os.environ, {"VCAP_SERVICES": """
{
"redis": [{
"binding_name": null,
Expand All @@ -35,7 +35,9 @@ def test_session_initialises_flask_redis_session_with_credentials(self, _mock_se
"volume_mounts": []
}]
}
"""
"""})
def test_session_initialises_flask_redis_session_with_credentials(self, _mock_session):
self.application.config['DM_REDIS_SERVICE_NAME'] = 'digitalmarketplace_redis'
session.init_app(self.application)
flask_session.Session.assert_called_once()
expected_dict = {'host': 'example.com', 'port': 6379, 'username': 'username', 'password': 'password', 'db': 0}
Expand Down

0 comments on commit ca31154

Please sign in to comment.