File tree Expand file tree Collapse file tree 10 files changed +59
-19
lines changed
Expand file tree Collapse file tree 10 files changed +59
-19
lines changed Original file line number Diff line number Diff line change 11"""Shared fixtures and helpers for permissions tests."""
22
33from dataclasses import dataclass
4- from typing import Optional , Union
4+ from typing import TYPE_CHECKING , Optional , Union
55from unittest .mock import Mock
66
77import pytest
88
9- from mavedb .lib .permissions .actions import Action
109from mavedb .models .enums .contribution_role import ContributionRole
1110from mavedb .models .enums .user_role import UserRole
1211
12+ if TYPE_CHECKING :
13+ from mavedb .lib .permissions .actions import Action
14+
1315
1416@dataclass
1517class PermissionTest :
@@ -33,7 +35,7 @@ class PermissionTest:
3335 entity_type : str
3436 entity_state : Optional [str ]
3537 user_type : str
36- action : Action
38+ action : " Action"
3739 should_be_permitted : Union [bool , str ]
3840 expected_code : Optional [int ] = None
3941 description : Optional [str ] = None
Original file line number Diff line number Diff line change 1+ # ruff: noqa: E402
2+
13"""Tests for Collection permissions module."""
24
5+ import pytest
6+
7+ pytest .importorskip ("fastapi" , reason = "Skipping permissions tests; FastAPI is required but not installed." )
8+
39from typing import Callable , List
410from unittest import mock
511
6- import pytest
7-
812from mavedb .lib .permissions .actions import Action
913from mavedb .lib .permissions .collection import (
1014 _handle_add_badge_action ,
Original file line number Diff line number Diff line change 1- """Tests for core permissions functionality."""
1+ # ruff: noqa: E402
22
3- from unittest . mock import Mock , patch
3+ """Tests for core permissions functionality."""
44
55import pytest
66
7+ pytest .importorskip ("fastapi" , reason = "Skipping permissions tests; FastAPI is required but not installed." )
8+
9+ from unittest .mock import Mock , patch
10+
711from mavedb .lib .permissions import (
812 assert_permission ,
913 collection ,
Original file line number Diff line number Diff line change 1+ # ruff: noqa: E402
2+
13"""Tests for Experiment permissions module."""
24
5+ import pytest
6+
7+ pytest .importorskip ("fastapi" , reason = "Skipping permissions tests; FastAPI is required but not installed." )
8+
39from typing import Callable , List
410from unittest import mock
511
6- import pytest
7-
812from mavedb .lib .permissions .actions import Action
913from mavedb .lib .permissions .experiment import (
1014 _handle_add_score_set_action ,
Original file line number Diff line number Diff line change 1+ # ruff: noqa: E402
2+
13"""Tests for ExperimentSet permissions module."""
24
5+ import pytest
6+
7+ pytest .importorskip ("fastapi" , reason = "Skipping permissions tests; FastAPI is required but not installed." )
8+
39from typing import Callable , List
410from unittest import mock
511
6- import pytest
7-
812from mavedb .lib .permissions .actions import Action
913from mavedb .lib .permissions .experiment_set import (
1014 _handle_add_experiment_action ,
Original file line number Diff line number Diff line change 1+ # ruff: noqa: E402
2+
13"""Tests for permissions models module."""
24
5+ import pytest
6+
7+ pytest .importorskip ("fastapi" , reason = "Skipping permissions tests; FastAPI is required but not installed." )
8+
39from mavedb .lib .permissions .models import PermissionResponse
410
511
Original file line number Diff line number Diff line change 1+ # ruff: noqa: E402
2+
13"""Tests for ScoreCalibration permissions module."""
24
5+ import pytest
6+
7+ pytest .importorskip ("fastapi" , reason = "Skipping permissions tests; FastAPI is required but not installed." )
8+
39from typing import Callable , List
410from unittest import mock
511
6- import pytest
7-
812from mavedb .lib .permissions .actions import Action
913from mavedb .lib .permissions .score_calibration import (
1014 _handle_change_rank_action ,
Original file line number Diff line number Diff line change 1+ # ruff: noqa: E402
2+
13"""Tests for ScoreSet permissions module."""
24
5+ import pytest
6+
7+ pytest .importorskip ("fastapi" , reason = "Skipping permissions tests; FastAPI is required but not installed." )
8+
39from typing import Callable , List
410from unittest import mock
511
6- import pytest
7-
812from mavedb .lib .permissions .actions import Action
913from mavedb .lib .permissions .score_set import (
1014 _handle_delete_action ,
Original file line number Diff line number Diff line change 1+ # ruff: noqa: E402
2+
13"""Tests for User permissions module."""
24
5+ import pytest
6+
7+ pytest .importorskip ("fastapi" , reason = "Skipping permissions tests; FastAPI is required but not installed." )
8+
39from typing import Callable , List
410from unittest import mock
511
6- import pytest
7-
812from mavedb .lib .permissions .actions import Action
913from mavedb .lib .permissions .user import (
1014 _handle_add_role_action ,
Original file line number Diff line number Diff line change 1- """Tests for permissions utils module."""
1+ # ruff: noqa: E402
22
3- from unittest . mock import Mock
3+ """Tests for permissions utils module."""
44
55import pytest
66
7+ pytest .importorskip ("fastapi" , reason = "Skipping permissions tests; FastAPI is required but not installed." )
8+
9+ from unittest .mock import Mock
10+
711from mavedb .lib .permissions .utils import deny_action_for_entity , roles_permitted
812from mavedb .models .enums .contribution_role import ContributionRole
913from mavedb .models .enums .user_role import UserRole
You can’t perform that action at this time.
0 commit comments