Clean Campaign audit and test resources
This commit is contained in:
@@ -31,7 +31,7 @@ class FieldType(StrEnum):
|
||||
INTEGER = "integer"
|
||||
DOUBLE = "double"
|
||||
DATE = "date"
|
||||
PASSWORD = "password"
|
||||
PASSWORD = "password" # noqa: S105 # nosec B105 - field type vocabulary.
|
||||
|
||||
|
||||
class RecipientType(StrEnum):
|
||||
|
||||
@@ -81,7 +81,7 @@ def _load_delivery_info(version: CampaignVersion | None, jobs: list[CampaignJob]
|
||||
"execution_snapshot_hash": None,
|
||||
"execution_snapshot_at": None,
|
||||
"snapshot_version": None,
|
||||
"build_token": None,
|
||||
"build_token": None, # nosec B105 - absent report value, not a credential.
|
||||
"built_at": None,
|
||||
"job_manifest_sha256": None,
|
||||
"job_count": 0,
|
||||
|
||||
@@ -41,7 +41,7 @@ def _normalized_members(files: Iterable[Path | ArchiveMember]) -> list[ArchiveMe
|
||||
def create_zip_archive(
|
||||
output_path: Path,
|
||||
files: Iterable[Path | ArchiveMember],
|
||||
password: str = "",
|
||||
password: str = "", # nosec B107 - empty means an unencrypted archive.
|
||||
method: str = ZIP_METHOD_AES,
|
||||
) -> Path:
|
||||
"""Create a ZIP archive, optionally using AES or legacy ZipCrypto encryption."""
|
||||
|
||||
@@ -21,6 +21,7 @@ GROUP_ID = "group-1"
|
||||
class CampaignAccessProviderTests(unittest.TestCase):
|
||||
def test_campaign_access_provider_explains_owner_share_admin_and_missing_resources(self) -> None:
|
||||
session = _session()
|
||||
self.addCleanup(_close_session, session)
|
||||
_seed_access_subjects(session)
|
||||
owned = Campaign(id="campaign-owned", tenant_id=TENANT_ID, owner_user_id=USER_ID, external_id="owned", name="Owned campaign")
|
||||
shared = Campaign(id="campaign-shared", tenant_id=TENANT_ID, owner_user_id=OTHER_USER_ID, external_id="shared", name="Shared campaign")
|
||||
@@ -46,6 +47,7 @@ class CampaignAccessProviderTests(unittest.TestCase):
|
||||
|
||||
def test_campaign_access_provider_requires_write_share_for_write_actions(self) -> None:
|
||||
session = _session()
|
||||
self.addCleanup(_close_session, session)
|
||||
_seed_access_subjects(session)
|
||||
campaign = Campaign(id="campaign-write", tenant_id=TENANT_ID, owner_user_id=OTHER_USER_ID, external_id="write", name="Write campaign")
|
||||
session.add_all([
|
||||
@@ -74,6 +76,12 @@ def _session():
|
||||
return sessionmaker(bind=engine, future=True)()
|
||||
|
||||
|
||||
def _close_session(session) -> None:
|
||||
engine = session.get_bind()
|
||||
session.close()
|
||||
engine.dispose()
|
||||
|
||||
|
||||
def _seed_access_subjects(session) -> None:
|
||||
session.add_all([
|
||||
Account(id="account-1", email="one@example.test", normalized_email="one@example.test"),
|
||||
|
||||
Reference in New Issue
Block a user