mirror of
https://github.com/Infinidat/infi.clickhouse_orm.git
synced 2024-11-22 00:56:34 +03:00
tests for UUIDField
This commit is contained in:
parent
1388dd9e27
commit
ed62cf5da7
44
tests/test_uuid_fields.py
Normal file
44
tests/test_uuid_fields.py
Normal file
|
@ -0,0 +1,44 @@
|
||||||
|
from __future__ import unicode_literals
|
||||||
|
import unittest
|
||||||
|
from uuid import UUID
|
||||||
|
from infi.clickhouse_orm.database import Database
|
||||||
|
from infi.clickhouse_orm.fields import Int16Field, UUIDField
|
||||||
|
from infi.clickhouse_orm.models import Model
|
||||||
|
from infi.clickhouse_orm.engines import Memory
|
||||||
|
|
||||||
|
|
||||||
|
class UUIDFieldsTest(unittest.TestCase):
|
||||||
|
|
||||||
|
def setUp(self):
|
||||||
|
self.database = Database('test-db')
|
||||||
|
|
||||||
|
def tearDown(self):
|
||||||
|
self.database.drop_database()
|
||||||
|
|
||||||
|
def test_uuid_field(self):
|
||||||
|
# Create a model
|
||||||
|
class TestModel(Model):
|
||||||
|
i = Int16Field()
|
||||||
|
f = UUIDField()
|
||||||
|
engine = Memory()
|
||||||
|
self.database.create_table(TestModel)
|
||||||
|
# Check valid values (all values are the same UUID)
|
||||||
|
values = [
|
||||||
|
'12345678-1234-5678-1234-567812345678',
|
||||||
|
'{12345678-1234-5678-1234-567812345678}',
|
||||||
|
'12345678123456781234567812345678',
|
||||||
|
'urn:uuid:12345678-1234-5678-1234-567812345678',
|
||||||
|
'\x12\x34\x56\x78'*4,
|
||||||
|
(0x12345678, 0x1234, 0x5678, 0x12, 0x34, 0x567812345678),
|
||||||
|
0x12345678123456781234567812345678,
|
||||||
|
]
|
||||||
|
for index, value in enumerate(values):
|
||||||
|
rec = TestModel(i=index, f=value)
|
||||||
|
self.database.insert([rec])
|
||||||
|
for rec in TestModel.objects_in(self.database):
|
||||||
|
self.assertEqual(rec.f, UUID(values[0]))
|
||||||
|
# Check invalid values
|
||||||
|
for value in [None, 'zzz', -1, '123']:
|
||||||
|
with self.assertRaises(ValueError):
|
||||||
|
TestModel(i=1, f=value)
|
||||||
|
|
Loading…
Reference in New Issue
Block a user