Skip to content

Commit d8c9aa7

Browse files
fregataaclaude
andcommitted
fix(test): use real ActionValidators instance in notification processor fixtures
Replace MagicMock(spec=ActionValidators) with ActionValidators(rbac=RBACValidators(...)) in notification processor test fixtures, matching the pattern already used in session and vfolder processor fixtures. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
1 parent 17e83ea commit d8c9aa7

2 files changed

Lines changed: 17 additions & 14 deletions

File tree

tests/component/notification/conftest.py

Lines changed: 9 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,11 @@
11
from __future__ import annotations
22

3-
from unittest.mock import AsyncMock, MagicMock
3+
from unittest.mock import AsyncMock
44

55
import pytest
66

77
from ai.backend.manager.actions.validators import ActionValidators
8+
from ai.backend.manager.actions.validators.rbac import RBACValidators
89
from ai.backend.manager.api.rest.notification.handler import NotificationHandler
910
from ai.backend.manager.api.rest.notification.registry import register_notification_routes
1011
from ai.backend.manager.api.rest.routing import RouteRegistry
@@ -23,13 +24,13 @@ def notification_processors(
2324
) -> NotificationProcessors:
2425
repo = NotificationRepository(database_engine)
2526
service = NotificationService(repo, notification_center)
26-
# Create properly structured ActionValidators mock with async validators
27-
validators = MagicMock(spec=ActionValidators)
28-
validators.rbac = MagicMock()
29-
validators.rbac.scope = AsyncMock()
30-
validators.rbac.single_entity = AsyncMock()
31-
return NotificationProcessors(service=service, action_monitors=[], validators=validators)
32-
27+
return NotificationProcessors(
28+
service=service,
29+
action_monitors=[],
30+
validators=ActionValidators(
31+
rbac=RBACValidators(scope=AsyncMock(), single_entity=AsyncMock())
32+
),
33+
)
3334

3435
@pytest.fixture()
3536
def server_module_registries(

tests/unit/manager/services/notification/test_notification_processing.py

Lines changed: 8 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,7 @@
2222
WebhookSpec,
2323
)
2424
from ai.backend.manager.actions.validators import ActionValidators
25+
from ai.backend.manager.actions.validators.rbac import RBACValidators
2526
from ai.backend.manager.data.notification import (
2627
NotificationChannelData,
2728
NotificationRuleData,
@@ -55,12 +56,13 @@ def notification_processors(
5556
notification_center: NotificationCenter,
5657
) -> NotificationProcessors:
5758
service = NotificationService(mock_repository, notification_center)
58-
# Create properly structured ActionValidators mock with async validators
59-
validators = MagicMock(spec=ActionValidators)
60-
validators.rbac = MagicMock()
61-
validators.rbac.scope = AsyncMock()
62-
validators.rbac.single_entity = AsyncMock()
63-
return NotificationProcessors(service=service, action_monitors=[], validators=validators)
59+
return NotificationProcessors(
60+
service=service,
61+
action_monitors=[],
62+
validators=ActionValidators(
63+
rbac=RBACValidators(scope=AsyncMock(), single_entity=AsyncMock())
64+
),
65+
)
6466

6567

6668
@pytest.fixture()

0 commit comments

Comments
 (0)