Skip to content

Commit 06067a2

Browse files
committed
Slightly improve test layer setup by invoking the CrateLayer at runtime
This is the foundation to improve the situation later by adding support for running CrateDB through Docker or other means.
1 parent db7e147 commit 06067a2

File tree

1 file changed

+16
-10
lines changed

1 file changed

+16
-10
lines changed

src/crate/client/tests.py

Lines changed: 16 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -108,17 +108,23 @@ def setUpMocked(test):
108108
crate_port = 44209
109109
crate_transport_port = 44309
110110
local = '127.0.0.1'
111-
crate_layer = CrateLayer('crate',
112-
crate_home=crate_path(),
113-
port=crate_port,
114-
host=local,
115-
transport_port=crate_transport_port,
116-
settings=settings)
117-
118111
crate_host = "{host}:{port}".format(host=local, port=crate_port)
119112
crate_uri = "http://%s" % crate_host
120113

121114

115+
def ensure_cratedb_layer():
116+
global crate_layer
117+
118+
if crate_layer is None:
119+
crate_layer = CrateLayer('crate',
120+
crate_home=crate_path(),
121+
port=crate_port,
122+
host=local,
123+
transport_port=crate_transport_port,
124+
settings=settings)
125+
return crate_layer
126+
127+
122128
def refresh(table):
123129
with connect(crate_host) as conn:
124130
cursor = conn.cursor()
@@ -338,7 +344,7 @@ def test_suite():
338344
optionflags=flags,
339345
encoding='utf-8'
340346
)
341-
s.layer = crate_layer
347+
s.layer = ensure_cratedb_layer()
342348
suite.addTest(s)
343349

344350
s = doctest.DocFileSuite(
@@ -352,7 +358,7 @@ def test_suite():
352358
optionflags=flags,
353359
encoding='utf-8'
354360
)
355-
s.layer = crate_layer
361+
s.layer = ensure_cratedb_layer()
356362
suite.addTest(s)
357363

358364
s = doctest.DocFileSuite(
@@ -362,7 +368,7 @@ def test_suite():
362368
optionflags=flags,
363369
encoding='utf-8'
364370
)
365-
s.layer = crate_layer
371+
s.layer = ensure_cratedb_layer()
366372
suite.addTest(s)
367373

368374
return suite

0 commit comments

Comments
 (0)