@@ -10,6 +10,7 @@ KUBE_CONFIG_FOLDER = ${HOME}/.kube
10
10
KIND_KUBE_CONFIG_FOLDER = $(KUBE_CONFIG_FOLDER ) /kind
11
11
MINIKUBE_KUBE_CONFIG_FOLDER = $(KUBE_CONFIG_FOLDER ) /minikube
12
12
DOCKERFILEPATH := ${ROOT_DIR}/tests/Dockerfile
13
+ PYTHON ?= python3
13
14
IP_FAMILY = dual
14
15
IC_TYPE ?= nginx-ingress # # The Ingress Controller type to use, "nginx-ingress" or "nginx-plus-ingress". Defaults to "nginx-ingress"
15
16
SHOW_IC_LOGS ?= no # # Should the tests show the Ingress Controller logs on failure, "yes" or "no". Defaults to "no"
@@ -36,7 +37,7 @@ help: ## Show available make targets
36
37
37
38
.PHONY : build
38
39
build : # # Run build
39
- docker build -t $(TEST_PREFIX ) :$(TEST_TAG ) -f $(DOCKERFILEPATH ) ..
40
+ docker build -t $(TEST_PREFIX ) :$(TEST_TAG ) -f $(DOCKERFILEPATH ) $( ROOT_DIR )
40
41
41
42
42
43
$(KUBE_CONFIG_FOLDER ) :
@@ -51,9 +52,49 @@ $(MINIKUBE_KUBE_CONFIG_FOLDER): $(KUBE_CONFIG_FOLDER)
51
52
@mkdir -p $@
52
53
53
54
55
+ .PHONY : setup-venv
56
+ setup-venv :
57
+ $(PYTHON ) -m venv $(ROOT_DIR ) /tests/venv;
58
+ source $(ROOT_DIR ) /tests/venv/bin/activate \
59
+ && pip install --require-hashes -r requirements.txt --no-deps \
60
+ && playwright install --with-deps chromium
61
+
62
+
63
+ .PHONY : clean-venv
64
+ clean-venv :
65
+ @rm -rf $(ROOT_DIR ) /tests/venv
66
+
67
+
68
+ .PHONY : run-local-tests
69
+ run-local-tests : # # Run tests
70
+ source $(ROOT_DIR ) /tests/venv/bin/activate \
71
+ && pytest \
72
+ --image=$(BUILD_IMAGE ) \
73
+ --image-pull-policy=$(PULL_POLICY ) \
74
+ --deployment-type=$(DEPLOYMENT_TYPE ) \
75
+ --ic-type=$(IC_TYPE ) \
76
+ --service=$(SERVICE ) \
77
+ --node-ip=$(NODE_IP ) \
78
+ --show-ic-logs=$(SHOW_IC_LOGS ) \
79
+ --plus-jwt=$(PLUS_JWT ) \
80
+ -sv \
81
+ $(PYTEST_ARGS )
82
+
83
+
54
84
.PHONY : run-tests
55
85
run-tests : # # Run tests
56
- docker run --rm -v $(KUBE_CONFIG_FOLDER ) :/root/.kube $(TEST_PREFIX ) :$(TEST_TAG ) --context=$(CONTEXT ) --image=$(BUILD_IMAGE ) --image-pull-policy=$(PULL_POLICY ) --deployment-type=$(DEPLOYMENT_TYPE ) --ic-type=$(IC_TYPE ) --service=$(SERVICE ) --node-ip=$(NODE_IP ) --show-ic-logs=$(SHOW_IC_LOGS ) $(PYTEST_ARGS )
86
+ docker run --rm -v $(KUBE_CONFIG_FOLDER ) :/root/.kube \
87
+ $(TEST_PREFIX ) :$(TEST_TAG ) \
88
+ --context=$(CONTEXT ) \
89
+ --image=$(BUILD_IMAGE ) \
90
+ --image-pull-policy=$(PULL_POLICY ) \
91
+ --deployment-type=$(DEPLOYMENT_TYPE ) \
92
+ --ic-type=$(IC_TYPE ) \
93
+ --service=$(SERVICE ) \
94
+ --node-ip=$(NODE_IP ) \
95
+ --show-ic-logs=$(SHOW_IC_LOGS ) \
96
+ --plus-jwt=$(PLUS_JWT ) \
97
+ $(PYTEST_ARGS )
57
98
58
99
59
100
.PHONY : run-tests-in-kind
0 commit comments