Test logging events for auditable mixin

This commit is contained in:
Montana
2019-04-03 17:07:33 -04:00
parent 747a59825a
commit 86f106f6d1
4 changed files with 80 additions and 20 deletions

View File

@@ -168,20 +168,10 @@ def test_user_can_access_decorator_override(set_current_user):
assert _cloud_city()
@pytest.fixture
def mock_logger(app):
real_logger = app.logger
app.logger = FakeLogger()
yield app.logger
app.logger = real_logger
def test_user_can_access_decorator_logs_access(
set_current_user, monkeypatch, mock_logger
):
user = UserFactory.create()
user = UserFactory.create() # this emits an 'Audit Event insert' event
@user_can_access_decorator(Permissions.EDIT_PORTFOLIO_NAME)
def _do_something(*args, **kwargs):
@@ -193,9 +183,9 @@ def test_user_can_access_decorator_logs_access(
"atst.domain.authz.decorator.check_access", lambda *a, **k: True
)
_do_something()
assert len(mock_logger.messages) == 1
assert "accessed" in mock_logger.messages[0]
assert "GET" in mock_logger.messages[0]
assert len(mock_logger.messages) == 2
assert "accessed" in mock_logger.messages[1]
assert "GET" in mock_logger.messages[1]
def _unauthorized(*a, **k):
raise UnauthorizedError(user, "do something")
@@ -204,6 +194,6 @@ def test_user_can_access_decorator_logs_access(
with pytest.raises(UnauthorizedError):
_do_something()
assert len(mock_logger.messages) == 2
assert "denied access" in mock_logger.messages[1]
assert "GET" in mock_logger.messages[1]
assert len(mock_logger.messages) == 3
assert "denied access" in mock_logger.messages[2]
assert "GET" in mock_logger.messages[2]