Skip to content

Commit a53db78

Browse files
committed
Copy driver to insider testkit container
1 parent e37a5ad commit a53db78

File tree

6 files changed

+61
-56
lines changed

6 files changed

+61
-56
lines changed

testkit/backend.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3,12 +3,12 @@
33
Assumes driver and backend has been built.
44
Responsible for starting the test backend.
55
"""
6-
import os
6+
from common import DRIVER_REPO
77
import subprocess
88

99

1010
if __name__ == "__main__":
11-
npm = ["npm", "--prefix", "packages/testkit-backend"]
1211
err = open("/artifacts/backenderr.log", "w")
1312
out = open("/artifacts/backendout.log", "w")
14-
subprocess.check_call([*npm, "start"], stdout=out, stderr=err)
13+
subprocess.check_call(["npm", "start"], stdout=out, stderr=err,
14+
cwd=DRIVER_REPO + "packages/testkit-backend")

testkit/build.py

Lines changed: 20 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -3,45 +3,37 @@
33
Responsible for building driver and test backend.
44
"""
55
import os
6-
import subprocess
7-
import shutil
6+
from common import run, run_in, run_in_driver_repo, is_lite, DRIVER_REPO
87

98

10-
def run(args, env=None, cwd=None):
11-
subprocess.run(
12-
args, universal_newlines=True, stderr=subprocess.STDOUT,
13-
check=True, env=env, cwd=cwd)
9+
def copy_files_to_workdir():
10+
run(["mkdir", DRIVER_REPO])
11+
run(["cp", "-fr", ".", DRIVER_REPO])
12+
run(["chown", "-Rh", "driver:driver", DRIVER_REPO])
1413

1514

16-
def run_in(cwd):
17-
def _runIn(args, env=None):
18-
return run(args, env, cwd)
19-
return _runIn
15+
def init_monorepo():
16+
run_in_driver_repo(["rm", "-fr", "node_modules"])
17+
run_in_driver_repo(["npm", "ci"])
18+
2019

20+
def clean_and_build():
21+
run_in_driver_repo(["npm", "run", "clean"])
22+
run_in_driver_repo(["npm", "run", "build"])
2123

22-
def build_testkit_backend(isLite):
23-
run_in_testkit_backend = run_in(cwd="./packages/testkit-backend/")
24+
25+
def build_testkit_backend():
26+
run_in_testkit_backend = run_in(
27+
cwd=DRIVER_REPO + "packages/testkit-backend/")
2428
run_in_testkit_backend(["rm", "-fr", "node_modules"])
25-
neo4jdriverPath = "neo4j@../neo4j-driver"
26-
if isLite:
27-
neo4jdriverPath = "neo4j@../neo4j-driver-lite"
29+
neo4jdriverPath = "neo4j@../neo4j-driver" if not is_lite()\
30+
else "neo4j@../neo4j-driver-lite"
2831
run_in_testkit_backend(["npm", "install", neo4jdriverPath])
2932
run_in_testkit_backend(["npm", "install"])
3033

3134

32-
def init_monorepo():
33-
run(["rm", "-fr", "node_modules"])
34-
run(["npm", "ci"])
35-
36-
37-
def clean_and_build():
38-
run(["npm", "run", "clean"])
39-
run(["npm", "run", "build"])
40-
41-
4235
if __name__ == "__main__":
43-
isLite = os.environ.get("TEST_DRIVER_LITE", False)
44-
run(["ls", "-la"], cwd="/driver")
36+
copy_files_to_workdir()
4537
init_monorepo()
4638
clean_and_build()
47-
build_testkit_backend(isLite)
39+
build_testkit_backend()

testkit/common.py

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
"""
2+
Define common commands available for all the scripts
3+
"""
4+
import subprocess
5+
import os
6+
7+
8+
DRIVER_REPO = "/home/driver/repo/"
9+
10+
11+
def run(args, env=None, cwd=None):
12+
subprocess.run(
13+
args, universal_newlines=True, stderr=subprocess.STDOUT,
14+
check=True, env=env, cwd=cwd)
15+
16+
17+
def run_in(cwd):
18+
def _runIn(args, env=None):
19+
return run(args, env, cwd)
20+
return _runIn
21+
22+
23+
def run_in_driver_repo(args, env=None):
24+
return run(args, env, DRIVER_REPO)
25+
26+
27+
def is_lite():
28+
return os.environ.get("TEST_DRIVER_LITE", "False").upper() in ["TRUE", "1"]

testkit/integration.py

Lines changed: 4 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,19 +1,14 @@
1-
import subprocess
2-
import os
3-
41

5-
def run(args):
6-
subprocess.run(
7-
args, universal_newlines=True,
8-
stderr=subprocess.STDOUT, check=True)
2+
import os
3+
from common import run_in_driver_repo, is_lite
94

105

116
if __name__ == "__main__":
127
os.environ["TEST_NEO4J_IPV6_ENABLED"] = "False"
138

14-
if os.environ.get("TEST_DRIVER_LITE", False):
9+
if is_lite():
1510
ignore = "--ignore=neo4j-driver"
1611
else:
1712
ignore = "--ignore=neo4j-driver-lite"
1813

19-
run(["npm", "run", "test::integration", "--", ignore])
14+
run_in_driver_repo(["npm", "run", "test::integration", "--", ignore])

testkit/stress.py

Lines changed: 3 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,20 +1,15 @@
1-
import subprocess
21
import os
3-
4-
5-
def run(args, cwd=None):
6-
subprocess.run(
7-
args, universal_newlines=True, stderr=subprocess.STDOUT, check=True, cwd=cwd)
2+
from common import run_in_driver_repo, is_lite
83

94

105
if __name__ == "__main__":
116
os.environ["STRESS_TEST_MODE"] = "fastest"
127
os.environ["RUNNING_TIME_IN_SECONDS"] = \
138
os.environ.get("TEST_NEO4J_STRESS_DURATION", 0)
149

15-
if os.environ.get("TEST_DRIVER_LITE", False):
10+
if is_lite():
1611
ignore = "--ignore=neo4j-driver"
1712
else:
1813
ignore = "--ignore=neo4j-driver-lite"
1914

20-
run(["npm", "run", "test::stress", "--", ignore])
15+
run_in_driver_repo(["npm", "run", "test::stress", "--", ignore])

testkit/unittests.py

Lines changed: 3 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -3,19 +3,14 @@
33
Responsible for running unit tests.
44
Assumes driver has been setup by build script prior to this.
55
"""
6-
import subprocess
76
import os
8-
9-
10-
def run(args, cwd=None):
11-
subprocess.run(
12-
args, universal_newlines=True, stderr=subprocess.STDOUT, check=True, cwd=cwd)
7+
from common import run_in_driver_repo, is_lite
138

149

1510
if __name__ == "__main__":
16-
if os.environ.get("TEST_DRIVER_LITE", False):
11+
if is_lite():
1712
ignore = "--ignore=neo4j-driver"
1813
else:
1914
ignore = "--ignore=neo4j-driver-lite"
2015

21-
run(["npm", "run", "test::unit", "--", ignore])
16+
run_in_driver_repo(["npm", "run", "test::unit", "--", ignore])

0 commit comments

Comments
 (0)