Conditionally skip tests related to audit log

This commit is contained in:
graham-dds 2019-10-18 11:27:02 -04:00
parent 1ac9243749
commit a1c672d89f
9 changed files with 34 additions and 0 deletions

View File

@ -38,6 +38,19 @@ def app(request):
ctx.pop()
@pytest.fixture(autouse=True)
def skip_audit_log(request):
"""
Conditionally skip tests marked with 'audit_log' based on the
AUDIT_LOG_FEATURE_TOGGLE config value.
"""
config = make_config()
if request.node.get_closest_marker("audit_log"):
use_audit_log = config.get("AUDIT_LOG_FEATURE_TOGGLE", False)
if not use_audit_log:
pytest.skip("audit log feature flag disabled")
@pytest.fixture(scope="function")
def no_debug_app(request):
config = make_config(direct_config={"DEBUG": False})

View File

@ -29,6 +29,7 @@ def developer():
return UserFactory.create()
@pytest.mark.audit_log
def test_paginate_audit_log():
user = UserFactory.create()
for _ in range(100):
@ -38,6 +39,7 @@ def test_paginate_audit_log():
assert len(events) == 25
@pytest.mark.audit_log
def test_paginate_ws_audit_log():
portfolio = PortfolioFactory.create()
application = ApplicationFactory.create(portfolio=portfolio)
@ -52,6 +54,7 @@ def test_paginate_ws_audit_log():
assert len(events) == 25
@pytest.mark.audit_log
def test_portfolio_audit_log_only_includes_current_portfolio_events():
owner = UserFactory.create()
portfolio = PortfolioFactory.create(owner=owner)
@ -69,6 +72,7 @@ def test_portfolio_audit_log_only_includes_current_portfolio_events():
)
@pytest.mark.audit_log
def test_get_portfolio_events_includes_app_and_env_events():
owner = UserFactory.create()
# add portfolio level events
@ -120,6 +124,7 @@ def test_get_application_events():
assert "portfolio" not in resource_types
@pytest.mark.audit_log
def test_get_all_includes_ccpo_user_changes():
user = UserFactory.create()
initial_audit_log = AuditLog.get_all_events()

View File

@ -148,6 +148,7 @@ def test_resend_invitation(session):
assert second_invite.is_pending
@pytest.mark.audit_log
def test_audit_event_for_accepted_invite():
portfolio = PortfolioFactory.create()
user = UserFactory.create()

View File

@ -1,3 +1,5 @@
import pytest
from atst.domain.application_roles import ApplicationRoles
from atst.models import ApplicationRoleStatus
from atst.models import AuditEvent
@ -34,6 +36,7 @@ def test_application_members_excludes_deleted(session):
assert app.members[0].id == member_role.id
@pytest.mark.audit_log
def test_audit_event_for_application_deletion(session):
app = ApplicationFactory.create()
app.deleted = True

View File

@ -1,3 +1,5 @@
import pytest
from atst.domain.permission_sets import PermissionSets
from atst.domain.environment_roles import EnvironmentRoles
from atst.models.audit_event import AuditEvent
@ -5,6 +7,7 @@ from atst.models.audit_event import AuditEvent
from tests.factories import *
@pytest.mark.audit_log
def test_has_application_role_history(session):
owner = UserFactory.create()
user = UserFactory.create()

View File

@ -32,6 +32,7 @@ def test_add_user_to_environment():
assert developer in dev_environment.users
@pytest.mark.audit_log
def test_audit_event_for_environment_deletion(session):
env = EnvironmentFactory.create(application=ApplicationFactory.create())
env.deleted = True

View File

@ -12,6 +12,7 @@ from tests.factories import *
from atst.domain.portfolio_roles import PortfolioRoles
@pytest.mark.audit_log
def test_has_no_portfolio_role_history(session):
owner = UserFactory.create()
user = UserFactory.create()
@ -29,6 +30,7 @@ def test_has_no_portfolio_role_history(session):
assert not create_event.changed_state
@pytest.mark.audit_log
def test_has_portfolio_role_history(session):
owner = UserFactory.create()
user = UserFactory.create()
@ -56,6 +58,7 @@ def test_has_portfolio_role_history(session):
assert set(new_state) == PortfolioRoles.DEFAULT_PORTFOLIO_PERMISSION_SETS
@pytest.mark.audit_log
def test_has_portfolio_status_history(session):
owner = UserFactory.create()
user = UserFactory.create()
@ -82,6 +85,7 @@ def test_has_portfolio_status_history(session):
assert changed_events[0].changed_state["status"][1] == "active"
@pytest.mark.audit_log
def test_has_no_env_role_history(session):
owner = UserFactory.create()
user = UserFactory.create()
@ -104,6 +108,7 @@ def test_has_no_env_role_history(session):
assert not create_event.changed_state
@pytest.mark.audit_log
def test_has_env_role_history(session):
user = UserFactory.create()
application = ApplicationFactory.create()

View File

@ -137,6 +137,7 @@ def post_url_assert_status(no_debug_client, user_session):
# ccpo.activity_history
@pytest.mark.audit_log
def test_atst_activity_history_access(get_url_assert_status):
ccpo = user_with(PermissionSets.VIEW_AUDIT_LOG)
rando = user_with()

View File

@ -18,12 +18,14 @@ def test_dollar_fomatter(input, expected):
assert dollars(input) == expected
@pytest.mark.audit_log
def test_render_audit_event_with_known_resource_type():
event = AuditEvent(resource_type="user")
result = renderAuditEvent(event)
assert "<article" in result
@pytest.mark.audit_log
def test_render_audit_event_with_unknown_resource_type():
event = AuditEvent(resource_type="boat")
result = renderAuditEvent(event)