15
15
)
16
16
from sqlalchemy .orm import relation , sessionmaker , relationship , scoped_session
17
17
from sqlalchemy .ext .declarative import declarative_base
18
+ from sqlalchemy import types
18
19
from random import randrange
19
20
import pytest
20
21
@@ -33,6 +34,10 @@ class Profile(BASE):
33
34
user = relationship ("User" , uselist = False , backref = "profile" )
34
35
35
36
37
+ class AugmentedType (types .TypeDecorator ):
38
+ impl = String
39
+
40
+
36
41
class User (BASE ):
37
42
__tablename__ = 'user'
38
43
@@ -44,8 +49,8 @@ class User(BASE):
44
49
created_at = Column (DateTime , default = datetime .utcnow , nullable = False )
45
50
enum = Column (Enum ('one' , 'two' ), nullable = False )
46
51
random = Column (Integer , default = lambda : randrange (993 , 995 ))
47
-
48
52
profile_id = Column (Integer , ForeignKey ('profile.id' ), nullable = False )
53
+ augmented = Column (AugmentedType , default = 'augmented' , nullable = False )
49
54
50
55
51
56
class Role (BASE ):
@@ -81,6 +86,7 @@ def test_typemixer():
81
86
assert user .profile
82
87
assert user .profile .user == user
83
88
assert user .enum in ('one' , 'two' )
89
+ assert user .augmented == 'augmented'
84
90
85
91
user = mixer .blend (name = 'John' , updated_at = mixer .RANDOM )
86
92
assert user .name == 'John'
0 commit comments