Resolve public poll invitations to tenant policy
This commit is contained in:
@@ -18,6 +18,7 @@ class PollManifestTests(unittest.TestCase):
|
||||
self.assertFalse(manifest.required_capabilities)
|
||||
self.assertIn("auth.principalResolver", manifest.optional_capabilities)
|
||||
self.assertIsNotNone(manifest.route_factory)
|
||||
self.assertIsNotNone(manifest.public_tenant_resolver)
|
||||
self.assertIsNotNone(manifest.migration_spec)
|
||||
self.assertIn("poll.availability_matrix", {interface.name for interface in manifest.provides_interfaces})
|
||||
self.assertIn("poll.workflow_context", {interface.name for interface in manifest.provides_interfaces})
|
||||
|
||||
@@ -2,6 +2,7 @@ from __future__ import annotations
|
||||
|
||||
import unittest
|
||||
from datetime import datetime, timezone
|
||||
from types import SimpleNamespace
|
||||
|
||||
from sqlalchemy import create_engine
|
||||
from sqlalchemy.orm import Session, sessionmaker
|
||||
@@ -9,6 +10,7 @@ from sqlalchemy.orm import Session, sessionmaker
|
||||
from govoplan_core.db.base import Base
|
||||
from govoplan_core.core.poll import PollResponseRef, PollResponseSubmissionProvider, PollSchedulingProvider
|
||||
from govoplan_poll.backend.capabilities import SqlPollSchedulingProvider
|
||||
from govoplan_poll.backend.manifest import get_manifest
|
||||
from govoplan_poll.backend.db.models import Poll, PollInvitation, PollLifecycleTransition, PollOption, PollResponse
|
||||
from govoplan_poll.backend.schemas import (
|
||||
PollAnswerInput,
|
||||
@@ -304,6 +306,13 @@ class PollServiceTests(unittest.TestCase):
|
||||
poll_id=poll.id,
|
||||
payload=PollInvitationCreateRequest(respondent_label="External participant"),
|
||||
)
|
||||
resolver = get_manifest().public_tenant_resolver
|
||||
self.assertIsNotNone(resolver)
|
||||
request = SimpleNamespace(
|
||||
path_params={"token": token},
|
||||
url=SimpleNamespace(path=f"/api/v1/poll/public/{token}"),
|
||||
)
|
||||
self.assertEqual("tenant-1", resolver(request, self.session))
|
||||
|
||||
response = submit_poll_response_with_token(
|
||||
self.session,
|
||||
|
||||
Reference in New Issue
Block a user