Skip to content

Commit 8873787

Browse files
author
Ivan Dlugos
committed
extract test utils to a separate file
1 parent 57027f4 commit 8873787

2 files changed

Lines changed: 43 additions & 37 deletions

File tree

tests/common.py

Lines changed: 42 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,42 @@
1+
import objectbox
2+
import os
3+
import shutil
4+
import pytest
5+
from tests.model import TestEntity
6+
7+
test_dir = 'testdata'
8+
9+
10+
def remove_test_dir():
11+
if os.path.exists(test_dir):
12+
shutil.rmtree(test_dir)
13+
14+
15+
# cleanup before and after each testcase
16+
@pytest.fixture(autouse=True)
17+
def run_around_tests():
18+
remove_test_dir()
19+
yield # run the test function
20+
remove_test_dir()
21+
22+
23+
def load_empty_test_objectbox(name: str = "") -> objectbox.ObjectBox:
24+
model = objectbox.Model()
25+
from objectbox.model import IdUid
26+
model.entity(TestEntity, last_property_id=IdUid(6, 1006))
27+
model.last_entity_id = IdUid(1, 1)
28+
29+
db_name = test_dir if len(name) == 0 else test_dir + "/" + name
30+
31+
return objectbox.Builder().model(model).directory(db_name).build()
32+
33+
34+
def assert_equal(actual, expected):
35+
"""Check that two TestEntity objects have the same property data"""
36+
assert actual.id == expected.id
37+
assert isinstance(expected.bool, objectbox.model.Property) or actual.bool == expected.bool
38+
assert isinstance(expected.int, objectbox.model.Property) or actual.int == expected.int
39+
assert isinstance(expected.str, objectbox.model.Property) or actual.str == expected.str
40+
assert isinstance(expected.float, objectbox.model.Property) or actual.float == expected.float
41+
assert isinstance(expected.bytes, objectbox.model.Property) or actual.bytes == expected.bytes
42+

tests/test_basics.py

Lines changed: 1 addition & 37 deletions
Original file line numberDiff line numberDiff line change
@@ -1,54 +1,18 @@
1-
import os
2-
import shutil
31
import pytest
42
import objectbox
53
from tests.model import TestEntity
6-
7-
db_name = 'testdata'
8-
9-
10-
def remove_test_db():
11-
if os.path.exists(db_name):
12-
shutil.rmtree(db_name)
13-
14-
# cleanup before and after each testcase
15-
@pytest.fixture(autouse=True)
16-
def run_around_tests():
17-
remove_test_db()
18-
yield # run the test function
19-
remove_test_db()
4+
from tests.common import load_empty_test_objectbox, assert_equal
205

216

227
def test_version():
238
info = objectbox.version_info()
249
assert len(info) > 10
2510

2611

27-
def load_empty_test_objectbox() -> objectbox.ObjectBox:
28-
remove_test_db()
29-
30-
model = objectbox.Model()
31-
from objectbox.model import IdUid
32-
model.entity(TestEntity, last_property_id=IdUid(6, 1006))
33-
model.last_entity_id = IdUid(1, 1)
34-
35-
return objectbox.Builder().model(model).directory(db_name).build()
36-
37-
3812
def test_open():
3913
load_empty_test_objectbox()
4014

4115

42-
def assert_equal(actual, expected):
43-
"""Check that two TestEntity objects have the same property data"""
44-
assert actual.id == expected.id
45-
assert isinstance(expected.bool, objectbox.model.Property) or actual.bool == expected.bool
46-
assert isinstance(expected.int, objectbox.model.Property) or actual.int == expected.int
47-
assert isinstance(expected.str, objectbox.model.Property) or actual.str == expected.str
48-
assert isinstance(expected.float, objectbox.model.Property) or actual.float == expected.float
49-
assert isinstance(expected.bytes, objectbox.model.Property) or actual.bytes == expected.bytes
50-
51-
5216
def test_box_basics():
5317
ob = load_empty_test_objectbox()
5418
box = objectbox.Box(ob, TestEntity)

0 commit comments

Comments
 (0)