Skip to content

Commit 427f43b

Browse files
committed
tests: format golden output as multi-line JSON
Not (yet) applying this everywhere to keep the changes reasonable, but for our new tests it is much easier to read.
1 parent 161f176 commit 427f43b

File tree

20 files changed

+2686
-178
lines changed

20 files changed

+2686
-178
lines changed

mockkubeapiserver/tests/kubeapiserver_test.go

+1-1
Original file line numberDiff line numberDiff line change
@@ -88,7 +88,7 @@ func TestGoldenTests(t *testing.T) {
8888
requestLog.RemoveUserAgent()
8989
requestLog.SortGETs()
9090

91-
requests := requestLog.FormatHTTP()
91+
requests := requestLog.FormatHTTP(true)
9292
h.CompareGoldenFile(filepath.Join(testdir, "expected.yaml"), requests)
9393
})
9494
}
Original file line numberDiff line numberDiff line change
@@ -1,44 +1,226 @@
11
GET http://kube-apiserver/api/v1
22
Accept: application/json, */*
33

4+
45
200 OK
56
Cache-Control: no-cache, private
67
Content-Length: 1820
78
Content-Type: application/json
89
Date: (removed)
910

10-
{"kind":"APIResourceList","apiVersion":"v1","groupVersion":"v1","resources":[{"name":"componentstatuses","singularName":"","namespaced":false,"version":"v1","kind":"ComponentStatus","verbs":null},{"name":"configmaps","singularName":"","namespaced":true,"version":"v1","kind":"ConfigMap","verbs":null},{"name":"endpoints","singularName":"","namespaced":true,"version":"v1","kind":"Endpoints","verbs":null},{"name":"events","singularName":"","namespaced":true,"version":"v1","kind":"Event","verbs":null},{"name":"limitranges","singularName":"","namespaced":true,"version":"v1","kind":"LimitRange","verbs":null},{"name":"namespaces","singularName":"","namespaced":false,"version":"v1","kind":"Namespace","verbs":null},{"name":"nodes","singularName":"","namespaced":false,"version":"v1","kind":"Node","verbs":null},{"name":"persistentvolumes","singularName":"","namespaced":false,"version":"v1","kind":"PersistentVolume","verbs":null},{"name":"persistentvolumeclaims","singularName":"","namespaced":true,"version":"v1","kind":"PersistentVolumeClaim","verbs":null},{"name":"pods","singularName":"","namespaced":true,"version":"v1","kind":"Pod","verbs":null},{"name":"podtemplates","singularName":"","namespaced":true,"version":"v1","kind":"PodTemplate","verbs":null},{"name":"replicationcontrollers","singularName":"","namespaced":true,"version":"v1","kind":"ReplicationController","verbs":null},{"name":"resourcequotas","singularName":"","namespaced":true,"version":"v1","kind":"ResourceQuota","verbs":null},{"name":"secrets","singularName":"","namespaced":true,"version":"v1","kind":"Secret","verbs":null},{"name":"services","singularName":"","namespaced":true,"version":"v1","kind":"Service","verbs":null},{"name":"serviceaccounts","singularName":"","namespaced":true,"version":"v1","kind":"ServiceAccount","verbs":null}]}
11+
{
12+
"apiVersion": "v1",
13+
"groupVersion": "v1",
14+
"kind": "APIResourceList",
15+
"resources": [
16+
{
17+
"kind": "ComponentStatus",
18+
"name": "componentstatuses",
19+
"namespaced": false,
20+
"singularName": "",
21+
"verbs": null,
22+
"version": "v1"
23+
},
24+
{
25+
"kind": "ConfigMap",
26+
"name": "configmaps",
27+
"namespaced": true,
28+
"singularName": "",
29+
"verbs": null,
30+
"version": "v1"
31+
},
32+
{
33+
"kind": "Endpoints",
34+
"name": "endpoints",
35+
"namespaced": true,
36+
"singularName": "",
37+
"verbs": null,
38+
"version": "v1"
39+
},
40+
{
41+
"kind": "Event",
42+
"name": "events",
43+
"namespaced": true,
44+
"singularName": "",
45+
"verbs": null,
46+
"version": "v1"
47+
},
48+
{
49+
"kind": "LimitRange",
50+
"name": "limitranges",
51+
"namespaced": true,
52+
"singularName": "",
53+
"verbs": null,
54+
"version": "v1"
55+
},
56+
{
57+
"kind": "Namespace",
58+
"name": "namespaces",
59+
"namespaced": false,
60+
"singularName": "",
61+
"verbs": null,
62+
"version": "v1"
63+
},
64+
{
65+
"kind": "Node",
66+
"name": "nodes",
67+
"namespaced": false,
68+
"singularName": "",
69+
"verbs": null,
70+
"version": "v1"
71+
},
72+
{
73+
"kind": "PersistentVolume",
74+
"name": "persistentvolumes",
75+
"namespaced": false,
76+
"singularName": "",
77+
"verbs": null,
78+
"version": "v1"
79+
},
80+
{
81+
"kind": "PersistentVolumeClaim",
82+
"name": "persistentvolumeclaims",
83+
"namespaced": true,
84+
"singularName": "",
85+
"verbs": null,
86+
"version": "v1"
87+
},
88+
{
89+
"kind": "Pod",
90+
"name": "pods",
91+
"namespaced": true,
92+
"singularName": "",
93+
"verbs": null,
94+
"version": "v1"
95+
},
96+
{
97+
"kind": "PodTemplate",
98+
"name": "podtemplates",
99+
"namespaced": true,
100+
"singularName": "",
101+
"verbs": null,
102+
"version": "v1"
103+
},
104+
{
105+
"kind": "ReplicationController",
106+
"name": "replicationcontrollers",
107+
"namespaced": true,
108+
"singularName": "",
109+
"verbs": null,
110+
"version": "v1"
111+
},
112+
{
113+
"kind": "ResourceQuota",
114+
"name": "resourcequotas",
115+
"namespaced": true,
116+
"singularName": "",
117+
"verbs": null,
118+
"version": "v1"
119+
},
120+
{
121+
"kind": "Secret",
122+
"name": "secrets",
123+
"namespaced": true,
124+
"singularName": "",
125+
"verbs": null,
126+
"version": "v1"
127+
},
128+
{
129+
"kind": "Service",
130+
"name": "services",
131+
"namespaced": true,
132+
"singularName": "",
133+
"verbs": null,
134+
"version": "v1"
135+
},
136+
{
137+
"kind": "ServiceAccount",
138+
"name": "serviceaccounts",
139+
"namespaced": true,
140+
"singularName": "",
141+
"verbs": null,
142+
"version": "v1"
143+
}
144+
]
145+
}
11146

12147
---
13148

14149
PATCH http://kube-apiserver/api/v1/namespaces/default?fieldManager=test&force=false
15150
Accept: application/json
16151
Content-Type: application/apply-patch+yaml
17152

18-
{"apiVersion":"v1","kind":"Namespace","metadata":{"name":"default"}}
19-
153+
{
154+
"apiVersion": "v1",
155+
"kind": "Namespace",
156+
"metadata": {
157+
"name": "default"
158+
}
159+
}
20160

21161
200 OK
22162
Cache-Control: no-cache, private
23163
Content-Length: 294
24164
Content-Type: application/json
25165
Date: (removed)
26166

27-
{"apiVersion":"v1","kind":"Namespace","metadata":{"creationTimestamp":"2022-01-01T00:00:00Z","labels":{"kubernetes.io/metadata.name":"default"},"name":"default","resourceVersion":"1","uid":"00000000-0000-0000-0000-000000000001"},"spec":{"finalizers":["kubernetes"]},"status":{"phase":"Active"}}
167+
{
168+
"apiVersion": "v1",
169+
"kind": "Namespace",
170+
"metadata": {
171+
"creationTimestamp": "2022-01-01T00:00:00Z",
172+
"labels": {
173+
"kubernetes.io/metadata.name": "default"
174+
},
175+
"name": "default",
176+
"resourceVersion": "1",
177+
"uid": "00000000-0000-0000-0000-000000000001"
178+
},
179+
"spec": {
180+
"finalizers": [
181+
"kubernetes"
182+
]
183+
},
184+
"status": {
185+
"phase": "Active"
186+
}
187+
}
28188

29189
---
30190

31191
PATCH http://kube-apiserver/api/v1/namespaces/default/configmaps/config?fieldManager=test&force=false
32192
Accept: application/json
33193
Content-Type: application/apply-patch+yaml
34194

35-
{"apiVersion":"v1","data":{"foo":"bar"},"kind":"ConfigMap","metadata":{"name":"config","namespace":"default"}}
36-
195+
{
196+
"apiVersion": "v1",
197+
"data": {
198+
"foo": "bar"
199+
},
200+
"kind": "ConfigMap",
201+
"metadata": {
202+
"name": "config",
203+
"namespace": "default"
204+
}
205+
}
37206

38207
200 OK
39208
Cache-Control: no-cache, private
40209
Content-Length: 220
41210
Content-Type: application/json
42211
Date: (removed)
43212

44-
{"apiVersion":"v1","data":{"foo":"bar"},"kind":"ConfigMap","metadata":{"creationTimestamp":"2022-01-01T00:00:01Z","name":"config","namespace":"default","resourceVersion":"2","uid":"00000000-0000-0000-0000-000000000002"}}
213+
{
214+
"apiVersion": "v1",
215+
"data": {
216+
"foo": "bar"
217+
},
218+
"kind": "ConfigMap",
219+
"metadata": {
220+
"creationTimestamp": "2022-01-01T00:00:01Z",
221+
"name": "config",
222+
"namespace": "default",
223+
"resourceVersion": "2",
224+
"uid": "00000000-0000-0000-0000-000000000002"
225+
}
226+
}

0 commit comments

Comments
 (0)