forked from tortoise/tortoise-orm
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathtest_uuid.py
More file actions
46 lines (39 loc) · 1.7 KB
/
test_uuid.py
File metadata and controls
46 lines (39 loc) · 1.7 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
import uuid
from tests import testmodels
from tortoise.contrib import test
from tortoise.exceptions import IntegrityError
class TestUUIDFields(test.TestCase):
async def test_empty(self):
with self.assertRaises(IntegrityError):
await testmodels.UUIDFields.create()
async def test_create(self):
data = uuid.uuid4()
obj0 = await testmodels.UUIDFields.create(data=data)
self.assertIsInstance(obj0.data, uuid.UUID)
self.assertIsInstance(obj0.data_auto, uuid.UUID)
self.assertEqual(obj0.data_null, None)
obj = await testmodels.UUIDFields.get(id=obj0.id)
self.assertIsInstance(obj.data, uuid.UUID)
self.assertIsInstance(obj.data_auto, uuid.UUID)
self.assertEqual(obj.data, data)
self.assertEqual(obj.data_null, None)
await obj.save()
obj2 = await testmodels.UUIDFields.get(id=obj.id)
self.assertEqual(obj, obj2)
await obj.delete()
obj = await testmodels.UUIDFields.filter(id=obj0.id).first()
self.assertEqual(obj, None)
async def test_update(self):
data = uuid.uuid4()
data2 = uuid.uuid4()
obj0 = await testmodels.UUIDFields.create(data=data)
await testmodels.UUIDFields.filter(id=obj0.id).update(data=data2)
obj = await testmodels.UUIDFields.get(id=obj0.id)
self.assertEqual(obj.data, data2)
self.assertEqual(obj.data_null, None)
async def test_create_not_null(self):
data = uuid.uuid4()
obj0 = await testmodels.UUIDFields.create(data=data, data_null=data)
obj = await testmodels.UUIDFields.get(id=obj0.id)
self.assertEqual(obj.data, data)
self.assertEqual(obj.data_null, data)