from __future__ import annotations import unittest from govoplan_core.core.poll_participation import ( CAPABILITY_POLL_PARTICIPATION_GATEWAY as CORE_CAPABILITY, PollGovernedInvitationCommand as CorePollGovernedInvitationCommand, PollParticipationGatewayProvider as CorePollParticipationGatewayProvider, PollParticipationPolicy as CorePollParticipationPolicy, ) from govoplan_poll.backend.capabilities import SqlPollSchedulingProvider from govoplan_poll.backend.participation import ( CAPABILITY_POLL_PARTICIPATION_GATEWAY, PollGovernedInvitationCommand, PollParticipationGatewayProvider, PollParticipationPolicy, ) class PollParticipationCompatibilityTests(unittest.TestCase): def test_legacy_imports_are_exact_core_contract_re_exports(self) -> None: self.assertIs(CORE_CAPABILITY, CAPABILITY_POLL_PARTICIPATION_GATEWAY) self.assertIs(CorePollGovernedInvitationCommand, PollGovernedInvitationCommand) self.assertIs(CorePollParticipationPolicy, PollParticipationPolicy) self.assertIs(CorePollParticipationGatewayProvider, PollParticipationGatewayProvider) def test_sql_provider_implements_the_core_contract(self) -> None: self.assertIsInstance(SqlPollSchedulingProvider(), CorePollParticipationGatewayProvider) if __name__ == "__main__": unittest.main()