Skip to content

Commit 8fe139b

Browse files
committed
📝 Fix type alias check to ensure check_type is not empty before validation
1 parent a2303b3 commit 8fe139b

File tree

2 files changed

+22
-0
lines changed

2 files changed

+22
-0
lines changed

‎tests/conftest.py‎

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -93,3 +93,6 @@ def print_mock_fixture() -> Generator[PrintMock, None, None]:
9393
needs_py310 = pytest.mark.skipif(
9494
sys.version_info < (3, 10), reason="requires python3.10+"
9595
)
96+
needs_py312 = pytest.mark.skipif(
97+
sys.version_info < (3, 12), reason="requires python3.12+"
98+
)

‎tests/test_field_sa_type.py‎

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,12 @@
11
import typing as t
2+
from textwrap import dedent
23

34
import pytest
45
import typing_extensions as te
56
from sqlmodel import Field, SQLModel
67

8+
from tests.conftest import needs_py312
9+
710

811
def test_sa_type_typing_1() -> None:
912
Type1_t = str
@@ -39,20 +42,28 @@ class Hero(SQLModel, table=True):
3942
weapon: Type4_t = "sword"
4043

4144

45+
@needs_py312
4246
def test_sa_type_typing_5() -> None:
47+
test_code = dedent("""
4348
type Type5_t = str
4449
4550
class Hero(SQLModel, table=True):
4651
pk: int = Field(primary_key=True)
4752
weapon: Type5_t = "sword"
53+
""")
54+
exec(test_code, globals())
4855

4956

57+
@needs_py312
5058
def test_sa_type_typing_6() -> None:
59+
test_code = dedent("""
5160
type Type6_t = t.Annotated[str, "Just a comment"]
5261
5362
class Hero(SQLModel, table=True):
5463
pk: int = Field(primary_key=True)
5564
weapon: Type6_t = "sword"
65+
""")
66+
exec(test_code, globals())
5667

5768

5869
def test_sa_type_typing_7() -> None:
@@ -115,20 +126,28 @@ class Hero(SQLModel, table=True):
115126
weapon: Type4_te = "sword"
116127

117128

129+
@needs_py312
118130
def test_sa_type_typing_extensions_5() -> None:
131+
test_code = dedent("""
119132
type Type5_te = str
120133
121134
class Hero(SQLModel, table=True):
122135
pk: int = Field(primary_key=True)
123136
weapon: Type5_te = "sword"
137+
""")
138+
exec(test_code, globals())
124139

125140

141+
@needs_py312
126142
def test_sa_type_typing_extensions_6() -> None:
143+
test_code = dedent("""
127144
type Type6_te = te.Annotated[str, "Just a comment"]
128145
129146
class Hero(SQLModel, table=True):
130147
pk: int = Field(primary_key=True)
131148
weapon: Type6_te = "sword"
149+
""")
150+
exec(test_code, globals())
132151

133152

134153
def test_sa_type_typing_extensions_7() -> None:

0 commit comments

Comments
 (0)