1
+ import json
1
2
import subprocess
2
3
import time
3
4
@@ -22,7 +23,7 @@ def test_spawn_basic(
22
23
r = api_request .post ("/users/" + jupyter_user + "/server" )
23
24
assert r .status_code in (201 , 202 )
24
25
try :
25
- # check successfull spawn
26
+ # check successful spawn
26
27
server_model = _wait_for_user_to_spawn (
27
28
api_request , jupyter_user , request_data ["test_timeout" ]
28
29
)
@@ -36,6 +37,32 @@ def test_spawn_basic(
36
37
assert r .status_code == 200
37
38
assert "version" in r .json ()
38
39
40
+ # check user pod's labels
41
+ pod_json = subprocess .check_output (
42
+ [
43
+ "kubectl" ,
44
+ "get" ,
45
+ "--output=json" ,
46
+ pod_name ,
47
+ ]
48
+ )
49
+ pod = json .loads (pod_json )
50
+ pod_labels = pod ["metadata" ]["labels" ]
51
+
52
+ # check for modern labels
53
+ assert pod_labels ["app.kubernetes.io/name" ] == "jupyterhub"
54
+ assert "app.kubernetes.io/instance" in pod_labels
55
+ assert pod_labels ["app.kubernetes.io/component" ] == "singleuser-server"
56
+ assert pod_labels ["helm.sh/chart" ].startswith ("jupyterhub-" )
57
+ assert "app.kubernetes.io/version" in pod_labels
58
+ assert pod_labels ["app.kubernetes.io/managed-by" ] == "kubespawner"
59
+
60
+ # check for legacy labels still meant to be around
61
+ assert pod_labels ["app" ] == "jupyterhub"
62
+ assert "release" in pod_labels
63
+ assert pod_labels ["chart" ].startswith ("jupyterhub-" )
64
+ assert pod_labels ["component" ] == "singleuser-server"
65
+
39
66
# check user pod's extra environment variable
40
67
pod_name = server_model ["state" ]["pod_name" ]
41
68
c = subprocess .run (
0 commit comments