Release v0.1.5
This commit is contained in:
@@ -2,35 +2,28 @@ from __future__ import annotations
|
||||
|
||||
from email import policy
|
||||
from email.message import EmailMessage
|
||||
from importlib import import_module
|
||||
from types import ModuleType
|
||||
from typing import Any
|
||||
|
||||
from sqlalchemy.orm import Session
|
||||
|
||||
from govoplan_campaign.backend.db.models import Campaign, CampaignVersion
|
||||
from govoplan_core.core.optional import reraise_unless_missing_package
|
||||
from govoplan_campaign.backend.campaign.loader import load_campaign_json
|
||||
from govoplan_campaign.backend.campaign.validation import validate_campaign_config
|
||||
from govoplan_campaign.backend.persistence.campaigns import load_campaign_config_from_json
|
||||
from govoplan_campaign.backend.messages.builder import build_campaign_messages
|
||||
from govoplan_campaign.backend.messages.models import MessageAddress, MessageDraft, MessageValidationStatus
|
||||
from govoplan_campaign.backend.integrations import files_integration
|
||||
from govoplan_campaign.backend.integrations import files_integration, mail_integration
|
||||
|
||||
|
||||
class MockCampaignSendError(RuntimeError):
|
||||
pass
|
||||
|
||||
|
||||
def _mock_mailbox() -> ModuleType | None:
|
||||
try:
|
||||
return import_module("govoplan_mail.backend.dev.mock_mailbox")
|
||||
except ModuleNotFoundError as exc:
|
||||
reraise_unless_missing_package(exc, "govoplan_mail")
|
||||
return None
|
||||
def _mock_mailbox() -> Any | None:
|
||||
return mail_integration().mock_mailbox()
|
||||
|
||||
|
||||
def _require_mock_mailbox() -> ModuleType:
|
||||
def _require_mock_mailbox() -> Any:
|
||||
mailbox = _mock_mailbox()
|
||||
if mailbox is None:
|
||||
raise MockCampaignSendError("Mail module is not available")
|
||||
|
||||
Reference in New Issue
Block a user