-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathtest.py
80 lines (64 loc) · 2.54 KB
/
test.py
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
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
import importlib
import os
import shutil
import sys
import unittest
import field
from makemigrations import main as makemigrations
from migrate import main as migrate
import sqlite3
print('sqlite3 version', sqlite3.sqlite_version)
print('python version', sys.version)
class Test(unittest.TestCase):
def setUp(self):
with open('mock/models.py') as fh_read:
with open('models.py', 'w') as fh_write:
fh_write.write(fh_read.read())
makemigrations()
migrate()
def tearDown(self):
# careful here
os.remove('models.py')
os.remove("db.sqlite3")
shutil.rmtree('./migrations/')
def test_fields(self):
self.fieldIntField = field.IntField()
self.assertTrue(self.fieldIntField.validate(1))
self.assertFalse(self.fieldIntField.validate(1.0))
self.fieldStringfied = field.StringField()
self.assertTrue(self.fieldStringfied.validate("hello, world"))
self.assertFalse(self.fieldStringfied.validate(1))
self.fieldFloatField = field.FloatField()
self.assertTrue(self.fieldFloatField.validate(1.0))
self.assertFalse(self.fieldFloatField.validate(1))
def test_main(self):
models = importlib.import_module("models")
test11 = models.ModelExportation[0].objects.create(
fieldIntfield=1,
fieldFloatfield=2.5,
fieldStringfield="Hello, world!"
)
self.assertEqual(test11.fieldIntfield, 1)
self.assertEqual(test11.fieldFloatfield, 2.5)
self.assertEqual(test11.fieldStringfield, "Hello, world!")
test11.fieldStringfield = "Hello, there!"
self.assertEqual(test11.fieldStringfield, "Hello, there!")
test12 = models.ModelExportation[0].objects.create(
fieldIntfield=2,
fieldFloatfield=3,
fieldStringfield="Hello, my world!"
)
test2 = models.ModelExportation[1].objects.create(
fieldIntfield=1,
fieldFloatfield=2.5,
fieldStringfield="Hello, world!",
fieldForeignkeyfield=[test11,test12],
fieldForeignkeyfield2=[]
)
self.assertEqual(test2.id, 1)
self.assertListEqual(test2.fieldForeignkeyfield, [test11.id,test12.id])
self.assertListEqual(test2.fieldForeignkeyfield2, [])
test2.fieldForeignkeyfield = [test12,test11]
self.assertListEqual(test2.fieldForeignkeyfield, [test12.id, test11.id])
if __name__ == '__main__':
unittest.main()