@typespec/http-specs 0.1.0-alpha.9 → 0.1.0-dev.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +241 -3
- package/README.md +11 -3
- package/dist/specs/authentication/noauth/union/mockapi.d.ts +3 -0
- package/dist/specs/authentication/noauth/union/mockapi.d.ts.map +1 -0
- package/dist/specs/authentication/noauth/union/mockapi.js +25 -0
- package/dist/specs/authentication/noauth/union/mockapi.js.map +1 -0
- package/dist/specs/documentation/mockapi.d.ts +3 -0
- package/dist/specs/documentation/mockapi.d.ts.map +1 -0
- package/dist/specs/documentation/mockapi.js +40 -0
- package/dist/specs/documentation/mockapi.js.map +1 -0
- package/dist/specs/encode/array/mockapi.d.ts +3 -0
- package/dist/specs/encode/array/mockapi.d.ts.map +1 -0
- package/dist/specs/encode/array/mockapi.js +33 -0
- package/dist/specs/encode/array/mockapi.js.map +1 -0
- package/dist/specs/encode/bytes/mockapi.js +16 -24
- package/dist/specs/encode/bytes/mockapi.js.map +1 -1
- package/dist/specs/encode/datetime/mockapi.js +2 -2
- package/dist/specs/encode/datetime/mockapi.js.map +1 -1
- package/dist/specs/encode/duration/mockapi.d.ts.map +1 -1
- package/dist/specs/encode/duration/mockapi.js +110 -3
- package/dist/specs/encode/duration/mockapi.js.map +1 -1
- package/dist/specs/encode/numeric/mockapi.js +2 -2
- package/dist/specs/encode/numeric/mockapi.js.map +1 -1
- package/dist/specs/helper.d.ts +2 -2
- package/dist/specs/helper.d.ts.map +1 -1
- package/dist/specs/parameters/basic/mockapi.d.ts.map +1 -1
- package/dist/specs/parameters/basic/mockapi.js +3 -3
- package/dist/specs/parameters/basic/mockapi.js.map +1 -1
- package/dist/specs/parameters/body-optionality/mockapi.d.ts.map +1 -1
- package/dist/specs/parameters/body-optionality/mockapi.js +14 -4
- package/dist/specs/parameters/body-optionality/mockapi.js.map +1 -1
- package/dist/specs/parameters/collection-format/mockapi.js +4 -15
- package/dist/specs/parameters/collection-format/mockapi.js.map +1 -1
- package/dist/specs/parameters/path/mockapi.d.ts +3 -0
- package/dist/specs/parameters/path/mockapi.d.ts.map +1 -0
- package/dist/specs/parameters/path/mockapi.js +29 -0
- package/dist/specs/parameters/path/mockapi.js.map +1 -0
- package/dist/specs/parameters/query/mockapi.d.ts +3 -0
- package/dist/specs/parameters/query/mockapi.d.ts.map +1 -0
- package/dist/specs/parameters/query/mockapi.js +14 -0
- package/dist/specs/parameters/query/mockapi.js.map +1 -0
- package/dist/specs/parameters/spread/mockapi.d.ts.map +1 -1
- package/dist/specs/parameters/spread/mockapi.js +19 -19
- package/dist/specs/parameters/spread/mockapi.js.map +1 -1
- package/dist/specs/payload/json-merge-patch/mockapi.js +4 -4
- package/dist/specs/payload/json-merge-patch/mockapi.js.map +1 -1
- package/dist/specs/payload/media-type/mockapi.js +2 -2
- package/dist/specs/payload/media-type/mockapi.js.map +1 -1
- package/dist/specs/payload/multipart/mockapi.d.ts.map +1 -1
- package/dist/specs/payload/multipart/mockapi.js +189 -60
- package/dist/specs/payload/multipart/mockapi.js.map +1 -1
- package/dist/specs/payload/pageable/mockapi.d.ts.map +1 -1
- package/dist/specs/payload/pageable/mockapi.js +594 -14
- package/dist/specs/payload/pageable/mockapi.js.map +1 -1
- package/dist/specs/payload/xml/mockapi.d.ts +3 -0
- package/dist/specs/payload/xml/mockapi.d.ts.map +1 -1
- package/dist/specs/payload/xml/mockapi.js +35 -5
- package/dist/specs/payload/xml/mockapi.js.map +1 -1
- package/dist/specs/response/status-code-range/mockapi.d.ts.map +1 -1
- package/dist/specs/response/status-code-range/mockapi.js +5 -9
- package/dist/specs/response/status-code-range/mockapi.js.map +1 -1
- package/dist/specs/routes/mockapi.js +16 -16
- package/dist/specs/routes/mockapi.js.map +1 -1
- package/dist/specs/serialization/encoded-name/json/mockapi.js +1 -1
- package/dist/specs/serialization/encoded-name/json/mockapi.js.map +1 -1
- package/dist/specs/server/versions/not-versioned/mockapi.js +1 -1
- package/dist/specs/server/versions/not-versioned/mockapi.js.map +1 -1
- package/dist/specs/server/versions/versioned/mockapi.js +8 -12
- package/dist/specs/server/versions/versioned/mockapi.js.map +1 -1
- package/dist/specs/special-words/mockapi.d.ts.map +1 -1
- package/dist/specs/special-words/mockapi.js +59 -6
- package/dist/specs/special-words/mockapi.js.map +1 -1
- package/dist/specs/streaming/jsonl/mockapi.d.ts +3 -0
- package/dist/specs/streaming/jsonl/mockapi.d.ts.map +1 -0
- package/dist/specs/streaming/jsonl/mockapi.js +30 -0
- package/dist/specs/streaming/jsonl/mockapi.js.map +1 -0
- package/dist/specs/type/array/mockapi.js +1 -1
- package/dist/specs/type/array/mockapi.js.map +1 -1
- package/dist/specs/type/dictionary/mockapi.js +1 -1
- package/dist/specs/type/dictionary/mockapi.js.map +1 -1
- package/dist/specs/type/enum/extensible/mockapi.js +1 -1
- package/dist/specs/type/enum/extensible/mockapi.js.map +1 -1
- package/dist/specs/type/enum/fixed/mockapi.js +2 -2
- package/dist/specs/type/enum/fixed/mockapi.js.map +1 -1
- package/dist/specs/type/file/mockapi.d.ts +3 -0
- package/dist/specs/type/file/mockapi.d.ts.map +1 -0
- package/dist/specs/type/file/mockapi.js +187 -0
- package/dist/specs/type/file/mockapi.js.map +1 -0
- package/dist/specs/type/model/empty/mockapi.js +2 -2
- package/dist/specs/type/model/empty/mockapi.js.map +1 -1
- package/dist/specs/type/model/inheritance/enum-discriminator/mockapi.js +1 -1
- package/dist/specs/type/model/inheritance/enum-discriminator/mockapi.js.map +1 -1
- package/dist/specs/type/model/inheritance/nested-discriminator/mockapi.js +2 -2
- package/dist/specs/type/model/inheritance/nested-discriminator/mockapi.js.map +1 -1
- package/dist/specs/type/model/inheritance/not-discriminated/mockapi.js +2 -2
- package/dist/specs/type/model/inheritance/not-discriminated/mockapi.js.map +1 -1
- package/dist/specs/type/model/inheritance/recursive/mockapi.js +1 -1
- package/dist/specs/type/model/inheritance/recursive/mockapi.js.map +1 -1
- package/dist/specs/type/model/inheritance/single-discriminator/mockapi.js +2 -2
- package/dist/specs/type/model/inheritance/single-discriminator/mockapi.js.map +1 -1
- package/dist/specs/type/model/usage/mockapi.js +4 -4
- package/dist/specs/type/model/usage/mockapi.js.map +1 -1
- package/dist/specs/type/model/visibility/mockapi.js +9 -10
- package/dist/specs/type/model/visibility/mockapi.js.map +1 -1
- package/dist/specs/type/property/additional-properties/mockapi.js +9 -6
- package/dist/specs/type/property/additional-properties/mockapi.js.map +1 -1
- package/dist/specs/type/property/nullable/mockapi.js +2 -6
- package/dist/specs/type/property/nullable/mockapi.js.map +1 -1
- package/dist/specs/type/property/optionality/mockapi.js +1 -1
- package/dist/specs/type/property/optionality/mockapi.js.map +1 -1
- package/dist/specs/type/property/value-types/mockapi.js +3 -3
- package/dist/specs/type/property/value-types/mockapi.js.map +1 -1
- package/dist/specs/type/scalar/mockapi.js +9 -9
- package/dist/specs/type/scalar/mockapi.js.map +1 -1
- package/dist/specs/type/union/discriminated/mockapi.d.ts +3 -0
- package/dist/specs/type/union/discriminated/mockapi.d.ts.map +1 -0
- package/dist/specs/type/union/discriminated/mockapi.js +212 -0
- package/dist/specs/type/union/discriminated/mockapi.js.map +1 -0
- package/dist/specs/type/union/mockapi.js +2 -2
- package/dist/specs/type/union/mockapi.js.map +1 -1
- package/dist/specs/versioning/added/mockapi.js +6 -6
- package/dist/specs/versioning/added/mockapi.js.map +1 -1
- package/dist/specs/versioning/madeOptional/mockapi.js +2 -2
- package/dist/specs/versioning/madeOptional/mockapi.js.map +1 -1
- package/dist/specs/versioning/removed/mockapi.js +11 -11
- package/dist/specs/versioning/removed/mockapi.js.map +1 -1
- package/dist/specs/versioning/renamedFrom/mockapi.js +5 -5
- package/dist/specs/versioning/renamedFrom/mockapi.js.map +1 -1
- package/dist/specs/versioning/returnTypeChangedFrom/mockapi.js +1 -1
- package/dist/specs/versioning/returnTypeChangedFrom/mockapi.js.map +1 -1
- package/dist/specs/versioning/typeChangedFrom/mockapi.js +3 -3
- package/dist/specs/versioning/typeChangedFrom/mockapi.js.map +1 -1
- package/manifest.json +11200 -0
- package/package.json +30 -19
- package/smoke/petstore/main.tsp +96 -0
- package/smoke/todoapp/main.tsp +293 -0
- package/spec-summary.md +1745 -121
- package/specs/authentication/noauth/union/main.tsp +30 -0
- package/specs/authentication/noauth/union/mockapi.ts +27 -0
- package/specs/documentation/main.tsp +158 -0
- package/specs/documentation/mockapi.ts +59 -0
- package/specs/encode/array/main.tsp +339 -0
- package/specs/encode/array/mockapi.ts +83 -0
- package/specs/encode/bytes/main.tsp +29 -20
- package/specs/encode/bytes/mockapi.ts +13 -31
- package/specs/encode/datetime/main.tsp +2 -7
- package/specs/encode/datetime/mockapi.ts +2 -2
- package/specs/encode/duration/main.tsp +420 -7
- package/specs/encode/duration/mockapi.ts +216 -2
- package/specs/encode/numeric/mockapi.ts +2 -2
- package/specs/parameters/basic/mockapi.ts +3 -3
- package/specs/parameters/body-optionality/main.tsp +2 -0
- package/specs/parameters/body-optionality/mockapi.ts +24 -4
- package/specs/parameters/collection-format/main.tsp +5 -25
- package/specs/parameters/collection-format/mockapi.ts +4 -16
- package/specs/parameters/path/main.tsp +48 -0
- package/specs/parameters/path/mockapi.ts +34 -0
- package/specs/parameters/query/main.tsp +22 -0
- package/specs/parameters/query/mockapi.ts +15 -0
- package/specs/parameters/spread/mockapi.ts +19 -19
- package/specs/payload/json-merge-patch/main.tsp +2 -2
- package/specs/payload/json-merge-patch/mockapi.ts +4 -4
- package/specs/payload/media-type/mockapi.ts +2 -2
- package/specs/payload/multipart/main.tsp +230 -32
- package/specs/payload/multipart/mockapi.ts +200 -59
- package/specs/payload/pageable/main.tsp +601 -0
- package/specs/payload/pageable/mockapi.ts +656 -14
- package/specs/payload/xml/main.tsp +89 -0
- package/specs/payload/xml/mockapi.ts +44 -5
- package/specs/response/status-code-range/main.tsp +2 -2
- package/specs/response/status-code-range/mockapi.ts +5 -9
- package/specs/routes/main.tsp +29 -29
- package/specs/routes/mockapi.ts +16 -16
- package/specs/serialization/encoded-name/json/main.tsp +1 -1
- package/specs/serialization/encoded-name/json/mockapi.ts +1 -1
- package/specs/server/endpoint/not-defined/main.tsp +1 -3
- package/specs/server/path/multiple/main.tsp +3 -5
- package/specs/server/versions/not-versioned/mockapi.ts +1 -1
- package/specs/server/versions/versioned/main.tsp +1 -1
- package/specs/server/versions/versioned/mockapi.ts +6 -12
- package/specs/special-headers/conditional-request/main.tsp +1 -1
- package/specs/special-headers/repeatability/main.tsp +2 -2
- package/specs/special-words/main.tsp +118 -6
- package/specs/special-words/mockapi.ts +62 -6
- package/specs/streaming/jsonl/main.tsp +33 -0
- package/specs/streaming/jsonl/mockapi.ts +32 -0
- package/specs/type/array/mockapi.ts +1 -1
- package/specs/type/dictionary/mockapi.ts +1 -1
- package/specs/type/enum/extensible/main.tsp +18 -2
- package/specs/type/enum/extensible/mockapi.ts +1 -1
- package/specs/type/enum/fixed/main.tsp +15 -3
- package/specs/type/enum/fixed/mockapi.ts +2 -2
- package/specs/type/file/main.tsp +109 -0
- package/specs/type/file/mockapi.ts +200 -0
- package/specs/type/model/empty/mockapi.ts +2 -2
- package/specs/type/model/inheritance/enum-discriminator/mockapi.ts +1 -1
- package/specs/type/model/inheritance/nested-discriminator/mockapi.ts +2 -2
- package/specs/type/model/inheritance/not-discriminated/mockapi.ts +2 -2
- package/specs/type/model/inheritance/recursive/mockapi.ts +1 -1
- package/specs/type/model/inheritance/single-discriminator/mockapi.ts +2 -2
- package/specs/type/model/usage/mockapi.ts +4 -4
- package/specs/type/model/visibility/main.tsp +9 -17
- package/specs/type/model/visibility/mockapi.ts +9 -10
- package/specs/type/property/additional-properties/main.tsp +17 -17
- package/specs/type/property/additional-properties/mockapi.ts +10 -10
- package/specs/type/property/nullable/mockapi.ts +7 -8
- package/specs/type/property/optionality/mockapi.ts +1 -1
- package/specs/type/property/value-types/mockapi.ts +3 -3
- package/specs/type/scalar/main.tsp +58 -9
- package/specs/type/scalar/mockapi.ts +9 -9
- package/specs/type/union/discriminated/main.tsp +251 -0
- package/specs/type/union/discriminated/mockapi.ts +230 -0
- package/specs/type/union/mockapi.ts +2 -2
- package/specs/versioning/added/mockapi.ts +6 -6
- package/specs/versioning/madeOptional/mockapi.ts +2 -2
- package/specs/versioning/removed/main.tsp +5 -5
- package/specs/versioning/removed/mockapi.ts +11 -11
- package/specs/versioning/renamedFrom/mockapi.ts +5 -5
- package/specs/versioning/returnTypeChangedFrom/main.tsp +17 -2
- package/specs/versioning/returnTypeChangedFrom/mockapi.ts +1 -1
- package/specs/versioning/typeChangedFrom/mockapi.ts +3 -3
- package/temp/.tsbuildinfo +1 -1
- package/tsconfig.build.json +0 -4
- package/tspconfig.yaml +0 -2
package/spec-summary.md
CHANGED
|
@@ -39,6 +39,18 @@ Expect error code 403 and error body:
|
|
|
39
39
|
|
|
40
40
|
Expects header 'Authorization': 'SharedAccessKey valid-key'
|
|
41
41
|
|
|
42
|
+
### Authentication_Noauth_Union_validNoAuth
|
|
43
|
+
|
|
44
|
+
- Endpoint: `get /authentication/noauth/union/valid`
|
|
45
|
+
|
|
46
|
+
Expects no authentication. The server accepts requests without any authentication header.
|
|
47
|
+
|
|
48
|
+
### Authentication_Noauth_Union_validToken
|
|
49
|
+
|
|
50
|
+
- Endpoint: `get /authentication/noauth/union/validtoken`
|
|
51
|
+
|
|
52
|
+
Expects header 'authorization': 'Bearer https://security.microsoft.com/.default'
|
|
53
|
+
|
|
42
54
|
### Authentication_OAuth2_invalid
|
|
43
55
|
|
|
44
56
|
- Endpoint: `get /authentication/oauth2/invalid`
|
|
@@ -71,6 +83,292 @@ Expects header 'x-ms-api-key': 'valid-key'
|
|
|
71
83
|
|
|
72
84
|
Expects header 'authorization': 'Bearer https://security.microsoft.com/.default'
|
|
73
85
|
|
|
86
|
+
### Documentation_Lists_bulletPointsOp
|
|
87
|
+
|
|
88
|
+
- Endpoint: `get /documentation/lists/bullet-points/op`
|
|
89
|
+
|
|
90
|
+
Test simple bullet points in documentation.
|
|
91
|
+
Expected behavior: Should render properly formatted bullet lists.
|
|
92
|
+
|
|
93
|
+
### Documentation_Lists_numbered
|
|
94
|
+
|
|
95
|
+
- Endpoint: `get /documentation/lists/numbered`
|
|
96
|
+
|
|
97
|
+
Test numbered lists.
|
|
98
|
+
Expected behavior: Should render numbered list properly.
|
|
99
|
+
|
|
100
|
+
### Documentation_TextFormatting_boldText
|
|
101
|
+
|
|
102
|
+
- Endpoint: `get /documentation/text-formatting/bold`
|
|
103
|
+
|
|
104
|
+
Expected behavior: Text between \*\* should render as bold.
|
|
105
|
+
|
|
106
|
+
### Documentation_TextFormatting_combinedFormatting
|
|
107
|
+
|
|
108
|
+
- Endpoint: `get /documentation/text-formatting/combined`
|
|
109
|
+
|
|
110
|
+
Test combined bold and italic formatting.
|
|
111
|
+
Expected behavior: Should handle nested and combined formatting.
|
|
112
|
+
|
|
113
|
+
### Documentation_TextFormatting_italicText
|
|
114
|
+
|
|
115
|
+
- Endpoint: `get /documentation/text-formatting/italic`
|
|
116
|
+
|
|
117
|
+
Test italic text formatting using _single asterisks_.
|
|
118
|
+
Expected behavior: Text between \* should render as italic.
|
|
119
|
+
|
|
120
|
+
### Encode_Array_Property_commaDelimited
|
|
121
|
+
|
|
122
|
+
- Endpoint: `post /encode/array/property/comma-delimited`
|
|
123
|
+
|
|
124
|
+
Test operation with request and response model contains a string array property with commaDelimited encode.
|
|
125
|
+
Expected request body:
|
|
126
|
+
|
|
127
|
+
```json
|
|
128
|
+
{
|
|
129
|
+
"value": "blue,red,green"
|
|
130
|
+
}
|
|
131
|
+
```
|
|
132
|
+
|
|
133
|
+
Expected response body:
|
|
134
|
+
|
|
135
|
+
```json
|
|
136
|
+
{
|
|
137
|
+
"value": "blue,red,green"
|
|
138
|
+
}
|
|
139
|
+
```
|
|
140
|
+
|
|
141
|
+
### Encode_Array_Property_enumCommaDelimited
|
|
142
|
+
|
|
143
|
+
- Endpoint: `post /encode/array/property/enum/comma-delimited`
|
|
144
|
+
|
|
145
|
+
Test operation with request and response model contains an enum array property with commaDelimited encode.
|
|
146
|
+
Expected request body:
|
|
147
|
+
|
|
148
|
+
```json
|
|
149
|
+
{
|
|
150
|
+
"value": "blue,red,green"
|
|
151
|
+
}
|
|
152
|
+
```
|
|
153
|
+
|
|
154
|
+
Expected response body:
|
|
155
|
+
|
|
156
|
+
```json
|
|
157
|
+
{
|
|
158
|
+
"value": "blue,red,green"
|
|
159
|
+
}
|
|
160
|
+
```
|
|
161
|
+
|
|
162
|
+
### Encode_Array_Property_enumNewlineDelimited
|
|
163
|
+
|
|
164
|
+
- Endpoint: `post /encode/array/property/enum/newline-delimited`
|
|
165
|
+
|
|
166
|
+
Test operation with request and response model contains an enum array property with newlineDelimited encode.
|
|
167
|
+
Expected request body:
|
|
168
|
+
|
|
169
|
+
```json
|
|
170
|
+
{
|
|
171
|
+
"value": "blue\nred\ngreen"
|
|
172
|
+
}
|
|
173
|
+
```
|
|
174
|
+
|
|
175
|
+
Expected response body:
|
|
176
|
+
|
|
177
|
+
```json
|
|
178
|
+
{
|
|
179
|
+
"value": "blue\nred\ngreen"
|
|
180
|
+
}
|
|
181
|
+
```
|
|
182
|
+
|
|
183
|
+
### Encode_Array_Property_enumPipeDelimited
|
|
184
|
+
|
|
185
|
+
- Endpoint: `post /encode/array/property/enum/pipe-delimited`
|
|
186
|
+
|
|
187
|
+
Test operation with request and response model contains an enum array property with pipeDelimited encode.
|
|
188
|
+
Expected request body:
|
|
189
|
+
|
|
190
|
+
```json
|
|
191
|
+
{
|
|
192
|
+
"value": "blue|red|green"
|
|
193
|
+
}
|
|
194
|
+
```
|
|
195
|
+
|
|
196
|
+
Expected response body:
|
|
197
|
+
|
|
198
|
+
```json
|
|
199
|
+
{
|
|
200
|
+
"value": "blue|red|green"
|
|
201
|
+
}
|
|
202
|
+
```
|
|
203
|
+
|
|
204
|
+
### Encode_Array_Property_enumSpaceDelimited
|
|
205
|
+
|
|
206
|
+
- Endpoint: `post /encode/array/property/enum/space-delimited`
|
|
207
|
+
|
|
208
|
+
Test operation with request and response model contains an enum array property with spaceDelimited encode.
|
|
209
|
+
Expected request body:
|
|
210
|
+
|
|
211
|
+
```json
|
|
212
|
+
{
|
|
213
|
+
"value": "blue red green"
|
|
214
|
+
}
|
|
215
|
+
```
|
|
216
|
+
|
|
217
|
+
Expected response body:
|
|
218
|
+
|
|
219
|
+
```json
|
|
220
|
+
{
|
|
221
|
+
"value": "blue red green"
|
|
222
|
+
}
|
|
223
|
+
```
|
|
224
|
+
|
|
225
|
+
### Encode_Array_Property_extensibleEnumCommaDelimited
|
|
226
|
+
|
|
227
|
+
- Endpoint: `post /encode/array/property/extensible-enum/comma-delimited`
|
|
228
|
+
|
|
229
|
+
Test operation with request and response model contains an extensible enum (union) array property with commaDelimited encode.
|
|
230
|
+
Expected request body:
|
|
231
|
+
|
|
232
|
+
```json
|
|
233
|
+
{
|
|
234
|
+
"value": "blue,red,green"
|
|
235
|
+
}
|
|
236
|
+
```
|
|
237
|
+
|
|
238
|
+
Expected response body:
|
|
239
|
+
|
|
240
|
+
```json
|
|
241
|
+
{
|
|
242
|
+
"value": "blue,red,green"
|
|
243
|
+
}
|
|
244
|
+
```
|
|
245
|
+
|
|
246
|
+
### Encode_Array_Property_extensibleEnumNewlineDelimited
|
|
247
|
+
|
|
248
|
+
- Endpoint: `post /encode/array/property/extensible-enum/newline-delimited`
|
|
249
|
+
|
|
250
|
+
Test operation with request and response model contains an extensible enum (union) array property with newlineDelimited encode.
|
|
251
|
+
Expected request body:
|
|
252
|
+
|
|
253
|
+
```json
|
|
254
|
+
{
|
|
255
|
+
"value": "blue\nred\ngreen"
|
|
256
|
+
}
|
|
257
|
+
```
|
|
258
|
+
|
|
259
|
+
Expected response body:
|
|
260
|
+
|
|
261
|
+
```json
|
|
262
|
+
{
|
|
263
|
+
"value": "blue\nred\ngreen"
|
|
264
|
+
}
|
|
265
|
+
```
|
|
266
|
+
|
|
267
|
+
### Encode_Array_Property_extensibleEnumPipeDelimited
|
|
268
|
+
|
|
269
|
+
- Endpoint: `post /encode/array/property/extensible-enum/pipe-delimited`
|
|
270
|
+
|
|
271
|
+
Test operation with request and response model contains an extensible enum (union) array property with pipeDelimited encode.
|
|
272
|
+
Expected request body:
|
|
273
|
+
|
|
274
|
+
```json
|
|
275
|
+
{
|
|
276
|
+
"value": "blue|red|green"
|
|
277
|
+
}
|
|
278
|
+
```
|
|
279
|
+
|
|
280
|
+
Expected response body:
|
|
281
|
+
|
|
282
|
+
```json
|
|
283
|
+
{
|
|
284
|
+
"value": "blue|red|green"
|
|
285
|
+
}
|
|
286
|
+
```
|
|
287
|
+
|
|
288
|
+
### Encode_Array_Property_extensibleEnumSpaceDelimited
|
|
289
|
+
|
|
290
|
+
- Endpoint: `post /encode/array/property/extensible-enum/space-delimited`
|
|
291
|
+
|
|
292
|
+
Test operation with request and response model contains an extensible enum (union) array property with spaceDelimited encode.
|
|
293
|
+
Expected request body:
|
|
294
|
+
|
|
295
|
+
```json
|
|
296
|
+
{
|
|
297
|
+
"value": "blue red green"
|
|
298
|
+
}
|
|
299
|
+
```
|
|
300
|
+
|
|
301
|
+
Expected response body:
|
|
302
|
+
|
|
303
|
+
```json
|
|
304
|
+
{
|
|
305
|
+
"value": "blue red green"
|
|
306
|
+
}
|
|
307
|
+
```
|
|
308
|
+
|
|
309
|
+
### Encode_Array_Property_newlineDelimited
|
|
310
|
+
|
|
311
|
+
- Endpoint: `post /encode/array/property/newline-delimited`
|
|
312
|
+
|
|
313
|
+
Test operation with request and response model contains a string array property with newlineDelimited encode.
|
|
314
|
+
Expected request body:
|
|
315
|
+
|
|
316
|
+
```json
|
|
317
|
+
{
|
|
318
|
+
"value": "blue\nred\ngreen"
|
|
319
|
+
}
|
|
320
|
+
```
|
|
321
|
+
|
|
322
|
+
Expected response body:
|
|
323
|
+
|
|
324
|
+
```json
|
|
325
|
+
{
|
|
326
|
+
"value": "blue\nred\ngreen"
|
|
327
|
+
}
|
|
328
|
+
```
|
|
329
|
+
|
|
330
|
+
### Encode_Array_Property_pipeDelimited
|
|
331
|
+
|
|
332
|
+
- Endpoint: `post /encode/array/property/pipe-delimited`
|
|
333
|
+
|
|
334
|
+
Test operation with request and response model contains a string array property with pipeDelimited encode.
|
|
335
|
+
Expected request body:
|
|
336
|
+
|
|
337
|
+
```json
|
|
338
|
+
{
|
|
339
|
+
"value": "blue|red|green"
|
|
340
|
+
}
|
|
341
|
+
```
|
|
342
|
+
|
|
343
|
+
Expected response body:
|
|
344
|
+
|
|
345
|
+
```json
|
|
346
|
+
{
|
|
347
|
+
"value": "blue|red|green"
|
|
348
|
+
}
|
|
349
|
+
```
|
|
350
|
+
|
|
351
|
+
### Encode_Array_Property_spaceDelimited
|
|
352
|
+
|
|
353
|
+
- Endpoint: `post /encode/array/property/space-delimited`
|
|
354
|
+
|
|
355
|
+
Test operation with request and response model contains a string array property with spaceDelimited encode.
|
|
356
|
+
Expected request body:
|
|
357
|
+
|
|
358
|
+
```json
|
|
359
|
+
{
|
|
360
|
+
"value": "blue red green"
|
|
361
|
+
}
|
|
362
|
+
```
|
|
363
|
+
|
|
364
|
+
Expected response body:
|
|
365
|
+
|
|
366
|
+
```json
|
|
367
|
+
{
|
|
368
|
+
"value": "blue red green"
|
|
369
|
+
}
|
|
370
|
+
```
|
|
371
|
+
|
|
74
372
|
### Encode_Bytes_Header_base64
|
|
75
373
|
|
|
76
374
|
- Endpoint: `get /encode/bytes/header/base64`
|
|
@@ -240,22 +538,21 @@ Expected body:
|
|
|
240
538
|
- Endpoint: `post /encode/bytes/body/request/custom-content-type`
|
|
241
539
|
|
|
242
540
|
When content type is a custom type(image/png here) and body is `bytes` the payload is a binary file.
|
|
243
|
-
File should match packages/
|
|
541
|
+
File should match packages/http-specs/assets/image.png.
|
|
244
542
|
|
|
245
543
|
### Encode_Bytes_RequestBody_default
|
|
246
544
|
|
|
247
545
|
- Endpoint: `post /encode/bytes/body/request/default`
|
|
248
546
|
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
"dGVzdA==" (base64 encode of test, in JSON string)
|
|
547
|
+
When content type is not defined and body is `bytes` the payload is a binary stream.
|
|
548
|
+
Stream should match packages/http-specs/assets/image.png file.
|
|
252
549
|
|
|
253
550
|
### Encode_Bytes_RequestBody_octetStream
|
|
254
551
|
|
|
255
552
|
- Endpoint: `post /encode/bytes/body/request/octet-stream`
|
|
256
553
|
|
|
257
|
-
When content type is application/octet-stream and body is `bytes` the payload is a binary
|
|
258
|
-
|
|
554
|
+
When content type is application/octet-stream and body is `bytes` the payload is a binary stream.
|
|
555
|
+
Stream should match packages/http-specs/assets/image.png file.
|
|
259
556
|
|
|
260
557
|
### Encode_Bytes_ResponseBody_base64
|
|
261
558
|
|
|
@@ -278,22 +575,21 @@ Expected body:
|
|
|
278
575
|
- Endpoint: `get /encode/bytes/body/response/custom-content-type`
|
|
279
576
|
|
|
280
577
|
When content type is a custom type(image/png here) and body is `bytes` the payload is a binary file.
|
|
281
|
-
File should match packages/
|
|
578
|
+
File should match packages/http-specs/assets/image.png
|
|
282
579
|
|
|
283
580
|
### Encode_Bytes_ResponseBody_default
|
|
284
581
|
|
|
285
582
|
- Endpoint: `get /encode/bytes/body/response/default`
|
|
286
583
|
|
|
287
|
-
|
|
288
|
-
|
|
289
|
-
"dGVzdA==" (base64 encode of test, in JSON string)
|
|
584
|
+
When content type is not defined and body is `bytes` the payload is a binary stream.
|
|
585
|
+
Stream should match packages/http-specs/assets/image.png file.
|
|
290
586
|
|
|
291
587
|
### Encode_Bytes_ResponseBody_octetStream
|
|
292
588
|
|
|
293
589
|
- Endpoint: `get /encode/bytes/body/response/octet-stream`
|
|
294
590
|
|
|
295
|
-
When content type is application/octet-stream and body is `bytes` the payload is a binary
|
|
296
|
-
|
|
591
|
+
When content type is application/octet-stream and body is `bytes` the payload is a binary stream.
|
|
592
|
+
Stream should match packages/http-specs/assets/image.png file.
|
|
297
593
|
|
|
298
594
|
### Encode_Datetime_Header_default
|
|
299
595
|
|
|
@@ -519,6 +815,13 @@ value=1686566864
|
|
|
519
815
|
Test default encode for a duration header.
|
|
520
816
|
Expected header `input=P40D`
|
|
521
817
|
|
|
818
|
+
### Encode_Duration_Header_float64Milliseconds
|
|
819
|
+
|
|
820
|
+
- Endpoint: `get /encode/duration/header/float64-milliseconds`
|
|
821
|
+
|
|
822
|
+
Test float64 milliseconds encode for a duration header.
|
|
823
|
+
Expected header `duration: 35625`
|
|
824
|
+
|
|
522
825
|
### Encode_Duration_Header_float64Seconds
|
|
523
826
|
|
|
524
827
|
- Endpoint: `get /encode/duration/header/float64-seconds`
|
|
@@ -526,6 +829,21 @@ Expected header `input=P40D`
|
|
|
526
829
|
Test float64 seconds encode for a duration header.
|
|
527
830
|
Expected header `duration: 35.625`
|
|
528
831
|
|
|
832
|
+
### Encode_Duration_Header_floatMilliseconds
|
|
833
|
+
|
|
834
|
+
- Endpoint: `get /encode/duration/header/float-milliseconds`
|
|
835
|
+
|
|
836
|
+
Test float milliseconds encode for a duration header.
|
|
837
|
+
Expected header `duration: 35625`
|
|
838
|
+
|
|
839
|
+
### Encode_Duration_Header_floatMillisecondsLargerUnit
|
|
840
|
+
|
|
841
|
+
- Endpoint: `get /encode/duration/header/float-milliseconds-larger-unit`
|
|
842
|
+
|
|
843
|
+
Test float milliseconds encode for a duration header where the duration is several minutes.
|
|
844
|
+
Languages that support duration primitives should use the largest possible unit, e.g. TimeSpan.FromMinutes(3.5) in C#.
|
|
845
|
+
Expected header `duration: 210000.0`
|
|
846
|
+
|
|
529
847
|
### Encode_Duration_Header_floatSeconds
|
|
530
848
|
|
|
531
849
|
- Endpoint: `get /encode/duration/header/float-seconds`
|
|
@@ -533,6 +851,36 @@ Expected header `duration: 35.625`
|
|
|
533
851
|
Test float seconds encode for a duration header.
|
|
534
852
|
Expected header `duration: 35.625`
|
|
535
853
|
|
|
854
|
+
### Encode_Duration_Header_floatSecondsLargerUnit
|
|
855
|
+
|
|
856
|
+
- Endpoint: `get /encode/duration/header/float-seconds-larger-unit`
|
|
857
|
+
|
|
858
|
+
Test float seconds encode for a duration header where the duration is several minutes.
|
|
859
|
+
Languages that support duration primitives should use the largest possible unit, e.g. TimeSpan.FromMinutes(2.5) in C#.
|
|
860
|
+
Expected header `duration: 150.0`
|
|
861
|
+
|
|
862
|
+
### Encode_Duration_Header_int32Milliseconds
|
|
863
|
+
|
|
864
|
+
- Endpoint: `get /encode/duration/header/int32-milliseconds`
|
|
865
|
+
|
|
866
|
+
Test int32 milliseconds encode for a duration header.
|
|
867
|
+
Expected header `duration: 36000`
|
|
868
|
+
|
|
869
|
+
### Encode_Duration_Header_int32MillisecondsArray
|
|
870
|
+
|
|
871
|
+
- Endpoint: `get /encode/duration/header/int32-milliseconds-array`
|
|
872
|
+
|
|
873
|
+
Test int32 milliseconds encode for a duration array header.
|
|
874
|
+
Expected header `duration: [36000,47000]`
|
|
875
|
+
|
|
876
|
+
### Encode_Duration_Header_int32MillisecondsLargerUnit
|
|
877
|
+
|
|
878
|
+
- Endpoint: `get /encode/duration/header/int32-milliseconds-larger-unit`
|
|
879
|
+
|
|
880
|
+
Test int32 milliseconds encode for a duration header where the duration is several minutes.
|
|
881
|
+
Languages that support duration primitives should use the largest possible unit, e.g. TimeSpan.FromMinutes(3) in C#.
|
|
882
|
+
Expected header `duration: 180000`
|
|
883
|
+
|
|
536
884
|
### Encode_Duration_Header_int32Seconds
|
|
537
885
|
|
|
538
886
|
- Endpoint: `get /encode/duration/header/int32-seconds`
|
|
@@ -540,6 +888,14 @@ Expected header `duration: 35.625`
|
|
|
540
888
|
Test int32 seconds encode for a duration header.
|
|
541
889
|
Expected header `duration: 36`
|
|
542
890
|
|
|
891
|
+
### Encode_Duration_Header_int32SecondsLargerUnit
|
|
892
|
+
|
|
893
|
+
- Endpoint: `get /encode/duration/header/int32-seconds-larger-unit`
|
|
894
|
+
|
|
895
|
+
Test int32 seconds encode for a duration header where the duration is several minutes.
|
|
896
|
+
Languages that support duration primitives should use the largest possible unit, e.g. TimeSpan.FromMinutes(2) in C#.
|
|
897
|
+
Expected header `duration: 120`
|
|
898
|
+
|
|
543
899
|
### Encode_Duration_Header_iso8601
|
|
544
900
|
|
|
545
901
|
- Endpoint: `get /encode/duration/header/iso8601`
|
|
@@ -575,16 +931,16 @@ Expected response body:
|
|
|
575
931
|
}
|
|
576
932
|
```
|
|
577
933
|
|
|
578
|
-
###
|
|
934
|
+
### Encode_Duration_Property_float64Milliseconds
|
|
579
935
|
|
|
580
|
-
- Endpoint: `get /encode/duration/property/float64-
|
|
936
|
+
- Endpoint: `get /encode/duration/property/float64-milliseconds`
|
|
581
937
|
|
|
582
|
-
Test operation with request and response model contains a duration property with float64
|
|
938
|
+
Test operation with request and response model contains a duration property with float64 milliseconds encode.
|
|
583
939
|
Expected request body:
|
|
584
940
|
|
|
585
941
|
```json
|
|
586
942
|
{
|
|
587
|
-
"value":
|
|
943
|
+
"value": 35625
|
|
588
944
|
}
|
|
589
945
|
```
|
|
590
946
|
|
|
@@ -592,15 +948,15 @@ Expected response body:
|
|
|
592
948
|
|
|
593
949
|
```json
|
|
594
950
|
{
|
|
595
|
-
"value":
|
|
951
|
+
"value": 35625
|
|
596
952
|
}
|
|
597
953
|
```
|
|
598
954
|
|
|
599
|
-
###
|
|
955
|
+
### Encode_Duration_Property_float64Seconds
|
|
600
956
|
|
|
601
|
-
- Endpoint: `get /encode/duration/property/
|
|
957
|
+
- Endpoint: `get /encode/duration/property/float64-seconds`
|
|
602
958
|
|
|
603
|
-
Test operation with request and response model contains a duration property with
|
|
959
|
+
Test operation with request and response model contains a duration property with float64 seconds encode.
|
|
604
960
|
Expected request body:
|
|
605
961
|
|
|
606
962
|
```json
|
|
@@ -617,11 +973,96 @@ Expected response body:
|
|
|
617
973
|
}
|
|
618
974
|
```
|
|
619
975
|
|
|
620
|
-
###
|
|
976
|
+
### Encode_Duration_Property_floatMilliseconds
|
|
621
977
|
|
|
622
|
-
- Endpoint: `get /encode/duration/property/float-
|
|
978
|
+
- Endpoint: `get /encode/duration/property/float-milliseconds`
|
|
623
979
|
|
|
624
|
-
Test operation with request and response model contains
|
|
980
|
+
Test operation with request and response model contains a duration property with float milliseconds encode.
|
|
981
|
+
Expected request body:
|
|
982
|
+
|
|
983
|
+
```json
|
|
984
|
+
{
|
|
985
|
+
"value": 35625
|
|
986
|
+
}
|
|
987
|
+
```
|
|
988
|
+
|
|
989
|
+
Expected response body:
|
|
990
|
+
|
|
991
|
+
```json
|
|
992
|
+
{
|
|
993
|
+
"value": 35625
|
|
994
|
+
}
|
|
995
|
+
```
|
|
996
|
+
|
|
997
|
+
### Encode_Duration_Property_floatMillisecondsArray
|
|
998
|
+
|
|
999
|
+
- Endpoint: `get /encode/duration/property/float-milliseconds-array`
|
|
1000
|
+
|
|
1001
|
+
Test operation with request and response model contains an array property which elements are duration with float milliseconds encode.
|
|
1002
|
+
Expected request body:
|
|
1003
|
+
|
|
1004
|
+
```json
|
|
1005
|
+
{
|
|
1006
|
+
"value": [35625, 46750]
|
|
1007
|
+
}
|
|
1008
|
+
```
|
|
1009
|
+
|
|
1010
|
+
Expected response body:
|
|
1011
|
+
|
|
1012
|
+
```json
|
|
1013
|
+
{
|
|
1014
|
+
"value": [35625, 46750]
|
|
1015
|
+
}
|
|
1016
|
+
```
|
|
1017
|
+
|
|
1018
|
+
### Encode_Duration_Property_floatMillisecondsLargerUnit
|
|
1019
|
+
|
|
1020
|
+
- Endpoint: `get /encode/duration/property/float-milliseconds-larger-unit`
|
|
1021
|
+
|
|
1022
|
+
Test operation with request and response model contains a duration property with float milliseconds encode where the duration is several minutes.
|
|
1023
|
+
Languages that support duration primitives should use the largest possible unit, e.g. TimeSpan.FromMinutes(3.5) in C#.
|
|
1024
|
+
Expected request body:
|
|
1025
|
+
|
|
1026
|
+
```json
|
|
1027
|
+
{
|
|
1028
|
+
"value": 210000.0
|
|
1029
|
+
}
|
|
1030
|
+
```
|
|
1031
|
+
|
|
1032
|
+
Expected response body:
|
|
1033
|
+
|
|
1034
|
+
```json
|
|
1035
|
+
{
|
|
1036
|
+
"value": 210000.0
|
|
1037
|
+
}
|
|
1038
|
+
```
|
|
1039
|
+
|
|
1040
|
+
### Encode_Duration_Property_floatSeconds
|
|
1041
|
+
|
|
1042
|
+
- Endpoint: `get /encode/duration/property/float-seconds`
|
|
1043
|
+
|
|
1044
|
+
Test operation with request and response model contains a duration property with float seconds encode.
|
|
1045
|
+
Expected request body:
|
|
1046
|
+
|
|
1047
|
+
```json
|
|
1048
|
+
{
|
|
1049
|
+
"value": 35.625
|
|
1050
|
+
}
|
|
1051
|
+
```
|
|
1052
|
+
|
|
1053
|
+
Expected response body:
|
|
1054
|
+
|
|
1055
|
+
```json
|
|
1056
|
+
{
|
|
1057
|
+
"value": 35.625
|
|
1058
|
+
}
|
|
1059
|
+
```
|
|
1060
|
+
|
|
1061
|
+
### Encode_Duration_Property_floatSecondsArray
|
|
1062
|
+
|
|
1063
|
+
- Endpoint: `get /encode/duration/property/float-seconds-array`
|
|
1064
|
+
|
|
1065
|
+
Test operation with request and response model contains an array property which elements are duration with float seconds encode.
|
|
625
1066
|
Expected request body:
|
|
626
1067
|
|
|
627
1068
|
```json
|
|
@@ -638,6 +1079,71 @@ Expected response body:
|
|
|
638
1079
|
}
|
|
639
1080
|
```
|
|
640
1081
|
|
|
1082
|
+
### Encode_Duration_Property_floatSecondsLargerUnit
|
|
1083
|
+
|
|
1084
|
+
- Endpoint: `get /encode/duration/property/float-seconds-larger-unit`
|
|
1085
|
+
|
|
1086
|
+
Test operation with request and response model contains a duration property with float seconds encode where the duration is several minutes.
|
|
1087
|
+
Languages that support duration primitives should use the largest possible unit, e.g. TimeSpan.FromMinutes(2.5) in C#.
|
|
1088
|
+
Expected request body:
|
|
1089
|
+
|
|
1090
|
+
```json
|
|
1091
|
+
{
|
|
1092
|
+
"value": 150.0
|
|
1093
|
+
}
|
|
1094
|
+
```
|
|
1095
|
+
|
|
1096
|
+
Expected response body:
|
|
1097
|
+
|
|
1098
|
+
```json
|
|
1099
|
+
{
|
|
1100
|
+
"value": 150.0
|
|
1101
|
+
}
|
|
1102
|
+
```
|
|
1103
|
+
|
|
1104
|
+
### Encode_Duration_Property_int32Milliseconds
|
|
1105
|
+
|
|
1106
|
+
- Endpoint: `get /encode/duration/property/int32-milliseconds`
|
|
1107
|
+
|
|
1108
|
+
Test operation with request and response model contains a duration property with int32 milliseconds encode.
|
|
1109
|
+
Expected request body:
|
|
1110
|
+
|
|
1111
|
+
```json
|
|
1112
|
+
{
|
|
1113
|
+
"value": 36000
|
|
1114
|
+
}
|
|
1115
|
+
```
|
|
1116
|
+
|
|
1117
|
+
Expected response body:
|
|
1118
|
+
|
|
1119
|
+
```json
|
|
1120
|
+
{
|
|
1121
|
+
"value": 36000
|
|
1122
|
+
}
|
|
1123
|
+
```
|
|
1124
|
+
|
|
1125
|
+
### Encode_Duration_Property_int32MillisecondsLargerUnit
|
|
1126
|
+
|
|
1127
|
+
- Endpoint: `get /encode/duration/property/int32-milliseconds-larger-unit`
|
|
1128
|
+
|
|
1129
|
+
Test operation with request and response model contains a duration property with int32 milliseconds encode where the duration is several minutes.
|
|
1130
|
+
Languages that support duration primitives should use the largest possible unit, e.g. TimeSpan.FromMinutes(3) in C#.
|
|
1131
|
+
Expected request body:
|
|
1132
|
+
|
|
1133
|
+
```json
|
|
1134
|
+
{
|
|
1135
|
+
"value": 180000
|
|
1136
|
+
}
|
|
1137
|
+
```
|
|
1138
|
+
|
|
1139
|
+
Expected response body:
|
|
1140
|
+
|
|
1141
|
+
```json
|
|
1142
|
+
{
|
|
1143
|
+
"value": 180000
|
|
1144
|
+
}
|
|
1145
|
+
```
|
|
1146
|
+
|
|
641
1147
|
### Encode_Duration_Property_int32Seconds
|
|
642
1148
|
|
|
643
1149
|
- Endpoint: `get /encode/duration/property/int32-seconds`
|
|
@@ -659,6 +1165,28 @@ Expected response body:
|
|
|
659
1165
|
}
|
|
660
1166
|
```
|
|
661
1167
|
|
|
1168
|
+
### Encode_Duration_Property_int32SecondsLargerUnit
|
|
1169
|
+
|
|
1170
|
+
- Endpoint: `get /encode/duration/property/int32-seconds-larger-unit`
|
|
1171
|
+
|
|
1172
|
+
Test operation with request and response model contains a duration property with int32 seconds encode where the duration is several minutes.
|
|
1173
|
+
Languages that support duration primitives should use the largest possible unit, e.g. TimeSpan.FromMinutes(2) in C#.
|
|
1174
|
+
Expected request body:
|
|
1175
|
+
|
|
1176
|
+
```json
|
|
1177
|
+
{
|
|
1178
|
+
"value": 120
|
|
1179
|
+
}
|
|
1180
|
+
```
|
|
1181
|
+
|
|
1182
|
+
Expected response body:
|
|
1183
|
+
|
|
1184
|
+
```json
|
|
1185
|
+
{
|
|
1186
|
+
"value": 120
|
|
1187
|
+
}
|
|
1188
|
+
```
|
|
1189
|
+
|
|
662
1190
|
### Encode_Duration_Property_iso8601
|
|
663
1191
|
|
|
664
1192
|
- Endpoint: `post /encode/duration/property/iso8601`
|
|
@@ -687,6 +1215,13 @@ Expected response body:
|
|
|
687
1215
|
Test default encode for a duration parameter.
|
|
688
1216
|
Expected query parameter `input=P40D`
|
|
689
1217
|
|
|
1218
|
+
### Encode_Duration_Query_float64Milliseconds
|
|
1219
|
+
|
|
1220
|
+
- Endpoint: `get /encode/duration/query/float64-milliseconds`
|
|
1221
|
+
|
|
1222
|
+
Test float64 milliseconds encode for a duration parameter.
|
|
1223
|
+
Expected query parameter `input=35625`
|
|
1224
|
+
|
|
690
1225
|
### Encode_Duration_Query_float64Seconds
|
|
691
1226
|
|
|
692
1227
|
- Endpoint: `get /encode/duration/query/float64-seconds`
|
|
@@ -694,6 +1229,21 @@ Expected query parameter `input=P40D`
|
|
|
694
1229
|
Test float64 seconds encode for a duration parameter.
|
|
695
1230
|
Expected query parameter `input=35.625`
|
|
696
1231
|
|
|
1232
|
+
### Encode_Duration_Query_floatMilliseconds
|
|
1233
|
+
|
|
1234
|
+
- Endpoint: `get /encode/duration/query/float-milliseconds`
|
|
1235
|
+
|
|
1236
|
+
Test float milliseconds encode for a duration parameter.
|
|
1237
|
+
Expected query parameter `input=35625`
|
|
1238
|
+
|
|
1239
|
+
### Encode_Duration_Query_floatMillisecondsLargerUnit
|
|
1240
|
+
|
|
1241
|
+
- Endpoint: `get /encode/duration/query/float-milliseconds-larger-unit`
|
|
1242
|
+
|
|
1243
|
+
Test float milliseconds encode for a duration parameter where the duration is several minutes.
|
|
1244
|
+
Languages that support duration primitives should use the largest possible unit, e.g. TimeSpan.FromMinutes(3.5) in C#.
|
|
1245
|
+
Expected query parameter `input=210000.0`
|
|
1246
|
+
|
|
697
1247
|
### Encode_Duration_Query_floatSeconds
|
|
698
1248
|
|
|
699
1249
|
- Endpoint: `get /encode/duration/query/float-seconds`
|
|
@@ -701,6 +1251,36 @@ Expected query parameter `input=35.625`
|
|
|
701
1251
|
Test float seconds encode for a duration parameter.
|
|
702
1252
|
Expected query parameter `input=35.625`
|
|
703
1253
|
|
|
1254
|
+
### Encode_Duration_Query_floatSecondsLargerUnit
|
|
1255
|
+
|
|
1256
|
+
- Endpoint: `get /encode/duration/query/float-seconds-larger-unit`
|
|
1257
|
+
|
|
1258
|
+
Test float seconds encode for a duration parameter where the duration is several minutes.
|
|
1259
|
+
Languages that support duration primitives should use the largest possible unit, e.g. TimeSpan.FromMinutes(2.5) in C#.
|
|
1260
|
+
Expected query parameter `input=150.0`
|
|
1261
|
+
|
|
1262
|
+
### Encode_Duration_Query_int32Milliseconds
|
|
1263
|
+
|
|
1264
|
+
- Endpoint: `get /encode/duration/query/int32-milliseconds`
|
|
1265
|
+
|
|
1266
|
+
Test int32 milliseconds encode for a duration parameter.
|
|
1267
|
+
Expected query parameter `input=36000`
|
|
1268
|
+
|
|
1269
|
+
### Encode_Duration_Query_int32MillisecondsArray
|
|
1270
|
+
|
|
1271
|
+
- Endpoint: `get /encode/duration/query/int32-milliseconds-array`
|
|
1272
|
+
|
|
1273
|
+
Test int32 milliseconds encode for a duration array parameter.
|
|
1274
|
+
Expected query parameter `input=36000,47000`
|
|
1275
|
+
|
|
1276
|
+
### Encode_Duration_Query_int32MillisecondsLargerUnit
|
|
1277
|
+
|
|
1278
|
+
- Endpoint: `get /encode/duration/query/int32-milliseconds-larger-unit`
|
|
1279
|
+
|
|
1280
|
+
Test int32 milliseconds encode for a duration parameter where the duration is several minutes.
|
|
1281
|
+
Languages that support duration primitives should use the largest possible unit, e.g. TimeSpan.FromMinutes(3) in C#.
|
|
1282
|
+
Expected query parameter `input=180000`
|
|
1283
|
+
|
|
704
1284
|
### Encode_Duration_Query_int32Seconds
|
|
705
1285
|
|
|
706
1286
|
- Endpoint: `get /encode/duration/query/int32-seconds`
|
|
@@ -715,6 +1295,14 @@ Expected query parameter `input=36`
|
|
|
715
1295
|
Test int32 seconds encode for a duration array parameter.
|
|
716
1296
|
Expected query parameter `input=36,47`
|
|
717
1297
|
|
|
1298
|
+
### Encode_Duration_Query_int32SecondsLargerUnit
|
|
1299
|
+
|
|
1300
|
+
- Endpoint: `get /encode/duration/query/int32-seconds-larger-unit`
|
|
1301
|
+
|
|
1302
|
+
Test int32 seconds encode for a duration parameter where the duration is several minutes.
|
|
1303
|
+
Languages that support duration primitives should use the largest possible unit, e.g. TimeSpan.FromMinutes(2) in C#.
|
|
1304
|
+
Expected query parameter `input=120`
|
|
1305
|
+
|
|
718
1306
|
### Encode_Duration_Query_iso8601
|
|
719
1307
|
|
|
720
1308
|
- Endpoint: `get /encode/duration/query/iso8601`
|
|
@@ -838,7 +1426,10 @@ Expected request body for `set`
|
|
|
838
1426
|
{ "name": "foo" }
|
|
839
1427
|
```
|
|
840
1428
|
|
|
1429
|
+
Expected Content-Type header: application/json
|
|
1430
|
+
|
|
841
1431
|
Expected no request body for `omit`
|
|
1432
|
+
Expected Content-Type header: must NOT be present
|
|
842
1433
|
|
|
843
1434
|
### Parameters_BodyOptionality_requiredExplicit
|
|
844
1435
|
|
|
@@ -894,11 +1485,54 @@ This test is testing sending a pipes collection format array query parameters
|
|
|
894
1485
|
|
|
895
1486
|
This test is testing sending a ssv collection format array query parameters
|
|
896
1487
|
|
|
897
|
-
###
|
|
1488
|
+
### Parameters_Path_normal
|
|
1489
|
+
|
|
1490
|
+
- Endpoint: `get /parameters/path/normal/{name}`
|
|
1491
|
+
|
|
1492
|
+
Test case for normal path parameter.
|
|
1493
|
+
|
|
1494
|
+
Should generate an operation like below:
|
|
1495
|
+
|
|
1496
|
+
```
|
|
1497
|
+
normal(name: string)
|
|
1498
|
+
```
|
|
1499
|
+
|
|
1500
|
+
Expected request path:
|
|
1501
|
+
|
|
1502
|
+
```
|
|
1503
|
+
/normal/foo
|
|
1504
|
+
```
|
|
1505
|
+
|
|
1506
|
+
### Parameters_Path_optional
|
|
1507
|
+
|
|
1508
|
+
- Endpoint: `get /parameters/path/optional{/name}`
|
|
1509
|
+
|
|
1510
|
+
Test case for optional path parameter.
|
|
1511
|
+
|
|
1512
|
+
Should generate an operation like below:
|
|
1513
|
+
|
|
1514
|
+
```
|
|
1515
|
+
optional(name?: string)
|
|
1516
|
+
```
|
|
1517
|
+
|
|
1518
|
+
Expected two request:
|
|
1519
|
+
First request path:
|
|
1520
|
+
|
|
1521
|
+
```
|
|
1522
|
+
/optional
|
|
1523
|
+
```
|
|
898
1524
|
|
|
899
|
-
|
|
1525
|
+
Second request path:
|
|
900
1526
|
|
|
901
|
-
|
|
1527
|
+
```
|
|
1528
|
+
/optional/foo
|
|
1529
|
+
```
|
|
1530
|
+
|
|
1531
|
+
### Parameters_Query_Constant_post
|
|
1532
|
+
|
|
1533
|
+
- Endpoint: `post /parameters/query/constant`
|
|
1534
|
+
|
|
1535
|
+
Expect to handle a constant value for query and mock api returns nothing
|
|
902
1536
|
|
|
903
1537
|
### Parameters_Spread_Alias_spreadAsRequestBody
|
|
904
1538
|
|
|
@@ -1165,7 +1799,7 @@ Expected input body:
|
|
|
1165
1799
|
}
|
|
1166
1800
|
],
|
|
1167
1801
|
"intValue": 1,
|
|
1168
|
-
"floatValue": 1.
|
|
1802
|
+
"floatValue": 1.25,
|
|
1169
1803
|
"innerModel": {
|
|
1170
1804
|
"name": "InnerMadge",
|
|
1171
1805
|
"description": "innerDesc"
|
|
@@ -1193,7 +1827,7 @@ Expected response body:
|
|
|
1193
1827
|
}
|
|
1194
1828
|
],
|
|
1195
1829
|
"intValue": 1,
|
|
1196
|
-
"floatValue": 1.
|
|
1830
|
+
"floatValue": 1.25,
|
|
1197
1831
|
"innerModel": {
|
|
1198
1832
|
"name": "InnerMadge",
|
|
1199
1833
|
"description": "innerDesc"
|
|
@@ -1309,9 +1943,9 @@ Expected request body is a string '{cat}'.
|
|
|
1309
1943
|
Expect request (
|
|
1310
1944
|
|
|
1311
1945
|
- according to https://datatracker.ietf.org/doc/html/rfc7578#section-4.4, content-type of file part shall be labeled with
|
|
1312
|
-
appropriate media type,
|
|
1946
|
+
appropriate media type, server will check it; content-type of other parts is optional, server will ignore it.
|
|
1313
1947
|
- according to https://datatracker.ietf.org/doc/html/rfc7578#section-4.2, filename of file part SHOULD be supplied.
|
|
1314
|
-
If there are duplicated filename in same filedName,
|
|
1948
|
+
If there are duplicated filename in same filedName, server can't parse them all.
|
|
1315
1949
|
):
|
|
1316
1950
|
|
|
1317
1951
|
```
|
|
@@ -1334,9 +1968,9 @@ Content-Type: application/octet-stream;
|
|
|
1334
1968
|
Expect request (
|
|
1335
1969
|
|
|
1336
1970
|
- according to https://datatracker.ietf.org/doc/html/rfc7578#section-4.4, content-type of file part shall be labeled with
|
|
1337
|
-
appropriate media type,
|
|
1971
|
+
appropriate media type, server will check it; content-type of other parts is optional, server will ignore it.
|
|
1338
1972
|
- according to https://datatracker.ietf.org/doc/html/rfc7578#section-4.2, filename of file part SHOULD be supplied.
|
|
1339
|
-
If there are duplicated filename in same fieldName,
|
|
1973
|
+
If there are duplicated filename in same fieldName, server can't parse them all.
|
|
1340
1974
|
):
|
|
1341
1975
|
|
|
1342
1976
|
```
|
|
@@ -1364,9 +1998,9 @@ Content-Type: application/octet-stream;
|
|
|
1364
1998
|
Expect request (
|
|
1365
1999
|
|
|
1366
2000
|
- according to https://datatracker.ietf.org/doc/html/rfc7578#section-4.4, content-type of file part shall be labeled with
|
|
1367
|
-
appropriate media type,
|
|
2001
|
+
appropriate media type, server will check it; content-type of other parts is optional, server will ignore it.
|
|
1368
2002
|
- according to https://datatracker.ietf.org/doc/html/rfc7578#section-4.2, filename of file part SHOULD be supplied.
|
|
1369
|
-
If there are duplicated filename in same fieldName,
|
|
2003
|
+
If there are duplicated filename in same fieldName, server can't parse them all.
|
|
1370
2004
|
):
|
|
1371
2005
|
|
|
1372
2006
|
```
|
|
@@ -1416,6 +2050,68 @@ Content-Type: image/jpg
|
|
|
1416
2050
|
--abcde12345--
|
|
1417
2051
|
```
|
|
1418
2052
|
|
|
2053
|
+
### Payload_MultiPart_FormData_File_uploadFileArray
|
|
2054
|
+
|
|
2055
|
+
- Endpoint: `post /multipart/form-data/file/file-array`
|
|
2056
|
+
|
|
2057
|
+
Test multiple File instances in multipart form data.
|
|
2058
|
+
Expected request:
|
|
2059
|
+
|
|
2060
|
+
```
|
|
2061
|
+
POST /multipart/form-data/file/file-array HTTP/1.1
|
|
2062
|
+
Content-Type: multipart/form-data; boundary=abcde12345
|
|
2063
|
+
|
|
2064
|
+
--abcde12345
|
|
2065
|
+
Content-Disposition: form-data; name="files"; filename="image1.png"
|
|
2066
|
+
Content-Type: image/png
|
|
2067
|
+
|
|
2068
|
+
{…file content of image.png…}
|
|
2069
|
+
--abcde12345
|
|
2070
|
+
Content-Disposition: form-data; name="files"; filename="image2.png"
|
|
2071
|
+
Content-Type: image/png
|
|
2072
|
+
|
|
2073
|
+
{…file content of image.png…}
|
|
2074
|
+
--abcde12345--
|
|
2075
|
+
```
|
|
2076
|
+
|
|
2077
|
+
### Payload_MultiPart_FormData_File_uploadFileRequiredFilename
|
|
2078
|
+
|
|
2079
|
+
- Endpoint: `post /multipart/form-data/file/required-filename`
|
|
2080
|
+
|
|
2081
|
+
Test File type in multipart form data with required filename.
|
|
2082
|
+
Expected request:
|
|
2083
|
+
|
|
2084
|
+
```
|
|
2085
|
+
POST /multipart/form-data/file/required-filename HTTP/1.1
|
|
2086
|
+
Content-Type: multipart/form-data; boundary=abcde12345
|
|
2087
|
+
|
|
2088
|
+
--abcde12345
|
|
2089
|
+
Content-Disposition: form-data; name="file"; filename="image.png"
|
|
2090
|
+
Content-Type: image/png
|
|
2091
|
+
|
|
2092
|
+
{…file content of image.png…}
|
|
2093
|
+
--abcde12345--
|
|
2094
|
+
```
|
|
2095
|
+
|
|
2096
|
+
### Payload_MultiPart_FormData_File_uploadFileSpecificContentType
|
|
2097
|
+
|
|
2098
|
+
- Endpoint: `post /multipart/form-data/file/specific-content-type`
|
|
2099
|
+
|
|
2100
|
+
Test File type in multipart form data with specific content type.
|
|
2101
|
+
Expected request:
|
|
2102
|
+
|
|
2103
|
+
```
|
|
2104
|
+
POST /multipart/form-data/file/specific-content-type HTTP/1.1
|
|
2105
|
+
Content-Type: multipart/form-data; boundary=abcde12345
|
|
2106
|
+
|
|
2107
|
+
--abcde12345
|
|
2108
|
+
Content-Disposition: form-data; name="file"; filename="image.png"
|
|
2109
|
+
Content-Type: image/png
|
|
2110
|
+
|
|
2111
|
+
{…file content of image.png…}
|
|
2112
|
+
--abcde12345--
|
|
2113
|
+
```
|
|
2114
|
+
|
|
1419
2115
|
### Payload_MultiPart_FormData_fileArrayAndBasic
|
|
1420
2116
|
|
|
1421
2117
|
- Endpoint: `post /multipart/form-data/complex-parts`
|
|
@@ -1423,9 +2119,9 @@ Content-Type: image/jpg
|
|
|
1423
2119
|
Expect request (
|
|
1424
2120
|
|
|
1425
2121
|
- according to https://datatracker.ietf.org/doc/html/rfc7578#section-4.4, content-type of file part shall be labeled with
|
|
1426
|
-
appropriate media type,
|
|
2122
|
+
appropriate media type, server will check it; content-type of other parts is optional, server will ignore it.
|
|
1427
2123
|
- according to https://datatracker.ietf.org/doc/html/rfc7578#section-4.2, filename of file part SHOULD be supplied.
|
|
1428
|
-
If there are duplicated filename in same fieldName,
|
|
2124
|
+
If there are duplicated filename in same fieldName, server can't parse them all.
|
|
1429
2125
|
):
|
|
1430
2126
|
|
|
1431
2127
|
```
|
|
@@ -1533,7 +2229,7 @@ Content-Type: application/octet-stream
|
|
|
1533
2229
|
|
|
1534
2230
|
- Endpoint: `post /multipart/form-data/complex-parts-with-httppart`
|
|
1535
2231
|
|
|
1536
|
-
For File part, filename will not be checked but it is necessary otherwise
|
|
2232
|
+
For File part, filename will not be checked but it is necessary otherwise server can't parse it;
|
|
1537
2233
|
content-type will be checked with value "application/octet-stream". Expect request:
|
|
1538
2234
|
|
|
1539
2235
|
```
|
|
@@ -1606,9 +2302,9 @@ Content-Type: text/plain
|
|
|
1606
2302
|
Expect request (
|
|
1607
2303
|
|
|
1608
2304
|
- according to https://datatracker.ietf.org/doc/html/rfc7578#section-4.4, content-type of file part shall be labeled with
|
|
1609
|
-
appropriate media type,
|
|
2305
|
+
appropriate media type, server will check it; content-type of other parts is optional, server will ignore it.
|
|
1610
2306
|
- according to https://datatracker.ietf.org/doc/html/rfc7578#section-4.2, filename of file part SHOULD be supplied.
|
|
1611
|
-
If there are duplicated filename in same fieldName,
|
|
2307
|
+
If there are duplicated filename in same fieldName, server can't parse them all.
|
|
1612
2308
|
):
|
|
1613
2309
|
|
|
1614
2310
|
```
|
|
@@ -1638,9 +2334,9 @@ Content-Type: application/octet-stream
|
|
|
1638
2334
|
Please send request twice, first time with only profileImage, second time with both profileImage and picture(
|
|
1639
2335
|
|
|
1640
2336
|
- according to https://datatracker.ietf.org/doc/html/rfc7578#section-4.4, content-type of file part shall be labeled with
|
|
1641
|
-
appropriate media type,
|
|
2337
|
+
appropriate media type, server will check it; content-type of other parts is optional, server will ignore it.
|
|
1642
2338
|
- according to https://datatracker.ietf.org/doc/html/rfc7578#section-4.2, filename of file part SHOULD be supplied.
|
|
1643
|
-
If there are duplicated filename in same fieldName,
|
|
2339
|
+
If there are duplicated filename in same fieldName, server can't parse them all.
|
|
1644
2340
|
):
|
|
1645
2341
|
|
|
1646
2342
|
```
|
|
@@ -1661,39 +2357,642 @@ Content-Type: application/octet-stream
|
|
|
1661
2357
|
--abcde12345--
|
|
1662
2358
|
```
|
|
1663
2359
|
|
|
1664
|
-
###
|
|
2360
|
+
### Payload_MultiPart_FormData_optionalParts
|
|
1665
2361
|
|
|
1666
|
-
- Endpoint: `
|
|
2362
|
+
- Endpoint: `post /multipart/form-data/optional-parts`
|
|
1667
2363
|
|
|
1668
|
-
|
|
2364
|
+
Please send request three times:
|
|
2365
|
+
|
|
2366
|
+
- First time with only id
|
|
2367
|
+
- Second time with only profileImage
|
|
2368
|
+
- Third time with both id and profileImage
|
|
2369
|
+
|
|
2370
|
+
Expect requests (
|
|
2371
|
+
|
|
2372
|
+
- according to https://datatracker.ietf.org/doc/html/rfc7578#section-4.4, content-type of file part shall be labeled with
|
|
2373
|
+
appropriate media type, server will check it; content-type of other parts is optional, server will ignore it.
|
|
2374
|
+
- according to https://datatracker.ietf.org/doc/html/rfc7578#section-4.2, filename of file part SHOULD be supplied.
|
|
2375
|
+
If there are duplicated filename in same fieldName, server can't parse them all.
|
|
2376
|
+
):
|
|
2377
|
+
|
|
2378
|
+
```
|
|
2379
|
+
POST /upload HTTP/1.1
|
|
2380
|
+
Content-Length: 428
|
|
2381
|
+
Content-Type: multipart/form-data; boundary=abcde12345
|
|
2382
|
+
|
|
2383
|
+
--abcde12345
|
|
2384
|
+
Content-Disposition: form-data; name="id"
|
|
2385
|
+
Content-Type: text/plain
|
|
2386
|
+
|
|
2387
|
+
123
|
|
2388
|
+
--abcde12345--
|
|
2389
|
+
```
|
|
2390
|
+
|
|
2391
|
+
```
|
|
2392
|
+
POST /upload HTTP/1.1
|
|
2393
|
+
Content-Length: 428
|
|
2394
|
+
Content-Type: multipart/form-data; boundary=abcde12345
|
|
2395
|
+
|
|
2396
|
+
--abcde12345
|
|
2397
|
+
Content-Disposition: form-data; name="profileImage"; filename="<any-or-no-name-is-ok>"
|
|
2398
|
+
Content-Type: application/octet-stream
|
|
2399
|
+
|
|
2400
|
+
{…file content of .jpg file…}
|
|
2401
|
+
--abcde12345--
|
|
2402
|
+
```
|
|
2403
|
+
|
|
2404
|
+
```
|
|
2405
|
+
POST /upload HTTP/1.1
|
|
2406
|
+
Content-Length: 428
|
|
2407
|
+
Content-Type: multipart/form-data; boundary=abcde12345
|
|
2408
|
+
|
|
2409
|
+
--abcde12345
|
|
2410
|
+
Content-Disposition: form-data; name="id"
|
|
2411
|
+
Content-Type: text/plain
|
|
2412
|
+
|
|
2413
|
+
123
|
|
2414
|
+
--abcde12345
|
|
2415
|
+
Content-Disposition: form-data; name="profileImage"; filename="<any-or-no-name-is-ok>"
|
|
2416
|
+
Content-Type: application/octet-stream
|
|
2417
|
+
|
|
2418
|
+
{…file content of .jpg file…}
|
|
2419
|
+
--abcde12345--
|
|
2420
|
+
```
|
|
2421
|
+
|
|
2422
|
+
### Payload_MultiPart_FormData_withWireName
|
|
2423
|
+
|
|
2424
|
+
- Endpoint: `post /multipart/form-data/mixed-parts-with-wire-name`
|
|
2425
|
+
|
|
2426
|
+
Expect request with wire names (
|
|
2427
|
+
|
|
2428
|
+
- according to https://datatracker.ietf.org/doc/html/rfc7578#section-4.4, content-type of file part shall be labeled with
|
|
2429
|
+
appropriate media type, server will check it; content-type of other parts is optional, server will ignore it.
|
|
2430
|
+
- according to https://datatracker.ietf.org/doc/html/rfc7578#section-4.2, filename of file part SHOULD be supplied.
|
|
2431
|
+
If there are duplicated filename in same fieldName, server can't parse them all.
|
|
2432
|
+
):
|
|
2433
|
+
|
|
2434
|
+
```
|
|
2435
|
+
POST /upload HTTP/1.1
|
|
2436
|
+
Content-Length: 428
|
|
2437
|
+
Content-Type: multipart/form-data; boundary=abcde12345
|
|
2438
|
+
|
|
2439
|
+
--abcde12345
|
|
2440
|
+
Content-Disposition: form-data; name="id"
|
|
2441
|
+
Content-Type: text/plain
|
|
2442
|
+
|
|
2443
|
+
123
|
|
2444
|
+
--abcde12345
|
|
2445
|
+
Content-Disposition: form-data; name="profileImage"; filename="<any-or-no-name-is-ok>"
|
|
2446
|
+
Content-Type: application/octet-stream;
|
|
2447
|
+
|
|
2448
|
+
{…file content of .jpg file…}
|
|
2449
|
+
--abcde12345--
|
|
2450
|
+
```
|
|
2451
|
+
|
|
2452
|
+
### Payload_Pageable_PageSize_listWithoutContinuation
|
|
2453
|
+
|
|
2454
|
+
- Endpoint: `get /payload/pageable/pagesize/without-continuation`
|
|
2455
|
+
|
|
2456
|
+
Test case for simple pagination without nextlink or continuationToken.
|
|
2457
|
+
|
|
2458
|
+
Single request:
|
|
2459
|
+
Expected route: /payload/pageable/pagesize/without-continuation
|
|
2460
|
+
|
|
2461
|
+
Expected response body:
|
|
2462
|
+
|
|
2463
|
+
```json
|
|
2464
|
+
{
|
|
2465
|
+
"pets": [
|
|
2466
|
+
{ "id": "1", "name": "dog" },
|
|
2467
|
+
{ "id": "2", "name": "cat" },
|
|
2468
|
+
{ "id": "3", "name": "bird" },
|
|
2469
|
+
{ "id": "4", "name": "fish" }
|
|
2470
|
+
]
|
|
2471
|
+
}
|
|
2472
|
+
```
|
|
2473
|
+
|
|
2474
|
+
### Payload_Pageable_PageSize_listWithPageSize
|
|
2475
|
+
|
|
2476
|
+
- Endpoint: `get /payload/pageable/pagesize/list`
|
|
2477
|
+
|
|
2478
|
+
Test case for pagination with a regular @pageSize parameter.
|
|
2479
|
+
|
|
2480
|
+
Two requests need to be tested:
|
|
2481
|
+
|
|
2482
|
+
1. Request with pageSize=2:
|
|
2483
|
+
Expected route: /payload/pageable/pagesize/list?pageSize=2
|
|
2484
|
+
|
|
2485
|
+
Expected response body:
|
|
2486
|
+
|
|
2487
|
+
```json
|
|
2488
|
+
{
|
|
2489
|
+
"pets": [
|
|
2490
|
+
{ "id": "1", "name": "dog" },
|
|
2491
|
+
{ "id": "2", "name": "cat" }
|
|
2492
|
+
]
|
|
2493
|
+
}
|
|
2494
|
+
```
|
|
2495
|
+
|
|
2496
|
+
2. Request with pageSize=4:
|
|
2497
|
+
Expected route: /payload/pageable/pagesize/list?pageSize=4
|
|
2498
|
+
|
|
2499
|
+
Expected response body:
|
|
2500
|
+
|
|
2501
|
+
```json
|
|
2502
|
+
{
|
|
2503
|
+
"pets": [
|
|
2504
|
+
{ "id": "1", "name": "dog" },
|
|
2505
|
+
{ "id": "2", "name": "cat" },
|
|
2506
|
+
{ "id": "3", "name": "bird" },
|
|
2507
|
+
{ "id": "4", "name": "fish" }
|
|
2508
|
+
]
|
|
2509
|
+
}
|
|
2510
|
+
```
|
|
2511
|
+
|
|
2512
|
+
### Payload_Pageable_ServerDrivenPagination_ContinuationToken_requestHeaderNestedResponseBody
|
|
2513
|
+
|
|
2514
|
+
- Endpoint: `get /payload/pageable/server-driven-pagination/continuationtoken/request-header-nested-response-body`
|
|
2515
|
+
|
|
2516
|
+
Test case for using continuation token as pagination with nested response structure. Continuation token is passed in the request header and nested within response body.
|
|
2517
|
+
|
|
2518
|
+
Two requests need to be tested.
|
|
2519
|
+
|
|
2520
|
+
1. Initial request:
|
|
2521
|
+
Expected route: /payload/pageable/server-driven-pagination/continuationtoken/request-header-nested-response-body?bar=bar
|
|
2522
|
+
|
|
2523
|
+
Expected request header:
|
|
2524
|
+
foo=foo
|
|
2525
|
+
|
|
2526
|
+
Expected response body:
|
|
2527
|
+
|
|
2528
|
+
```json
|
|
2529
|
+
{
|
|
2530
|
+
"nestedItems": {
|
|
2531
|
+
"pets": [
|
|
2532
|
+
{ "id": "1", "name": "dog" },
|
|
2533
|
+
{ "id": "2", "name": "cat" }
|
|
2534
|
+
]
|
|
2535
|
+
},
|
|
2536
|
+
"next": {
|
|
2537
|
+
"nextToken": "page2"
|
|
2538
|
+
}
|
|
2539
|
+
}
|
|
2540
|
+
```
|
|
2541
|
+
|
|
2542
|
+
2. Next page request:
|
|
2543
|
+
Expected route: /payload/pageable/server-driven-pagination/continuationtoken/request-header-nested-response-body?bar=bar
|
|
2544
|
+
|
|
2545
|
+
Expected request header:
|
|
2546
|
+
token=page2
|
|
2547
|
+
foo=foo
|
|
2548
|
+
|
|
2549
|
+
Expected response body:
|
|
2550
|
+
|
|
2551
|
+
```json
|
|
2552
|
+
{
|
|
2553
|
+
"nestedItems": {
|
|
2554
|
+
"pets": [
|
|
2555
|
+
{ "id": "3", "name": "bird" },
|
|
2556
|
+
{ "id": "4", "name": "fish" }
|
|
2557
|
+
]
|
|
2558
|
+
}
|
|
2559
|
+
}
|
|
2560
|
+
```
|
|
2561
|
+
|
|
2562
|
+
### Payload_Pageable_ServerDrivenPagination_ContinuationToken_requestHeaderResponseBody
|
|
2563
|
+
|
|
2564
|
+
- Endpoint: `get /payload/pageable/server-driven-pagination/continuationtoken/request-header-response-body`
|
|
2565
|
+
|
|
2566
|
+
Test case for using continuation token as pagination. Continuation token is passed in the request header and response body.
|
|
2567
|
+
|
|
2568
|
+
Two requests need to be tested.
|
|
2569
|
+
|
|
2570
|
+
1. Initial request:
|
|
2571
|
+
Expected route: /payload/pageable/server-driven-pagination/continuationtoken/request-header-response-body?bar=bar
|
|
2572
|
+
|
|
2573
|
+
Expected request header:
|
|
2574
|
+
foo=foo
|
|
2575
|
+
|
|
2576
|
+
Expected response body:
|
|
2577
|
+
|
|
2578
|
+
```json
|
|
2579
|
+
{
|
|
2580
|
+
"pets": [
|
|
2581
|
+
{ "id": "1", "name": "dog" },
|
|
2582
|
+
{ "id": "2", "name": "cat" }
|
|
2583
|
+
],
|
|
2584
|
+
"nextToken": "page2"
|
|
2585
|
+
}
|
|
2586
|
+
```
|
|
2587
|
+
|
|
2588
|
+
2. Next page request:
|
|
2589
|
+
Expected route: /payload/pageable/server-driven-pagination/continuationtoken/request-header-response-body?bar=bar
|
|
2590
|
+
|
|
2591
|
+
Expected request header:
|
|
2592
|
+
token=page2
|
|
2593
|
+
foo=foo
|
|
2594
|
+
|
|
2595
|
+
Expected response body:
|
|
2596
|
+
|
|
2597
|
+
```json
|
|
2598
|
+
{
|
|
2599
|
+
"pets": [
|
|
2600
|
+
{ "id": "3", "name": "bird" },
|
|
2601
|
+
{ "id": "4", "name": "fish" }
|
|
2602
|
+
]
|
|
2603
|
+
}
|
|
2604
|
+
```
|
|
2605
|
+
|
|
2606
|
+
### Payload_Pageable_ServerDrivenPagination_ContinuationToken_requestHeaderResponseHeader
|
|
2607
|
+
|
|
2608
|
+
- Endpoint: `get /payload/pageable/server-driven-pagination/continuationtoken/request-header-response-header`
|
|
2609
|
+
|
|
2610
|
+
Test case for using continuation token as pagination. Continuation token is passed in the request header and response header.
|
|
2611
|
+
|
|
2612
|
+
Two requests need to be tested.
|
|
2613
|
+
|
|
2614
|
+
1. Initial request:
|
|
2615
|
+
Expected route: /payload/pageable/server-driven-pagination/continuationtoken/request-header-response-header?bar=bar
|
|
2616
|
+
|
|
2617
|
+
Expected request header:
|
|
2618
|
+
foo=foo
|
|
2619
|
+
|
|
2620
|
+
Expected response body:
|
|
2621
|
+
|
|
2622
|
+
```json
|
|
2623
|
+
{
|
|
2624
|
+
"pets": [
|
|
2625
|
+
{ "id": "1", "name": "dog" },
|
|
2626
|
+
{ "id": "2", "name": "cat" }
|
|
2627
|
+
]
|
|
2628
|
+
}
|
|
2629
|
+
```
|
|
2630
|
+
|
|
2631
|
+
Expected response header:
|
|
2632
|
+
next-token=page2
|
|
2633
|
+
|
|
2634
|
+
2. Next page request:
|
|
2635
|
+
Expected route: /payload/pageable/server-driven-pagination/continuationtoken/request-header-response-header?bar=bar
|
|
2636
|
+
|
|
2637
|
+
Expected request header:
|
|
2638
|
+
token=page2
|
|
2639
|
+
foo=foo
|
|
2640
|
+
|
|
2641
|
+
Expected response body:
|
|
2642
|
+
|
|
2643
|
+
```json
|
|
2644
|
+
{
|
|
2645
|
+
"pets": [
|
|
2646
|
+
{ "id": "3", "name": "bird" },
|
|
2647
|
+
{ "id": "4", "name": "fish" }
|
|
2648
|
+
]
|
|
2649
|
+
}
|
|
2650
|
+
```
|
|
2651
|
+
|
|
2652
|
+
### Payload_Pageable_ServerDrivenPagination_ContinuationToken_requestQueryNestedResponseBody
|
|
2653
|
+
|
|
2654
|
+
- Endpoint: `get /payload/pageable/server-driven-pagination/continuationtoken/request-query-nested-response-body`
|
|
2655
|
+
|
|
2656
|
+
Test case for using continuation token as pagination with nested response structure. Continuation token is passed in the request query and nested within response body.
|
|
2657
|
+
|
|
2658
|
+
Two requests need to be tested.
|
|
2659
|
+
|
|
2660
|
+
1. Initial request:
|
|
2661
|
+
Expected route: /payload/pageable/server-driven-pagination/continuationtoken/request-query-nested-response-body?bar=bar
|
|
2662
|
+
|
|
2663
|
+
Expected request header:
|
|
2664
|
+
foo=foo
|
|
2665
|
+
|
|
2666
|
+
Expected response body:
|
|
2667
|
+
|
|
2668
|
+
```json
|
|
2669
|
+
{
|
|
2670
|
+
"nestedItems": {
|
|
2671
|
+
"pets": [
|
|
2672
|
+
{ "id": "1", "name": "dog" },
|
|
2673
|
+
{ "id": "2", "name": "cat" }
|
|
2674
|
+
]
|
|
2675
|
+
},
|
|
2676
|
+
"nestedNext": {
|
|
2677
|
+
"nextToken": "page2"
|
|
2678
|
+
}
|
|
2679
|
+
}
|
|
2680
|
+
```
|
|
2681
|
+
|
|
2682
|
+
2. Next page request:
|
|
2683
|
+
Expected route: /payload/pageable/server-driven-pagination/continuationtoken/request-query-nested-response-body?bar=bar&token=page2
|
|
2684
|
+
|
|
2685
|
+
Expected request header:
|
|
2686
|
+
foo=foo
|
|
2687
|
+
|
|
2688
|
+
Expected response body:
|
|
2689
|
+
|
|
2690
|
+
```json
|
|
2691
|
+
{
|
|
2692
|
+
"nestedItems": {
|
|
2693
|
+
"pets": [
|
|
2694
|
+
{ "id": "3", "name": "bird" },
|
|
2695
|
+
{ "id": "4", "name": "fish" }
|
|
2696
|
+
]
|
|
2697
|
+
}
|
|
2698
|
+
}
|
|
2699
|
+
```
|
|
2700
|
+
|
|
2701
|
+
### Payload_Pageable_ServerDrivenPagination_ContinuationToken_requestQueryResponseBody
|
|
2702
|
+
|
|
2703
|
+
- Endpoint: `get /payload/pageable/server-driven-pagination/continuationtoken/request-query-response-body`
|
|
2704
|
+
|
|
2705
|
+
Test case for using continuation token as pagination. Continuation token is passed in the request query and response body.
|
|
2706
|
+
|
|
2707
|
+
Two requests need to be tested.
|
|
2708
|
+
|
|
2709
|
+
1. Initial request:
|
|
2710
|
+
Expected route: /payload/pageable/server-driven-pagination/continuationtoken/request-query-response-body?bar=bar
|
|
2711
|
+
|
|
2712
|
+
Expected request header:
|
|
2713
|
+
foo=foo
|
|
2714
|
+
|
|
2715
|
+
Expected response body:
|
|
2716
|
+
|
|
2717
|
+
```json
|
|
2718
|
+
{
|
|
2719
|
+
"pets": [
|
|
2720
|
+
{ "id": "1", "name": "dog" },
|
|
2721
|
+
{ "id": "2", "name": "cat" }
|
|
2722
|
+
],
|
|
2723
|
+
"nextToken": "page2"
|
|
2724
|
+
}
|
|
2725
|
+
```
|
|
2726
|
+
|
|
2727
|
+
2. Next page request:
|
|
2728
|
+
Expected route: /payload/pageable/server-driven-pagination/continuationtoken/request-query-response-body?bar=bar&token=page2
|
|
2729
|
+
|
|
2730
|
+
Expected request header:
|
|
2731
|
+
foo=foo
|
|
2732
|
+
|
|
2733
|
+
Expected response body:
|
|
2734
|
+
|
|
2735
|
+
```json
|
|
2736
|
+
{
|
|
2737
|
+
"pets": [
|
|
2738
|
+
{ "id": "3", "name": "bird" },
|
|
2739
|
+
{ "id": "4", "name": "fish" }
|
|
2740
|
+
]
|
|
2741
|
+
}
|
|
2742
|
+
```
|
|
2743
|
+
|
|
2744
|
+
### Payload_Pageable_ServerDrivenPagination_ContinuationToken_requestQueryResponseHeader
|
|
2745
|
+
|
|
2746
|
+
- Endpoint: `get /payload/pageable/server-driven-pagination/continuationtoken/request-query-response-header`
|
|
2747
|
+
|
|
2748
|
+
Test case for using continuation token as pagination. Continuation token is passed in the request query and response header.
|
|
2749
|
+
|
|
2750
|
+
Two requests need to be tested.
|
|
2751
|
+
|
|
2752
|
+
1. Initial request:
|
|
2753
|
+
Expected route: /payload/pageable/server-driven-pagination/continuationtoken/request-query-response-header?bar=bar
|
|
2754
|
+
|
|
2755
|
+
Expected request header:
|
|
2756
|
+
foo=foo
|
|
2757
|
+
|
|
2758
|
+
Expected response body:
|
|
2759
|
+
|
|
2760
|
+
```json
|
|
2761
|
+
{
|
|
2762
|
+
"pets": [
|
|
2763
|
+
{ "id": "1", "name": "dog" },
|
|
2764
|
+
{ "id": "2", "name": "cat" }
|
|
2765
|
+
]
|
|
2766
|
+
}
|
|
2767
|
+
```
|
|
2768
|
+
|
|
2769
|
+
Expected response header:
|
|
2770
|
+
next-token=page2
|
|
2771
|
+
|
|
2772
|
+
2. Next page request:
|
|
2773
|
+
Expected route: /payload/pageable/server-driven-pagination/continuationtoken/request-query-response-header?bar=bar&token=page2
|
|
2774
|
+
|
|
2775
|
+
Expected request header:
|
|
2776
|
+
foo=foo
|
|
2777
|
+
|
|
2778
|
+
Expected response body:
|
|
2779
|
+
|
|
2780
|
+
```json
|
|
2781
|
+
{
|
|
2782
|
+
"pets": [
|
|
2783
|
+
{ "id": "3", "name": "bird" },
|
|
2784
|
+
{ "id": "4", "name": "fish" }
|
|
2785
|
+
]
|
|
2786
|
+
}
|
|
2787
|
+
```
|
|
2788
|
+
|
|
2789
|
+
### Payload_Pageable_ServerDrivenPagination_link
|
|
2790
|
+
|
|
2791
|
+
- Endpoint: `get /payload/pageable/server-driven-pagination/link`
|
|
2792
|
+
|
|
2793
|
+
Test case for using link as pagination.
|
|
2794
|
+
|
|
2795
|
+
Two requests need to be tested.
|
|
2796
|
+
|
|
2797
|
+
1. Initial request:
|
|
2798
|
+
Expected route: /payload/pageable/server-driven-pagination/link
|
|
2799
|
+
Expected response body:
|
|
2800
|
+
|
|
2801
|
+
```json
|
|
2802
|
+
{
|
|
2803
|
+
"pets": [
|
|
2804
|
+
{ "id": "1", "name": "dog" },
|
|
2805
|
+
{ "id": "2", "name": "cat" }
|
|
2806
|
+
],
|
|
2807
|
+
"next": "http://[host]:[port]/payload/pageable/server-driven-pagination/link/nextPage"
|
|
2808
|
+
}
|
|
2809
|
+
```
|
|
2810
|
+
|
|
2811
|
+
2. Next page request:
|
|
2812
|
+
Expected route: /payload/pageable/server-driven-pagination/link/nextPage
|
|
2813
|
+
Expected response body:
|
|
2814
|
+
|
|
2815
|
+
```json
|
|
2816
|
+
{
|
|
2817
|
+
"pets": [
|
|
2818
|
+
{ "id": "3", "name": "bird" },
|
|
2819
|
+
{ "id": "4", "name": "fish" }
|
|
2820
|
+
]
|
|
2821
|
+
}
|
|
2822
|
+
```
|
|
2823
|
+
|
|
2824
|
+
### Payload_Pageable_ServerDrivenPagination_linkString
|
|
2825
|
+
|
|
2826
|
+
- Endpoint: `get /payload/pageable/server-driven-pagination/link-string`
|
|
2827
|
+
|
|
2828
|
+
Test case for using link as pagination with string nextLink.
|
|
2829
|
+
|
|
2830
|
+
Two requests need to be tested.
|
|
2831
|
+
|
|
2832
|
+
1. Initial request:
|
|
2833
|
+
Expected route: /payload/pageable/server-driven-pagination/link-string
|
|
2834
|
+
Expected response body:
|
|
2835
|
+
|
|
2836
|
+
```json
|
|
2837
|
+
{
|
|
2838
|
+
"pets": [
|
|
2839
|
+
{ "id": "1", "name": "dog" },
|
|
2840
|
+
{ "id": "2", "name": "cat" }
|
|
2841
|
+
],
|
|
2842
|
+
"next": "http://[host]:[port]/payload/pageable/server-driven-pagination/link-string/nextPage"
|
|
2843
|
+
}
|
|
2844
|
+
```
|
|
2845
|
+
|
|
2846
|
+
2. Next page request:
|
|
2847
|
+
Expected route: /payload/pageable/server-driven-pagination/link-string/nextPage
|
|
2848
|
+
Expected response body:
|
|
2849
|
+
|
|
2850
|
+
```json
|
|
2851
|
+
{
|
|
2852
|
+
"pets": [
|
|
2853
|
+
{ "id": "3", "name": "bird" },
|
|
2854
|
+
{ "id": "4", "name": "fish" }
|
|
2855
|
+
]
|
|
2856
|
+
}
|
|
2857
|
+
```
|
|
2858
|
+
|
|
2859
|
+
### Payload_Pageable_ServerDrivenPagination_nestedLink
|
|
2860
|
+
|
|
2861
|
+
- Endpoint: `get /payload/pageable/server-driven-pagination/nested-link`
|
|
2862
|
+
|
|
2863
|
+
Test case for using link as pagination with nested structure.
|
|
2864
|
+
|
|
2865
|
+
Two requests need to be tested.
|
|
2866
|
+
|
|
2867
|
+
1. Initial request:
|
|
2868
|
+
Expected route: /payload/pageable/server-driven-pagination/nested-link
|
|
2869
|
+
Expected response body:
|
|
2870
|
+
|
|
2871
|
+
```json
|
|
2872
|
+
{
|
|
2873
|
+
"nestedItems": {
|
|
2874
|
+
"pets": [
|
|
2875
|
+
{ "id": "1", "name": "dog" },
|
|
2876
|
+
{ "id": "2", "name": "cat" }
|
|
2877
|
+
]
|
|
2878
|
+
},
|
|
2879
|
+
"nestedNext": {
|
|
2880
|
+
"next": "http://[host]:[port]/payload/pageable/server-driven-pagination/nested-link/nextPage"
|
|
2881
|
+
}
|
|
2882
|
+
}
|
|
2883
|
+
```
|
|
2884
|
+
|
|
2885
|
+
2. Next page request:
|
|
2886
|
+
Expected route: /payload/pageable/server-driven-pagination/nested-link/nextPage
|
|
2887
|
+
Expected response body:
|
|
2888
|
+
|
|
2889
|
+
```json
|
|
2890
|
+
{
|
|
2891
|
+
"nestedItems": {
|
|
2892
|
+
"pets": [
|
|
2893
|
+
{ "id": "3", "name": "bird" },
|
|
2894
|
+
{ "id": "4", "name": "fish" }
|
|
2895
|
+
]
|
|
2896
|
+
}
|
|
2897
|
+
}
|
|
2898
|
+
```
|
|
2899
|
+
|
|
2900
|
+
### Payload_Pageable_XmlPagination_listWithContinuation
|
|
2901
|
+
|
|
2902
|
+
- Endpoint: `get /payload/pageable/xml/list-with-continuation`
|
|
2903
|
+
|
|
2904
|
+
Test case for XML pagination with continuation token. Continuation token is passed in the request query and response body.
|
|
2905
|
+
|
|
2906
|
+
Two requests need to be tested.
|
|
2907
|
+
|
|
2908
|
+
1. Initial request:
|
|
2909
|
+
Expected route: /payload/pageable/xml/list
|
|
2910
|
+
|
|
2911
|
+
Expected response body:
|
|
2912
|
+
|
|
2913
|
+
```xml
|
|
2914
|
+
<PetListResult>
|
|
2915
|
+
<Pets>
|
|
2916
|
+
<Pet>
|
|
2917
|
+
<Id>1</Id>
|
|
2918
|
+
<Name>dog</Name>
|
|
2919
|
+
</Pet>
|
|
2920
|
+
<Pet>
|
|
2921
|
+
<Id>2</Id>
|
|
2922
|
+
<Name>cat</Name>
|
|
2923
|
+
</Pet>
|
|
2924
|
+
</Pets>
|
|
2925
|
+
<NextMarker>page2</NextMarker>
|
|
2926
|
+
</PetListResult>
|
|
2927
|
+
```
|
|
2928
|
+
|
|
2929
|
+
2. Next page request:
|
|
2930
|
+
Expected route: /payload/pageable/xml/list?marker=page2
|
|
2931
|
+
|
|
2932
|
+
Expected response body:
|
|
2933
|
+
|
|
2934
|
+
```xml
|
|
2935
|
+
<PetListResult>
|
|
2936
|
+
<Pets>
|
|
2937
|
+
<Pet>
|
|
2938
|
+
<Id>3</Id>
|
|
2939
|
+
<Name>bird</Name>
|
|
2940
|
+
</Pet>
|
|
2941
|
+
<Pet>
|
|
2942
|
+
<Id>4</Id>
|
|
2943
|
+
<Name>fish</Name>
|
|
2944
|
+
</Pet>
|
|
2945
|
+
</Pets>
|
|
2946
|
+
</PetListResult>
|
|
2947
|
+
```
|
|
2948
|
+
|
|
2949
|
+
### Payload_Pageable_XmlPagination_listWithNextLink
|
|
2950
|
+
|
|
2951
|
+
- Endpoint: `get /payload/pageable/xml/list-with-next-link`
|
|
2952
|
+
|
|
2953
|
+
Test case for XML pagination with next link.
|
|
1669
2954
|
|
|
1670
2955
|
Two requests need to be tested.
|
|
1671
2956
|
|
|
1672
2957
|
1. Initial request:
|
|
1673
|
-
Expected route: /payload/pageable/
|
|
1674
|
-
Expected response body:
|
|
2958
|
+
Expected route: /payload/pageable/xml/list-with-next-link
|
|
1675
2959
|
|
|
1676
|
-
|
|
1677
|
-
|
|
1678
|
-
|
|
1679
|
-
|
|
1680
|
-
|
|
1681
|
-
|
|
1682
|
-
|
|
1683
|
-
|
|
2960
|
+
Expected response body:
|
|
2961
|
+
|
|
2962
|
+
```xml
|
|
2963
|
+
<PetListResult>
|
|
2964
|
+
<Pets>
|
|
2965
|
+
<Pet>
|
|
2966
|
+
<Id>1</Id>
|
|
2967
|
+
<Name>dog</Name>
|
|
2968
|
+
</Pet>
|
|
2969
|
+
<Pet>
|
|
2970
|
+
<Id>2</Id>
|
|
2971
|
+
<Name>cat</Name>
|
|
2972
|
+
</Pet>
|
|
2973
|
+
</Pets>
|
|
2974
|
+
<NextLink>http://[host]:[port]/payload/pageable/xml/list-with-next-link/nextPage</NextLink>
|
|
2975
|
+
</PetListResult>
|
|
1684
2976
|
```
|
|
1685
2977
|
|
|
1686
2978
|
2. Next page request:
|
|
1687
|
-
Expected route: /payload/pageable/
|
|
1688
|
-
Expected response body:
|
|
2979
|
+
Expected route: /payload/pageable/xml/list-with-next-link/nextPage
|
|
1689
2980
|
|
|
1690
|
-
|
|
1691
|
-
|
|
1692
|
-
|
|
1693
|
-
|
|
1694
|
-
|
|
1695
|
-
|
|
1696
|
-
|
|
2981
|
+
Expected response body:
|
|
2982
|
+
|
|
2983
|
+
```xml
|
|
2984
|
+
<PetListResult>
|
|
2985
|
+
<Pets>
|
|
2986
|
+
<Pet>
|
|
2987
|
+
<Id>3</Id>
|
|
2988
|
+
<Name>bird</Name>
|
|
2989
|
+
</Pet>
|
|
2990
|
+
<Pet>
|
|
2991
|
+
<Id>4</Id>
|
|
2992
|
+
<Name>fish</Name>
|
|
2993
|
+
</Pet>
|
|
2994
|
+
</Pets>
|
|
2995
|
+
</PetListResult>
|
|
1697
2996
|
```
|
|
1698
2997
|
|
|
1699
2998
|
### Payload_Xml_ModelWithArrayOfModelValue_get
|
|
@@ -1762,6 +3061,32 @@ Expected request body:
|
|
|
1762
3061
|
</ModelWithAttributes>
|
|
1763
3062
|
```
|
|
1764
3063
|
|
|
3064
|
+
### Payload_Xml_ModelWithDatetimeValue_get
|
|
3065
|
+
|
|
3066
|
+
- Endpoint: `get /payload/xml/modelWithDatetime`
|
|
3067
|
+
|
|
3068
|
+
Expected response body:
|
|
3069
|
+
|
|
3070
|
+
```xml
|
|
3071
|
+
<ModelWithDatetime>
|
|
3072
|
+
<rfc3339>2022-08-26T18:38:00.000Z</rfc3339>
|
|
3073
|
+
<rfc7231>Fri, 26 Aug 2022 14:38:00 GMT</rfc7231>
|
|
3074
|
+
</ModelWithDatetime>
|
|
3075
|
+
```
|
|
3076
|
+
|
|
3077
|
+
### Payload_Xml_ModelWithDatetimeValue_put
|
|
3078
|
+
|
|
3079
|
+
- Endpoint: `put /payload/xml/modelWithDatetime`
|
|
3080
|
+
|
|
3081
|
+
Expected request body:
|
|
3082
|
+
|
|
3083
|
+
```xml
|
|
3084
|
+
<ModelWithDatetime>
|
|
3085
|
+
<rfc3339>2022-08-26T18:38:00.000Z</rfc3339>
|
|
3086
|
+
<rfc7231>Fri, 26 Aug 2022 14:38:00 GMT</rfc7231>
|
|
3087
|
+
</ModelWithDatetime>
|
|
3088
|
+
```
|
|
3089
|
+
|
|
1765
3090
|
### Payload_Xml_ModelWithDictionaryValue_get
|
|
1766
3091
|
|
|
1767
3092
|
- Endpoint: `get /payload/xml/modelWithDictionary`
|
|
@@ -1858,6 +3183,30 @@ Expected request body:
|
|
|
1858
3183
|
</ModelWithEncodedNamesSrc>
|
|
1859
3184
|
```
|
|
1860
3185
|
|
|
3186
|
+
### Payload_Xml_ModelWithEnumValue_get
|
|
3187
|
+
|
|
3188
|
+
- Endpoint: `get /payload/xml/modelWithEnum`
|
|
3189
|
+
|
|
3190
|
+
Expected response body:
|
|
3191
|
+
|
|
3192
|
+
```xml
|
|
3193
|
+
<ModelWithEnum>
|
|
3194
|
+
<status>success</status>
|
|
3195
|
+
</ModelWithEnum>
|
|
3196
|
+
```
|
|
3197
|
+
|
|
3198
|
+
### Payload_Xml_ModelWithEnumValue_put
|
|
3199
|
+
|
|
3200
|
+
- Endpoint: `put /payload/xml/modelWithEnum`
|
|
3201
|
+
|
|
3202
|
+
Expected request body:
|
|
3203
|
+
|
|
3204
|
+
```xml
|
|
3205
|
+
<ModelWithEnum>
|
|
3206
|
+
<status>success</status>
|
|
3207
|
+
</ModelWithEnum>
|
|
3208
|
+
```
|
|
3209
|
+
|
|
1861
3210
|
### Payload_Xml_ModelWithOptionalFieldValue_get
|
|
1862
3211
|
|
|
1863
3212
|
- Endpoint: `get /payload/xml/modelWithOptionalField`
|
|
@@ -2082,6 +3431,19 @@ Expected request body:
|
|
|
2082
3431
|
</SimpleModel>
|
|
2083
3432
|
```
|
|
2084
3433
|
|
|
3434
|
+
### Payload_Xml_XmlErrorValue_get
|
|
3435
|
+
|
|
3436
|
+
- Endpoint: `get /payload/xml/error`
|
|
3437
|
+
|
|
3438
|
+
Expected error response body:
|
|
3439
|
+
|
|
3440
|
+
```xml
|
|
3441
|
+
<XmlErrorBody>
|
|
3442
|
+
<message>Something went wrong</message>
|
|
3443
|
+
<code>400</code>
|
|
3444
|
+
</XmlErrorBody>
|
|
3445
|
+
```
|
|
3446
|
+
|
|
2085
3447
|
### Response_StatusCodeRange_errorResponseStatusCode404
|
|
2086
3448
|
|
|
2087
3449
|
- Endpoint: `get /response/status-code-range/error-response-status-code-404`
|
|
@@ -2200,7 +3562,7 @@ Expected path: /routes/path/label/standard/record.a,1,b,2
|
|
|
2200
3562
|
|
|
2201
3563
|
Test matrix expansion with explode: true when passed an array value.
|
|
2202
3564
|
Param value: ["a","b"]
|
|
2203
|
-
Expected path: /routes/path/matrix/explode/array;a
|
|
3565
|
+
Expected path: /routes/path/matrix/explode/array;param=a;param=b
|
|
2204
3566
|
|
|
2205
3567
|
### Routes_PathParameters_MatrixExpansion_Explode_primitive
|
|
2206
3568
|
|
|
@@ -2208,7 +3570,7 @@ Expected path: /routes/path/matrix/explode/array;a.b
|
|
|
2208
3570
|
|
|
2209
3571
|
Test matrix expansion with explode: true when passed a primitive value.
|
|
2210
3572
|
Param value: "a"
|
|
2211
|
-
Expected path: /routes/path/matrix/explode/primitive;a
|
|
3573
|
+
Expected path: /routes/path/matrix/explode/primitive;param=a
|
|
2212
3574
|
|
|
2213
3575
|
### Routes_PathParameters_MatrixExpansion_Explode_record
|
|
2214
3576
|
|
|
@@ -2224,7 +3586,7 @@ Expected path: /routes/path/matrix/explode/record;a=1;b=2
|
|
|
2224
3586
|
|
|
2225
3587
|
Test matrix expansion with explode: false when passed an array value.
|
|
2226
3588
|
Param value: ["a","b"]
|
|
2227
|
-
Expected path: /routes/path/matrix/standard/array;a
|
|
3589
|
+
Expected path: /routes/path/matrix/standard/array;param=a;param=b
|
|
2228
3590
|
|
|
2229
3591
|
### Routes_PathParameters_MatrixExpansion_Standard_primitive
|
|
2230
3592
|
|
|
@@ -2232,7 +3594,7 @@ Expected path: /routes/path/matrix/standard/array;a,b
|
|
|
2232
3594
|
|
|
2233
3595
|
Test matrix expansion with explode: false when passed a primitive value.
|
|
2234
3596
|
Param value: "a"
|
|
2235
|
-
Expected path: /routes/path/matrix/standard/primitive;a
|
|
3597
|
+
Expected path: /routes/path/matrix/standard/primitive;param=a
|
|
2236
3598
|
|
|
2237
3599
|
### Routes_PathParameters_MatrixExpansion_Standard_record
|
|
2238
3600
|
|
|
@@ -2240,7 +3602,7 @@ Expected path: /routes/path/matrix/standard/primitive;a
|
|
|
2240
3602
|
|
|
2241
3603
|
Test matrix expansion with explode: false when passed a record value.
|
|
2242
3604
|
Param value: {a: 1, b: 2}
|
|
2243
|
-
Expected path: /routes/path/matrix/standard/record;a
|
|
3605
|
+
Expected path: /routes/path/matrix/standard/record;a=1;b=2
|
|
2244
3606
|
|
|
2245
3607
|
### Routes_PathParameters_PathExpansion_Explode_array
|
|
2246
3608
|
|
|
@@ -2615,6 +3977,36 @@ Expected header parameters:
|
|
|
2615
3977
|
|
|
2616
3978
|
Check we recognize Repeatability-Request-ID and Repeatability-First-Sent.
|
|
2617
3979
|
|
|
3980
|
+
### SpecialWords_ExtensibleStrings_putExtensibleStringValue
|
|
3981
|
+
|
|
3982
|
+
- Endpoint: `put /special-words/extensible-strings/string`
|
|
3983
|
+
|
|
3984
|
+
Verify that enum members with special word names can be sent and received properly.
|
|
3985
|
+
Send 'class' and expect the same value back.
|
|
3986
|
+
|
|
3987
|
+
### SpecialWords_ModelProperties_dictMethods
|
|
3988
|
+
|
|
3989
|
+
- Endpoint: `get /special-words/model-properties/dict-methods`
|
|
3990
|
+
|
|
3991
|
+
Verify that model properties can use names that are Python dict methods. These names (keys, items, values, etc.) may conflict with Python's dict class methods.
|
|
3992
|
+
|
|
3993
|
+
Send
|
|
3994
|
+
|
|
3995
|
+
```json
|
|
3996
|
+
{
|
|
3997
|
+
"keys": "ok",
|
|
3998
|
+
"items": "ok",
|
|
3999
|
+
"values": "ok",
|
|
4000
|
+
"popitem": "ok",
|
|
4001
|
+
"clear": "ok",
|
|
4002
|
+
"update": "ok",
|
|
4003
|
+
"setdefault": "ok",
|
|
4004
|
+
"pop": "ok",
|
|
4005
|
+
"get": "ok",
|
|
4006
|
+
"copy": "ok"
|
|
4007
|
+
}
|
|
4008
|
+
```
|
|
4009
|
+
|
|
2618
4010
|
### SpecialWords_ModelProperties_sameAsModel
|
|
2619
4011
|
|
|
2620
4012
|
- Endpoint: `get /special-words/model-properties/same-as-model`
|
|
@@ -2627,6 +4019,18 @@ Send
|
|
|
2627
4019
|
{ "SameAsModel": "ok" }
|
|
2628
4020
|
```
|
|
2629
4021
|
|
|
4022
|
+
### SpecialWords_ModelProperties_withList
|
|
4023
|
+
|
|
4024
|
+
- Endpoint: `get /special-words/model-properties/list`
|
|
4025
|
+
|
|
4026
|
+
Verify that a property can be named "list", which is a reserved word in many languages like Python.
|
|
4027
|
+
|
|
4028
|
+
Send
|
|
4029
|
+
|
|
4030
|
+
```json
|
|
4031
|
+
{ "list": "ok" }
|
|
4032
|
+
```
|
|
4033
|
+
|
|
2630
4034
|
### SpecialWords_Models_and
|
|
2631
4035
|
|
|
2632
4036
|
- Endpoint: `get /special-words/models/and`
|
|
@@ -3359,6 +4763,18 @@ Verify that the name "with" works. Send this parameter to pass with value `ok`.
|
|
|
3359
4763
|
|
|
3360
4764
|
Verify that the name "yield" works. Send this parameter to pass with value `ok`.
|
|
3361
4765
|
|
|
4766
|
+
### Streaming_Jsonl_Basic_receive
|
|
4767
|
+
|
|
4768
|
+
- Endpoint: `get /streaming/jsonl/basic/receive`
|
|
4769
|
+
|
|
4770
|
+
Basic jsonl streaming for response.
|
|
4771
|
+
|
|
4772
|
+
### Streaming_Jsonl_Basic_send
|
|
4773
|
+
|
|
4774
|
+
- Endpoint: `post /streaming/jsonl/basic/send`
|
|
4775
|
+
|
|
4776
|
+
Basic jsonl streaming for request.
|
|
4777
|
+
|
|
3362
4778
|
### Type_Array_BooleanValue_get
|
|
3363
4779
|
|
|
3364
4780
|
- Endpoint: `get /type/array/boolean`
|
|
@@ -3913,6 +5329,90 @@ Expect to send a known value. Mock api expect to receive 'Monday'
|
|
|
3913
5329
|
|
|
3914
5330
|
Expect to handle an unknown value. Mock api expect to receive 'Weekend'
|
|
3915
5331
|
|
|
5332
|
+
### Type_File_Body_downloadFileDefaultContentType
|
|
5333
|
+
|
|
5334
|
+
- Endpoint: `get /type/file/body/response/default-content-type`
|
|
5335
|
+
|
|
5336
|
+
Test File type as response body with unspecified content type.
|
|
5337
|
+
The File type accepts any content type. For testing, server will return image/png.
|
|
5338
|
+
Expected response:
|
|
5339
|
+
|
|
5340
|
+
- Content-Type header: image/png
|
|
5341
|
+
- Body: binary content matching packages/http-specs/assets/image.png
|
|
5342
|
+
|
|
5343
|
+
### Type_File_Body_downloadFileJsonContentType
|
|
5344
|
+
|
|
5345
|
+
- Endpoint: `get /type/file/body/response/json-content-type`
|
|
5346
|
+
|
|
5347
|
+
Test File type as response body with JSON content type.
|
|
5348
|
+
Expected response:
|
|
5349
|
+
|
|
5350
|
+
- Content-Type header: application/json
|
|
5351
|
+
- Body: JSON content with file data
|
|
5352
|
+
|
|
5353
|
+
### Type_File_Body_downloadFileMultipleContentTypes
|
|
5354
|
+
|
|
5355
|
+
- Endpoint: `get /type/file/body/response/multiple-content-types`
|
|
5356
|
+
|
|
5357
|
+
Test File type as response body with multiple allowed content types.
|
|
5358
|
+
Service will return image/png.
|
|
5359
|
+
Expected response:
|
|
5360
|
+
|
|
5361
|
+
- Content-Type header: image/png
|
|
5362
|
+
- Body: binary content matching packages/http-specs/assets/image.png
|
|
5363
|
+
|
|
5364
|
+
### Type_File_Body_downloadFileSpecificContentType
|
|
5365
|
+
|
|
5366
|
+
- Endpoint: `get /type/file/body/response/specific-content-type`
|
|
5367
|
+
|
|
5368
|
+
Test File type as response body with specific content type.
|
|
5369
|
+
Expected response:
|
|
5370
|
+
|
|
5371
|
+
- Content-Type header: image/png
|
|
5372
|
+
- Body: binary content matching packages/http-specs/assets/image.png
|
|
5373
|
+
|
|
5374
|
+
### Type_File_Body_uploadFileDefaultContentType
|
|
5375
|
+
|
|
5376
|
+
- Endpoint: `post /type/file/body/request/default-content-type`
|
|
5377
|
+
|
|
5378
|
+
Test File type as request body with unspecified content type.
|
|
5379
|
+
The File type accepts any content type. For testing, sender will use image/png.
|
|
5380
|
+
Expected request:
|
|
5381
|
+
|
|
5382
|
+
- Content-Type header: image/png
|
|
5383
|
+
- Body: binary content matching packages/http-specs/assets/image.png
|
|
5384
|
+
|
|
5385
|
+
### Type_File_Body_uploadFileJsonContentType
|
|
5386
|
+
|
|
5387
|
+
- Endpoint: `post /type/file/body/request/json-content-type`
|
|
5388
|
+
|
|
5389
|
+
Test File type as request body with JSON content type.
|
|
5390
|
+
Expected request:
|
|
5391
|
+
|
|
5392
|
+
- Content-Type header: application/json
|
|
5393
|
+
- Body: JSON content with file data
|
|
5394
|
+
|
|
5395
|
+
### Type_File_Body_uploadFileMultipleContentTypes
|
|
5396
|
+
|
|
5397
|
+
- Endpoint: `post /type/file/body/request/multiple-content-types`
|
|
5398
|
+
|
|
5399
|
+
Test File type as request body with multiple allowed content types (image/png or image/jpeg).
|
|
5400
|
+
Client should send image/png.
|
|
5401
|
+
Expected request:
|
|
5402
|
+
|
|
5403
|
+
- Content-Type header: image/png
|
|
5404
|
+
- Body: binary content matching packages/http-specs/assets/image.png
|
|
5405
|
+
|
|
5406
|
+
### Type_File_Body_uploadFileSpecificContentType
|
|
5407
|
+
|
|
5408
|
+
- Endpoint: `post /type/file/body/request/specific-content-type`
|
|
5409
|
+
|
|
5410
|
+
Test File type as request body with specific content type.
|
|
5411
|
+
Expected request:
|
|
5412
|
+
|
|
5413
|
+
- Content-Type header: image/png
|
|
5414
|
+
- Body: binary content matching packages/http-specs/assets/image.png
|
|
5415
|
+
|
|
3916
5416
|
### Type_Model_Empty_getEmpty
|
|
3917
5417
|
|
|
3918
5418
|
- Endpoint: `get /type/model/empty/alone`
|
|
@@ -4428,13 +5928,7 @@ Expected input body:
|
|
|
4428
5928
|
- Endpoint: `get /type/model/visibility`
|
|
4429
5929
|
|
|
4430
5930
|
Generate and receive output model with readonly properties.
|
|
4431
|
-
Expected
|
|
4432
|
-
|
|
4433
|
-
```json
|
|
4434
|
-
{
|
|
4435
|
-
"queryProp": 123
|
|
4436
|
-
}
|
|
4437
|
-
```
|
|
5931
|
+
Expected no body with `?queryProp=123`.
|
|
4438
5932
|
|
|
4439
5933
|
Expected response body:
|
|
4440
5934
|
|
|
@@ -4449,13 +5943,7 @@ Expected response body:
|
|
|
4449
5943
|
- Endpoint: `head /type/model/visibility`
|
|
4450
5944
|
|
|
4451
5945
|
Generate abd send put model with write/create properties.
|
|
4452
|
-
Expected
|
|
4453
|
-
|
|
4454
|
-
```json
|
|
4455
|
-
{
|
|
4456
|
-
"queryProp": 123
|
|
4457
|
-
}
|
|
4458
|
-
```
|
|
5946
|
+
Expected no body with `?queryProp=123`.
|
|
4459
5947
|
|
|
4460
5948
|
### Type_Model_Visibility_patchModel
|
|
4461
5949
|
|
|
@@ -5152,42 +6640,6 @@ Expected input body:
|
|
|
5152
6640
|
}
|
|
5153
6641
|
```
|
|
5154
6642
|
|
|
5155
|
-
### Type_Property_AdditionalProperties_SpreadRecordDiscriminatedUnion_get
|
|
5156
|
-
|
|
5157
|
-
- Endpoint: `get /type/property/additionalProperties/spreadRecordDiscriminatedUnion`
|
|
5158
|
-
|
|
5159
|
-
Expected response body:
|
|
5160
|
-
|
|
5161
|
-
```json
|
|
5162
|
-
{
|
|
5163
|
-
"name": "abc",
|
|
5164
|
-
"prop1": { "kind": "kind0", "fooProp": "abc" },
|
|
5165
|
-
"prop2": {
|
|
5166
|
-
"kind": "kind1",
|
|
5167
|
-
"start": "2021-01-01T00:00:00Z",
|
|
5168
|
-
"end": "2021-01-02T00:00:00Z"
|
|
5169
|
-
}
|
|
5170
|
-
}
|
|
5171
|
-
```
|
|
5172
|
-
|
|
5173
|
-
### Type_Property_AdditionalProperties_SpreadRecordDiscriminatedUnion_put
|
|
5174
|
-
|
|
5175
|
-
- Endpoint: `put /type/property/additionalProperties/spreadRecordDiscriminatedUnion`
|
|
5176
|
-
|
|
5177
|
-
Expected input body:
|
|
5178
|
-
|
|
5179
|
-
```json
|
|
5180
|
-
{
|
|
5181
|
-
"name": "abc",
|
|
5182
|
-
"prop1": { "kind": "kind0", "fooProp": "abc" },
|
|
5183
|
-
"prop2": {
|
|
5184
|
-
"kind": "kind1",
|
|
5185
|
-
"start": "2021-01-01T00:00:00Z",
|
|
5186
|
-
"end": "2021-01-02T00:00:00Z"
|
|
5187
|
-
}
|
|
5188
|
-
}
|
|
5189
|
-
```
|
|
5190
|
-
|
|
5191
6643
|
### Type_Property_AdditionalProperties_SpreadRecordNonDiscriminatedUnion_get
|
|
5192
6644
|
|
|
5193
6645
|
- Endpoint: `get /type/property/additionalProperties/spreadRecordNonDiscriminatedUnion`
|
|
@@ -6950,6 +8402,178 @@ Expect to handle a unknown type value. Mock api will return 'test'
|
|
|
6950
8402
|
|
|
6951
8403
|
Expect to send a string value. Mock api expect to receive 'test'
|
|
6952
8404
|
|
|
8405
|
+
### Type_Union_Discriminated_Envelope_Object_CustomProperties_get
|
|
8406
|
+
|
|
8407
|
+
- Endpoint: `get /type/union/discriminated/envelope/object/custom-properties`
|
|
8408
|
+
|
|
8409
|
+
Test discriminated union with custom property names.
|
|
8410
|
+
When value of query parameter "petType" is "cat" or no query parameter input, the expected response is:
|
|
8411
|
+
|
|
8412
|
+
```json
|
|
8413
|
+
{
|
|
8414
|
+
"petType": "cat",
|
|
8415
|
+
"petData": {
|
|
8416
|
+
"name": "Whiskers",
|
|
8417
|
+
"meow": true
|
|
8418
|
+
}
|
|
8419
|
+
}
|
|
8420
|
+
```
|
|
8421
|
+
|
|
8422
|
+
When it is "dog", expected response is:
|
|
8423
|
+
|
|
8424
|
+
```json
|
|
8425
|
+
{
|
|
8426
|
+
"petType": "dog",
|
|
8427
|
+
"petData": {
|
|
8428
|
+
"name": "Rex",
|
|
8429
|
+
"bark": false
|
|
8430
|
+
}
|
|
8431
|
+
}
|
|
8432
|
+
```
|
|
8433
|
+
|
|
8434
|
+
### Type_Union_Discriminated_Envelope_Object_CustomProperties_put
|
|
8435
|
+
|
|
8436
|
+
- Endpoint: `put /type/union/discriminated/envelope/object/custom-properties`
|
|
8437
|
+
|
|
8438
|
+
Test discriminated union with custom property names.
|
|
8439
|
+
Send the union as:
|
|
8440
|
+
|
|
8441
|
+
```json
|
|
8442
|
+
{
|
|
8443
|
+
"petType": "cat",
|
|
8444
|
+
"petData": {
|
|
8445
|
+
"name": "Whiskers",
|
|
8446
|
+
"meow": true
|
|
8447
|
+
}
|
|
8448
|
+
}
|
|
8449
|
+
```
|
|
8450
|
+
|
|
8451
|
+
### Type_Union_Discriminated_Envelope_Object_Default_get
|
|
8452
|
+
|
|
8453
|
+
- Endpoint: `get /type/union/discriminated/envelope/object/default`
|
|
8454
|
+
|
|
8455
|
+
Test discriminated union with envelope serialization.
|
|
8456
|
+
When value of query parameter "kind" is "cat" or no query parameter input, the expected response is:
|
|
8457
|
+
|
|
8458
|
+
```json
|
|
8459
|
+
{
|
|
8460
|
+
"kind": "cat",
|
|
8461
|
+
"value": {
|
|
8462
|
+
"name": "Whiskers",
|
|
8463
|
+
"meow": true
|
|
8464
|
+
}
|
|
8465
|
+
}
|
|
8466
|
+
```
|
|
8467
|
+
|
|
8468
|
+
When it is "dog", expected response is:
|
|
8469
|
+
|
|
8470
|
+
```json
|
|
8471
|
+
{
|
|
8472
|
+
"kind": "dog",
|
|
8473
|
+
"value": {
|
|
8474
|
+
"name": "Rex",
|
|
8475
|
+
"bark": false
|
|
8476
|
+
}
|
|
8477
|
+
}
|
|
8478
|
+
```
|
|
8479
|
+
|
|
8480
|
+
### Type_Union_Discriminated_Envelope_Object_Default_put
|
|
8481
|
+
|
|
8482
|
+
- Endpoint: `put /type/union/discriminated/envelope/object/default`
|
|
8483
|
+
|
|
8484
|
+
Test discriminated union with envelope serialization.
|
|
8485
|
+
Send the union as:
|
|
8486
|
+
|
|
8487
|
+
```json
|
|
8488
|
+
{
|
|
8489
|
+
"kind": "cat",
|
|
8490
|
+
"value": {
|
|
8491
|
+
"name": "Whiskers",
|
|
8492
|
+
"meow": true
|
|
8493
|
+
}
|
|
8494
|
+
}
|
|
8495
|
+
```
|
|
8496
|
+
|
|
8497
|
+
### Type_Union_Discriminated_NoEnvelope_CustomDiscriminator_get
|
|
8498
|
+
|
|
8499
|
+
- Endpoint: `get /type/union/discriminated/no-envelope/custom-discriminator`
|
|
8500
|
+
|
|
8501
|
+
Test discriminated union with inline discriminator and custom discriminator property name.
|
|
8502
|
+
When value of query parameter "type" is "cat" or no query parameter input, the expected response is:
|
|
8503
|
+
|
|
8504
|
+
```json
|
|
8505
|
+
{
|
|
8506
|
+
"type": "cat",
|
|
8507
|
+
"name": "Whiskers",
|
|
8508
|
+
"meow": true
|
|
8509
|
+
}
|
|
8510
|
+
```
|
|
8511
|
+
|
|
8512
|
+
When it is "dog", expected response is:
|
|
8513
|
+
|
|
8514
|
+
```json
|
|
8515
|
+
{
|
|
8516
|
+
"type": "dog",
|
|
8517
|
+
"name": "Rex",
|
|
8518
|
+
"bark": false
|
|
8519
|
+
}
|
|
8520
|
+
```
|
|
8521
|
+
|
|
8522
|
+
### Type_Union_Discriminated_NoEnvelope_CustomDiscriminator_put
|
|
8523
|
+
|
|
8524
|
+
- Endpoint: `put /type/union/discriminated/no-envelope/custom-discriminator`
|
|
8525
|
+
|
|
8526
|
+
Test discriminated union with inline discriminator and custom discriminator property name.
|
|
8527
|
+
Send the union as:
|
|
8528
|
+
|
|
8529
|
+
```json
|
|
8530
|
+
{
|
|
8531
|
+
"type": "cat",
|
|
8532
|
+
"name": "Whiskers",
|
|
8533
|
+
"meow": true
|
|
8534
|
+
}
|
|
8535
|
+
```
|
|
8536
|
+
|
|
8537
|
+
### Type_Union_Discriminated_NoEnvelope_Default_get
|
|
8538
|
+
|
|
8539
|
+
- Endpoint: `get /type/union/discriminated/no-envelope/default`
|
|
8540
|
+
|
|
8541
|
+
Test discriminated union with inline discriminator.
|
|
8542
|
+
When value of query parameter "kind" is "cat" or no query parameter input, the expected response is:
|
|
8543
|
+
|
|
8544
|
+
```json
|
|
8545
|
+
{
|
|
8546
|
+
"kind": "cat",
|
|
8547
|
+
"name": "Whiskers",
|
|
8548
|
+
"meow": true
|
|
8549
|
+
}
|
|
8550
|
+
```
|
|
8551
|
+
|
|
8552
|
+
When it is "dog", expected response is:
|
|
8553
|
+
|
|
8554
|
+
```json
|
|
8555
|
+
{
|
|
8556
|
+
"kind": "dog",
|
|
8557
|
+
"name": "Rex",
|
|
8558
|
+
"bark": false
|
|
8559
|
+
}
|
|
8560
|
+
```
|
|
8561
|
+
|
|
8562
|
+
### Type_Union_Discriminated_NoEnvelope_Default_put
|
|
8563
|
+
|
|
8564
|
+
- Endpoint: `put /type/union/discriminated/no-envelope/default`
|
|
8565
|
+
|
|
8566
|
+
Test discriminated union with inline discriminator.
|
|
8567
|
+
Send the union as:
|
|
8568
|
+
|
|
8569
|
+
```json
|
|
8570
|
+
{
|
|
8571
|
+
"kind": "cat",
|
|
8572
|
+
"name": "Whiskers",
|
|
8573
|
+
"meow": true
|
|
8574
|
+
}
|
|
8575
|
+
```
|
|
8576
|
+
|
|
6953
8577
|
### Type_Union_EnumsOnly_get
|
|
6954
8578
|
|
|
6955
8579
|
- Endpoint: `get /type/union/enums-only`
|
|
@@ -7401,7 +9025,7 @@ Expected request body:
|
|
|
7401
9025
|
|
|
7402
9026
|
- Endpoint: `post /versioning/removed/api-version:{version}/v3`
|
|
7403
9027
|
|
|
7404
|
-
path: "/versioning/removed/api-version
|
|
9028
|
+
path: "/versioning/removed/api-version:v1/v3"
|
|
7405
9029
|
Expected request body:
|
|
7406
9030
|
|
|
7407
9031
|
```json
|
|
@@ -7414,7 +9038,7 @@ Expected response body:
|
|
|
7414
9038
|
{ "id": "123", "enumProp": "enumMemberV1" }
|
|
7415
9039
|
```
|
|
7416
9040
|
|
|
7417
|
-
path: "/versioning/removed/api-version
|
|
9041
|
+
path: "/versioning/removed/api-version:v2preview/v3"
|
|
7418
9042
|
Expected request body:
|
|
7419
9043
|
|
|
7420
9044
|
```json
|
|
@@ -7427,7 +9051,7 @@ Expected response body:
|
|
|
7427
9051
|
{ "id": "123" }
|
|
7428
9052
|
```
|
|
7429
9053
|
|
|
7430
|
-
path: "/versioning/removed/api-version
|
|
9054
|
+
path: "/versioning/removed/api-version:v2/v3"
|
|
7431
9055
|
Expected request body:
|
|
7432
9056
|
|
|
7433
9057
|
```json
|