Skip to content

Commit d4c685c

Browse files
committed
fix: add importorskip for permission tests
1 parent 236bb14 commit d4c685c

File tree

10 files changed

+59
-19
lines changed

10 files changed

+59
-19
lines changed

tests/lib/permissions/conftest.py

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,17 @@
11
"""Shared fixtures and helpers for permissions tests."""
22

33
from dataclasses import dataclass
4-
from typing import Optional, Union
4+
from typing import TYPE_CHECKING, Optional, Union
55
from unittest.mock import Mock
66

77
import pytest
88

9-
from mavedb.lib.permissions.actions import Action
109
from mavedb.models.enums.contribution_role import ContributionRole
1110
from mavedb.models.enums.user_role import UserRole
1211

12+
if TYPE_CHECKING:
13+
from mavedb.lib.permissions.actions import Action
14+
1315

1416
@dataclass
1517
class 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

tests/lib/permissions/test_collection.py

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,14 @@
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+
39
from typing import Callable, List
410
from unittest import mock
511

6-
import pytest
7-
812
from mavedb.lib.permissions.actions import Action
913
from mavedb.lib.permissions.collection import (
1014
_handle_add_badge_action,

tests/lib/permissions/test_core.py

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,13 @@
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

55
import 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+
711
from mavedb.lib.permissions import (
812
assert_permission,
913
collection,

tests/lib/permissions/test_experiment.py

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,14 @@
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+
39
from typing import Callable, List
410
from unittest import mock
511

6-
import pytest
7-
812
from mavedb.lib.permissions.actions import Action
913
from mavedb.lib.permissions.experiment import (
1014
_handle_add_score_set_action,

tests/lib/permissions/test_experiment_set.py

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,14 @@
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+
39
from typing import Callable, List
410
from unittest import mock
511

6-
import pytest
7-
812
from mavedb.lib.permissions.actions import Action
913
from mavedb.lib.permissions.experiment_set import (
1014
_handle_add_experiment_action,

tests/lib/permissions/test_models.py

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,11 @@
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+
39
from mavedb.lib.permissions.models import PermissionResponse
410

511

tests/lib/permissions/test_score_calibration.py

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,14 @@
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+
39
from typing import Callable, List
410
from unittest import mock
511

6-
import pytest
7-
812
from mavedb.lib.permissions.actions import Action
913
from mavedb.lib.permissions.score_calibration import (
1014
_handle_change_rank_action,

tests/lib/permissions/test_score_set.py

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,14 @@
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+
39
from typing import Callable, List
410
from unittest import mock
511

6-
import pytest
7-
812
from mavedb.lib.permissions.actions import Action
913
from mavedb.lib.permissions.score_set import (
1014
_handle_delete_action,

tests/lib/permissions/test_user.py

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,14 @@
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+
39
from typing import Callable, List
410
from unittest import mock
511

6-
import pytest
7-
812
from mavedb.lib.permissions.actions import Action
913
from mavedb.lib.permissions.user import (
1014
_handle_add_role_action,

tests/lib/permissions/test_utils.py

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,13 @@
1-
"""Tests for permissions utils module."""
1+
# ruff: noqa: E402
22

3-
from unittest.mock import Mock
3+
"""Tests for permissions utils module."""
44

55
import pytest
66

7+
pytest.importorskip("fastapi", reason="Skipping permissions tests; FastAPI is required but not installed.")
8+
9+
from unittest.mock import Mock
10+
711
from mavedb.lib.permissions.utils import deny_action_for_entity, roles_permitted
812
from mavedb.models.enums.contribution_role import ContributionRole
913
from mavedb.models.enums.user_role import UserRole

0 commit comments

Comments
 (0)