1[
2    {
3      "name": "Successful GET call to https://example.com",
4      "method": "GET",
5      "url": "https://example.com/",
6      "spanName": "/",
7      "spanStatus": "OK",
8      "spanKind": "Client",
9      "spanAttributes": {
10        "http.path": "/",
11        "http.method": "GET",
12        "http.host": "example.com",
13        "http.status_code": "200",
14        "http.url": "https://example.com/"
15      }
16    },
17    {
18      "name": "Successfully POST call to https://example.com",
19      "method": "POST",
20      "url": "https://example.com/",
21      "spanName": "/",
22      "spanStatus": "OK",
23      "spanKind": "Client",
24      "spanAttributes": {
25        "http.path": "/",
26        "http.method": "POST",
27        "http.host": "example.com",
28        "http.status_code": "200",
29        "http.url": "https://example.com/"
30      }
31    },
32    {
33      "name": "Name is populated as a path",
34      "method": "GET",
35      "url": "http://{host}:{port}/path/to/resource/",
36      "responseCode": 200,
37      "spanName": "/path/to/resource/",
38      "spanStatus": "OK",
39      "spanKind": "Client",
40      "spanAttributes": {
41        "http.path": "/path/to/resource/",
42        "http.method": "GET",
43        "http.host": "{host}:{port}",
44        "http.status_code": "200",
45        "http.url": "http://{host}:{port}/path/to/resource/"
46      }
47    },
48    {
49      "name": "Call that cannot resolve DNS will be reported as error span",
50      "method": "GET",
51      "url": "https://sdlfaldfjalkdfjlkajdflkajlsdjf.sdlkjafsdjfalfadslkf.com/",
52      "spanName": "/",
53      "spanStatus": "UNKNOWN",
54      "spanKind": "Client",
55      "spanAttributes": {
56        "http.path": "/",
57        "http.method": "GET",
58        "http.host": "sdlfaldfjalkdfjlkajdflkajlsdjf.sdlkjafsdjfalfadslkf.com",
59        "http.url": "https://sdlfaldfjalkdfjlkajdflkajlsdjf.sdlkjafsdjfalfadslkf.com/"
60      }
61    },
62    {
63      "name": "Response code: 199. This test case is not possible to implement on some platforms as they don't allow to return this status code. Keeping this test case for visibility, but it actually simply a fallback into 200 test case",
64      "method": "GET",
65      "url": "http://{host}:{port}/",
66      "responseCode": 200,
67      "spanName": "/",
68      "spanStatus": "OK",
69      "spanKind": "Client",
70      "spanAttributes": {
71        "http.path": "/",
72        "http.method": "GET",
73        "http.host": "{host}:{port}",
74        "http.status_code": "200",
75        "http.url": "http://{host}:{port}/"
76      }
77    },
78    {
79      "name": "Response code: 200",
80      "method": "GET",
81      "url": "http://{host}:{port}/",
82      "responseCode": 200,
83      "spanName": "/",
84      "spanStatus": "OK",
85      "spanKind": "Client",
86      "spanAttributes": {
87        "http.path": "/",
88        "http.method": "GET",
89        "http.host": "{host}:{port}",
90        "http.status_code": "200",
91        "http.url": "http://{host}:{port}/"
92      }
93    },
94    {
95      "name": "Response code: 399",
96      "method": "GET",
97      "url": "http://{host}:{port}/",
98      "responseCode": 399,
99      "spanName": "/",
100      "spanStatus": "OK",
101      "spanKind": "Client",
102      "spanAttributes": {
103        "http.path": "/",
104        "http.method": "GET",
105        "http.host": "{host}:{port}",
106        "http.status_code": "399",
107        "http.url": "http://{host}:{port}/"
108      }
109    },
110    {
111      "name": "Response code: 400",
112      "method": "GET",
113      "url": "http://{host}:{port}/",
114      "responseCode": 400,
115      "spanName": "/",
116      "spanStatus": "INVALID_ARGUMENT",
117      "spanKind": "Client",
118      "spanAttributes": {
119        "http.path": "/",
120        "http.method": "GET",
121        "http.host": "{host}:{port}",
122        "http.status_code": "400",
123        "http.url": "http://{host}:{port}/"
124      }
125    },
126    {
127      "name": "Response code: 401",
128      "method": "GET",
129      "url": "http://{host}:{port}/",
130      "responseCode": 401,
131      "spanName": "/",
132      "spanStatus": "UNAUTHENTICATED",
133      "spanKind": "Client",
134      "spanAttributes": {
135        "http.path": "/",
136        "http.method": "GET",
137        "http.host": "{host}:{port}",
138        "http.status_code": "401",
139        "http.url": "http://{host}:{port}/"
140      }
141    },
142    {
143      "name": "Response code: 403",
144      "method": "GET",
145      "url": "http://{host}:{port}/",
146      "responseCode": 403,
147      "spanName": "/",
148      "spanStatus": "PERMISSION_DENIED",
149      "spanKind": "Client",
150      "spanAttributes": {
151        "http.path": "/",
152        "http.method": "GET",
153        "http.host": "{host}:{port}",
154        "http.status_code": "403",
155        "http.url": "http://{host}:{port}/"
156      }
157    },
158    {
159      "name": "Response code: 404",
160      "method": "GET",
161      "url": "http://{host}:{port}/",
162      "responseCode": 404,
163      "spanName": "/",
164      "spanStatus": "NOT_FOUND",
165      "spanKind": "Client",
166      "spanAttributes": {
167        "http.path": "/",
168        "http.method": "GET",
169        "http.host": "{host}:{port}",
170        "http.status_code": "404",
171        "http.url": "http://{host}:{port}/"
172      }
173    },
174    {
175      "name": "Response code: 429",
176      "method": "GET",
177      "url": "http://{host}:{port}/",
178      "responseCode": 429,
179      "spanName": "/",
180      "spanStatus": "RESOURCE_EXHAUSTED",
181      "spanKind": "Client",
182      "spanAttributes": {
183        "http.path": "/",
184        "http.method": "GET",
185        "http.host": "{host}:{port}",
186        "http.status_code": "429",
187        "http.url": "http://{host}:{port}/"
188      }
189    },
190    {
191      "name": "Response code: 501",
192      "method": "GET",
193      "url": "http://{host}:{port}/",
194      "responseCode": 501,
195      "spanName": "/",
196      "spanStatus": "UNIMPLEMENTED",
197      "spanKind": "Client",
198      "spanAttributes": {
199        "http.path": "/",
200        "http.method": "GET",
201        "http.host": "{host}:{port}",
202        "http.status_code": "501",
203        "http.url": "http://{host}:{port}/"
204      }
205    },
206    {
207      "name": "Response code: 503",
208      "method": "GET",
209      "url": "http://{host}:{port}/",
210      "responseCode": 503,
211      "spanName": "/",
212      "spanStatus": "UNAVAILABLE",
213      "spanKind": "Client",
214      "spanAttributes": {
215        "http.path": "/",
216        "http.method": "GET",
217        "http.host": "{host}:{port}",
218        "http.status_code": "503",
219        "http.url": "http://{host}:{port}/"
220      }
221    },
222    {
223      "name": "Response code: 504",
224      "method": "GET",
225      "url": "http://{host}:{port}/",
226      "responseCode": 504,
227      "spanName": "/",
228      "spanStatus": "DEADLINE_EXCEEDED",
229      "spanKind": "Client",
230      "spanAttributes": {
231        "http.path": "/",
232        "http.method": "GET",
233        "http.host": "{host}:{port}",
234        "http.status_code": "504",
235        "http.url": "http://{host}:{port}/"
236      }
237    },
238    {
239      "name": "Response code: 600",
240      "method": "GET",
241      "url": "http://{host}:{port}/",
242      "responseCode": 600,
243      "spanName": "/",
244      "spanStatus": "UNKNOWN",
245      "spanKind": "Client",
246      "spanAttributes": {
247        "http.path": "/",
248        "http.method": "GET",
249        "http.host": "{host}:{port}",
250        "http.status_code": "600",
251        "http.url": "http://{host}:{port}/"
252      }
253    },
254    {
255      "name": "User agent attribute populated",
256      "method": "GET",
257      "url": "http://{host}:{port}/",
258      "headers": {
259        "User-Agent": "test-user-agent"
260      },
261      "responseCode": 200,
262      "spanName": "/",
263      "spanStatus": "OK",
264      "spanKind": "Client",
265      "spanAttributes": {
266        "http.path": "/",
267        "http.method": "GET",
268        "http.host": "{host}:{port}",
269        "http.status_code": "200",
270        "http.user_agent": "test-user-agent",
271        "http.url": "http://{host}:{port}/"
272      }
273    }
274  ]