@typespec/http-specs 0.38.0-dev.3 → 0.38.0-dev.5
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/dist/specs/encode/duration/mockapi.js +6 -0
- package/dist/specs/encode/duration/mockapi.js.map +1 -1
- package/dist/specs/payload/content-negotiation/mockapi.d.ts +3 -0
- package/dist/specs/payload/content-negotiation/mockapi.d.ts.map +1 -0
- package/dist/specs/payload/content-negotiation/mockapi.js +169 -0
- package/dist/specs/payload/content-negotiation/mockapi.js.map +1 -0
- package/dist/specs/special-words/mockapi.js +1 -1
- package/dist/specs/special-words/mockapi.js.map +1 -1
- package/package.json +8 -7
- package/specs/authentication/api-key/main.tsp +2 -1
- package/specs/authentication/http/custom/main.tsp +1 -0
- package/specs/authentication/oauth2/main.tsp +2 -1
- package/specs/authentication/union/main.tsp +2 -1
- package/specs/encode/bytes/main.tsp +2 -8
- package/specs/encode/datetime/main.tsp +2 -7
- package/specs/encode/duration/main.tsp +2 -6
- package/specs/encode/duration/mockapi.ts +14 -0
- package/specs/encode/numeric/main.tsp +2 -4
- package/specs/parameters/basic/main.tsp +2 -5
- package/specs/parameters/body-optionality/main.tsp +2 -4
- package/specs/parameters/collection-format/main.tsp +2 -5
- package/specs/parameters/spread/main.tsp +2 -5
- package/specs/payload/content-negotiation/main.tsp +61 -0
- package/specs/payload/content-negotiation/mockapi.ts +188 -0
- package/specs/payload/json-merge-patch/main.tsp +2 -1
- package/specs/payload/media-type/main.tsp +2 -4
- package/specs/payload/multipart/main.tsp +2 -1
- package/specs/payload/xml/main.tsp +15 -25
- package/specs/routes/main.tsp +2 -1
- package/specs/serialization/encoded-name/json/main.tsp +2 -2
- package/specs/server/endpoint/not-defined/main.tsp +2 -1
- package/specs/server/path/multiple/main.tsp +2 -1
- package/specs/server/path/single/main.tsp +2 -1
- package/specs/server/versions/not-versioned/main.tsp +2 -1
- package/specs/server/versions/versioned/main.tsp +2 -3
- package/specs/special-headers/conditional-request/main.tsp +2 -2
- package/specs/special-headers/repeatability/main.tsp +2 -2
- package/specs/special-words/main.tsp +2 -6
- package/specs/special-words/mockapi.ts +1 -1
- package/specs/type/array/main.tsp +15 -39
- package/specs/type/dictionary/main.tsp +15 -36
- package/specs/type/enum/extensible/main.tsp +2 -1
- package/specs/type/enum/fixed/main.tsp +2 -2
- package/specs/type/model/empty/main.tsp +2 -1
- package/specs/type/model/inheritance/enum-discriminator/main.tsp +2 -2
- package/specs/type/model/inheritance/nested-discriminator/main.tsp +2 -1
- package/specs/type/model/inheritance/not-discriminated/main.tsp +2 -1
- package/specs/type/model/inheritance/recursive/main.tsp +2 -1
- package/specs/type/model/inheritance/single-discriminator/main.tsp +2 -1
- package/specs/type/model/templated/main.tsp +2 -2
- package/specs/type/model/usage/main.tsp +2 -1
- package/specs/type/model/visibility/main.tsp +2 -1
- package/specs/type/property/additional-properties/main.tsp +15 -57
- package/specs/type/property/nullable/main.tsp +31 -54
- package/specs/type/property/optionality/main.tsp +31 -63
- package/specs/type/property/value-types/main.tsp +15 -56
- package/specs/type/scalar/main.tsp +34 -62
- package/specs/type/union/main.tsp +5 -18
- package/specs/versioning/added/main.tsp +2 -1
- package/specs/versioning/madeOptional/main.tsp +2 -1
- package/specs/versioning/removed/main.tsp +2 -1
- package/specs/versioning/renamedFrom/main.tsp +2 -1
- package/specs/versioning/returnTypeChangedFrom/main.tsp +2 -1
- package/specs/versioning/typeChangedFrom/main.tsp +2 -1
- package/temp/.tsbuildinfo +1 -1
- package/specs/type/property/nullable/client.tsp +0 -21
|
@@ -27,6 +27,9 @@ Scenarios.Encode_Duration_Property_default = createBodyServerTests("/encode/dura
|
|
|
27
27
|
Scenarios.Encode_Duration_Property_default = createBodyServerTests("/encode/duration/property/float-seconds", {
|
|
28
28
|
value: 35.625,
|
|
29
29
|
}, 35.625);
|
|
30
|
+
Scenarios.Encode_Duration_Property_floatSeconds = createBodyServerTests("/encode/duration/property/float-seconds", {
|
|
31
|
+
value: 35.625,
|
|
32
|
+
}, 35.625);
|
|
30
33
|
Scenarios.Encode_Duration_Property_float64Seconds = createBodyServerTests("/encode/duration/property/float64-seconds", {
|
|
31
34
|
value: 35.625,
|
|
32
35
|
}, 35.625);
|
|
@@ -110,6 +113,9 @@ Scenarios.Encode_Duration_Header_floatSeconds = createHeaderServerTests("/encode
|
|
|
110
113
|
Scenarios.Encode_Duration_Header_floatSeconds = createHeaderServerTests("/encode/duration/header/float64-seconds", {
|
|
111
114
|
duration: 35.625,
|
|
112
115
|
}, "35.625");
|
|
116
|
+
Scenarios.Encode_Duration_Header_float64Seconds = createHeaderServerTests("/encode/duration/header/float64-seconds", {
|
|
117
|
+
duration: 35.625,
|
|
118
|
+
}, "35.625");
|
|
113
119
|
Scenarios.Encode_Duration_Header_iso8601Array = createHeaderServerTests("/encode/duration/header/iso8601-array", {
|
|
114
120
|
duration: ["P40D", "P50D"].join(","),
|
|
115
121
|
}, "P40D,P50D");
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mockapi.js","sourceRoot":"","sources":["../../../../specs/encode/duration/mockapi.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"mockapi.js","sourceRoot":"","sources":["../../../../specs/encode/duration/mockapi.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mockapi.d.ts","sourceRoot":"","sources":["../../../../specs/payload/content-negotiation/mockapi.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,eAAe,EAGhB,MAAM,oBAAoB,CAAC;AAG5B,eAAO,MAAM,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,eAAe,CAAM,CAAC"}
|
|
@@ -0,0 +1,169 @@
|
|
|
1
|
+
import { json, ValidationError, withServiceKeys, } from "@typespec/spec-api";
|
|
2
|
+
import { jpgFile, pngFile } from "../../helper.js";
|
|
3
|
+
export const Scenarios = {};
|
|
4
|
+
function sameBodyHandler(req) {
|
|
5
|
+
switch (req.headers["accept"]) {
|
|
6
|
+
case "image/png":
|
|
7
|
+
return {
|
|
8
|
+
pass: "image/png",
|
|
9
|
+
status: 200,
|
|
10
|
+
body: {
|
|
11
|
+
contentType: "image/png",
|
|
12
|
+
rawContent: pngFile,
|
|
13
|
+
},
|
|
14
|
+
};
|
|
15
|
+
case "image/jpeg":
|
|
16
|
+
return {
|
|
17
|
+
pass: "image/jpeg",
|
|
18
|
+
status: 200,
|
|
19
|
+
body: {
|
|
20
|
+
contentType: "image/jpeg",
|
|
21
|
+
rawContent: jpgFile,
|
|
22
|
+
},
|
|
23
|
+
};
|
|
24
|
+
default:
|
|
25
|
+
throw new ValidationError("Unsupported Accept header", `"image/png" | "image/jpeg"`, req.headers["accept"]);
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
function differentBodyHandler(req) {
|
|
29
|
+
switch (req.headers["accept"]) {
|
|
30
|
+
case "image/png":
|
|
31
|
+
return {
|
|
32
|
+
pass: "image/png",
|
|
33
|
+
status: 200,
|
|
34
|
+
body: {
|
|
35
|
+
contentType: "image/png",
|
|
36
|
+
rawContent: pngFile,
|
|
37
|
+
},
|
|
38
|
+
};
|
|
39
|
+
case "application/json":
|
|
40
|
+
return {
|
|
41
|
+
pass: "application/json",
|
|
42
|
+
status: 200,
|
|
43
|
+
body: json({
|
|
44
|
+
content: pngFile.toString("base64"),
|
|
45
|
+
}),
|
|
46
|
+
};
|
|
47
|
+
default:
|
|
48
|
+
throw new ValidationError("Unsupported Accept header", `"image/png" | "application/json"`, req.headers["accept"]);
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
Scenarios.Payload_ContentNegotiation_SameBody = withServiceKeys(["image/png", "image/jpeg"]).pass([
|
|
52
|
+
{
|
|
53
|
+
uri: "/content-negotiation/same-body",
|
|
54
|
+
method: "get",
|
|
55
|
+
request: {
|
|
56
|
+
headers: {
|
|
57
|
+
accept: "image/png",
|
|
58
|
+
},
|
|
59
|
+
},
|
|
60
|
+
response: {
|
|
61
|
+
body: {
|
|
62
|
+
contentType: "image/png",
|
|
63
|
+
rawContent: pngFile,
|
|
64
|
+
},
|
|
65
|
+
status: 200,
|
|
66
|
+
},
|
|
67
|
+
handler: (req) => sameBodyHandler(req),
|
|
68
|
+
kind: "MockApiDefinition",
|
|
69
|
+
},
|
|
70
|
+
{
|
|
71
|
+
uri: "/content-negotiation/same-body",
|
|
72
|
+
method: "get",
|
|
73
|
+
request: {
|
|
74
|
+
headers: {
|
|
75
|
+
accept: "image/jpeg",
|
|
76
|
+
},
|
|
77
|
+
},
|
|
78
|
+
response: {
|
|
79
|
+
body: {
|
|
80
|
+
contentType: "image/jpeg",
|
|
81
|
+
rawContent: jpgFile,
|
|
82
|
+
},
|
|
83
|
+
status: 200,
|
|
84
|
+
},
|
|
85
|
+
handler: (req) => sameBodyHandler(req),
|
|
86
|
+
kind: "MockApiDefinition",
|
|
87
|
+
},
|
|
88
|
+
{
|
|
89
|
+
uri: "/content-negotiation/same-body",
|
|
90
|
+
method: "get",
|
|
91
|
+
request: {
|
|
92
|
+
status: 400,
|
|
93
|
+
headers: {
|
|
94
|
+
accept: "wrongAccept",
|
|
95
|
+
},
|
|
96
|
+
},
|
|
97
|
+
response: {
|
|
98
|
+
status: 400,
|
|
99
|
+
body: json({
|
|
100
|
+
message: "Unsupported Accept header",
|
|
101
|
+
expected: `"image/png" | "image/jpeg"`,
|
|
102
|
+
actual: "wrongAccept",
|
|
103
|
+
}),
|
|
104
|
+
},
|
|
105
|
+
handler: sameBodyHandler,
|
|
106
|
+
kind: "MockApiDefinition",
|
|
107
|
+
},
|
|
108
|
+
]);
|
|
109
|
+
Scenarios.Payload_ContentNegotiation_DifferentBody = withServiceKeys([
|
|
110
|
+
"image/png",
|
|
111
|
+
"application/json",
|
|
112
|
+
]).pass([
|
|
113
|
+
{
|
|
114
|
+
uri: "/content-negotiation/different-body",
|
|
115
|
+
method: "get",
|
|
116
|
+
request: {
|
|
117
|
+
headers: {
|
|
118
|
+
accept: "image/png",
|
|
119
|
+
},
|
|
120
|
+
},
|
|
121
|
+
response: {
|
|
122
|
+
status: 200,
|
|
123
|
+
body: {
|
|
124
|
+
contentType: "image/png",
|
|
125
|
+
rawContent: pngFile,
|
|
126
|
+
},
|
|
127
|
+
},
|
|
128
|
+
handler: differentBodyHandler,
|
|
129
|
+
kind: "MockApiDefinition",
|
|
130
|
+
},
|
|
131
|
+
{
|
|
132
|
+
uri: "/content-negotiation/different-body",
|
|
133
|
+
method: "get",
|
|
134
|
+
request: {
|
|
135
|
+
headers: {
|
|
136
|
+
accept: "application/json",
|
|
137
|
+
},
|
|
138
|
+
},
|
|
139
|
+
response: {
|
|
140
|
+
status: 200,
|
|
141
|
+
body: json({
|
|
142
|
+
content: pngFile.toString("base64"),
|
|
143
|
+
}),
|
|
144
|
+
},
|
|
145
|
+
handler: differentBodyHandler,
|
|
146
|
+
kind: "MockApiDefinition",
|
|
147
|
+
},
|
|
148
|
+
{
|
|
149
|
+
uri: "/content-negotiation/different-body",
|
|
150
|
+
method: "get",
|
|
151
|
+
request: {
|
|
152
|
+
status: 400,
|
|
153
|
+
headers: {
|
|
154
|
+
accept: "wrongAccept",
|
|
155
|
+
},
|
|
156
|
+
},
|
|
157
|
+
response: {
|
|
158
|
+
status: 400,
|
|
159
|
+
body: json({
|
|
160
|
+
message: "Unsupported Accept header",
|
|
161
|
+
expected: `"image/png" | "application/json"`,
|
|
162
|
+
actual: "wrongAccept",
|
|
163
|
+
}),
|
|
164
|
+
},
|
|
165
|
+
handler: differentBodyHandler,
|
|
166
|
+
kind: "MockApiDefinition",
|
|
167
|
+
},
|
|
168
|
+
]);
|
|
169
|
+
//# sourceMappingURL=mockapi.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mockapi.js","sourceRoot":"","sources":["../../../../specs/payload/content-negotiation/mockapi.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { passOnSuccess } from "@typespec/spec-api";
|
|
2
2
|
export const Scenarios = {};
|
|
3
|
-
Scenarios.
|
|
3
|
+
Scenarios.SpecialWords_ModelProperties_sameAsModel = passOnSuccess({
|
|
4
4
|
uri: "/special-words/model-properties/same-as-model",
|
|
5
5
|
method: "post",
|
|
6
6
|
request: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mockapi.js","sourceRoot":"","sources":["../../../specs/special-words/mockapi.ts"],"names":[],"mappings":"AAAA,OAAO,EAAe,aAAa,EAAmB,MAAM,oBAAoB,CAAC;AAEjF,MAAM,CAAC,MAAM,SAAS,GAAoC,EAAE,CAAC;AAE7D,SAAS,CAAC,
|
|
1
|
+
{"version":3,"file":"mockapi.js","sourceRoot":"","sources":["../../../specs/special-words/mockapi.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@typespec/http-specs",
|
|
3
|
-
"version": "0.38.0-dev.
|
|
3
|
+
"version": "0.38.0-dev.5",
|
|
4
4
|
"description": "Spec scenarios and mock apis",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"type": "module",
|
|
@@ -20,7 +20,7 @@
|
|
|
20
20
|
"dependencies": {
|
|
21
21
|
"multer": "^1.4.5-lts.1",
|
|
22
22
|
"dotenv": "~16.4.5",
|
|
23
|
-
"@typespec/spec": "0.1.0",
|
|
23
|
+
"@typespec/spec-core": "~0.1.0",
|
|
24
24
|
"@typespec/spec-api": "~0.1.0"
|
|
25
25
|
},
|
|
26
26
|
"devDependencies": {
|
|
@@ -43,11 +43,12 @@
|
|
|
43
43
|
"watch": "tsc -p ./tsconfig.build.json --watch",
|
|
44
44
|
"build": "tsc -p ./tsconfig.build.json",
|
|
45
45
|
"clean": "rimraf dist/ temp/",
|
|
46
|
-
"
|
|
47
|
-
"
|
|
48
|
-
"
|
|
49
|
-
"
|
|
50
|
-
"
|
|
46
|
+
"test:e2e": "pnpm validate-scenarios && pnpm validate-mock-apis",
|
|
47
|
+
"validate-scenarios": "spec-core validate-scenarios ./specs",
|
|
48
|
+
"generate-scenarios-summary": "spec-core generate-scenarios-summary ./specs",
|
|
49
|
+
"validate-mock-apis": "spec-core validate-mock-apis ./specs",
|
|
50
|
+
"check-scenario-coverage": "spec-core check-coverage ./specs",
|
|
51
|
+
"serve": "spec-core serve ./specs",
|
|
51
52
|
"test": "echo \"Error: no test specified\" && exit 1"
|
|
52
53
|
}
|
|
53
54
|
}
|
|
@@ -1,18 +1,16 @@
|
|
|
1
1
|
import "@typespec/http";
|
|
2
2
|
import "@typespec/spec-lib";
|
|
3
3
|
|
|
4
|
-
using
|
|
5
|
-
using
|
|
4
|
+
using Http;
|
|
5
|
+
using SpecLib;
|
|
6
6
|
|
|
7
7
|
@doc("Test for encode decorator on bytes.")
|
|
8
|
-
@supportedBy("dpg")
|
|
9
8
|
@scenarioService("/encode/bytes")
|
|
10
9
|
namespace Encode.Bytes;
|
|
11
10
|
|
|
12
11
|
@encode(BytesKnownEncoding.base64url)
|
|
13
12
|
scalar base64urlBytes extends bytes;
|
|
14
13
|
|
|
15
|
-
@operationGroup
|
|
16
14
|
@route("/query")
|
|
17
15
|
namespace Query {
|
|
18
16
|
@route("/default")
|
|
@@ -87,7 +85,6 @@ model Base64urlArrayBytesProperty {
|
|
|
87
85
|
value: base64urlBytes[];
|
|
88
86
|
}
|
|
89
87
|
|
|
90
|
-
@operationGroup
|
|
91
88
|
@route("/property")
|
|
92
89
|
namespace Property {
|
|
93
90
|
@route("/default")
|
|
@@ -171,7 +168,6 @@ namespace Property {
|
|
|
171
168
|
op base64urlArray(@body body: Base64urlArrayBytesProperty): Base64urlArrayBytesProperty;
|
|
172
169
|
}
|
|
173
170
|
|
|
174
|
-
@operationGroup
|
|
175
171
|
@route("/header")
|
|
176
172
|
namespace Header {
|
|
177
173
|
@route("/default")
|
|
@@ -227,7 +223,6 @@ namespace Header {
|
|
|
227
223
|
): NoContentResponse;
|
|
228
224
|
}
|
|
229
225
|
|
|
230
|
-
@operationGroup
|
|
231
226
|
@route("/body/request")
|
|
232
227
|
namespace RequestBody {
|
|
233
228
|
@route("/default")
|
|
@@ -302,7 +297,6 @@ namespace RequestBody {
|
|
|
302
297
|
): NoContentResponse;
|
|
303
298
|
}
|
|
304
299
|
|
|
305
|
-
@operationGroup
|
|
306
300
|
@route("/body/response")
|
|
307
301
|
namespace ResponseBody {
|
|
308
302
|
@route("/default")
|
|
@@ -1,18 +1,16 @@
|
|
|
1
1
|
import "@typespec/http";
|
|
2
2
|
import "@typespec/spec-lib";
|
|
3
3
|
|
|
4
|
-
using
|
|
5
|
-
using
|
|
4
|
+
using Http;
|
|
5
|
+
using SpecLib;
|
|
6
6
|
|
|
7
7
|
@doc("Test for encode decorator on datetime.")
|
|
8
|
-
@supportedBy("dpg")
|
|
9
8
|
@scenarioService("/encode/datetime")
|
|
10
9
|
namespace Encode.Datetime;
|
|
11
10
|
|
|
12
11
|
@encode(DateTimeKnownEncoding.unixTimestamp, int64)
|
|
13
12
|
scalar unixTimestampDatetime extends utcDateTime;
|
|
14
13
|
|
|
15
|
-
@operationGroup
|
|
16
14
|
@route("/query")
|
|
17
15
|
namespace Query {
|
|
18
16
|
@route("/default")
|
|
@@ -105,7 +103,6 @@ model UnixTimestampArrayDatetimeProperty {
|
|
|
105
103
|
value: unixTimestampDatetime[];
|
|
106
104
|
}
|
|
107
105
|
|
|
108
|
-
@operationGroup
|
|
109
106
|
@route("/property")
|
|
110
107
|
namespace Property {
|
|
111
108
|
@route("/default")
|
|
@@ -211,7 +208,6 @@ namespace Property {
|
|
|
211
208
|
): UnixTimestampArrayDatetimeProperty;
|
|
212
209
|
}
|
|
213
210
|
|
|
214
|
-
@operationGroup
|
|
215
211
|
@route("/header")
|
|
216
212
|
namespace Header {
|
|
217
213
|
@route("/default")
|
|
@@ -303,7 +299,6 @@ model UnixTimestampDatetimeHeader {
|
|
|
303
299
|
value: utcDateTime;
|
|
304
300
|
}
|
|
305
301
|
|
|
306
|
-
@operationGroup
|
|
307
302
|
@route("/responseheader")
|
|
308
303
|
namespace ResponseHeader {
|
|
309
304
|
@route("/default")
|
|
@@ -1,15 +1,13 @@
|
|
|
1
1
|
import "@typespec/http";
|
|
2
2
|
import "@typespec/spec-lib";
|
|
3
3
|
|
|
4
|
-
using
|
|
5
|
-
using
|
|
4
|
+
using Http;
|
|
5
|
+
using SpecLib;
|
|
6
6
|
|
|
7
7
|
@doc("Test for encode decorator on duration.")
|
|
8
|
-
@supportedBy("dpg")
|
|
9
8
|
@scenarioService("/encode/duration")
|
|
10
9
|
namespace Encode.Duration;
|
|
11
10
|
|
|
12
|
-
@operationGroup
|
|
13
11
|
@route("/query")
|
|
14
12
|
namespace Query {
|
|
15
13
|
@route("/default")
|
|
@@ -89,7 +87,6 @@ namespace Query {
|
|
|
89
87
|
): NoContentResponse;
|
|
90
88
|
}
|
|
91
89
|
|
|
92
|
-
@operationGroup
|
|
93
90
|
@route("/property")
|
|
94
91
|
namespace Property {
|
|
95
92
|
model DefaultDurationProperty {
|
|
@@ -242,7 +239,6 @@ namespace Property {
|
|
|
242
239
|
): FloatSecondsDurationArrayProperty;
|
|
243
240
|
}
|
|
244
241
|
|
|
245
|
-
@operationGroup
|
|
246
242
|
@route("/header")
|
|
247
243
|
namespace Header {
|
|
248
244
|
@route("/default")
|
|
@@ -43,6 +43,13 @@ Scenarios.Encode_Duration_Property_default = createBodyServerTests(
|
|
|
43
43
|
},
|
|
44
44
|
35.625,
|
|
45
45
|
);
|
|
46
|
+
Scenarios.Encode_Duration_Property_floatSeconds = createBodyServerTests(
|
|
47
|
+
"/encode/duration/property/float-seconds",
|
|
48
|
+
{
|
|
49
|
+
value: 35.625,
|
|
50
|
+
},
|
|
51
|
+
35.625,
|
|
52
|
+
);
|
|
46
53
|
Scenarios.Encode_Duration_Property_float64Seconds = createBodyServerTests(
|
|
47
54
|
"/encode/duration/property/float64-seconds",
|
|
48
55
|
{
|
|
@@ -195,6 +202,13 @@ Scenarios.Encode_Duration_Header_floatSeconds = createHeaderServerTests(
|
|
|
195
202
|
},
|
|
196
203
|
"35.625",
|
|
197
204
|
);
|
|
205
|
+
Scenarios.Encode_Duration_Header_float64Seconds = createHeaderServerTests(
|
|
206
|
+
"/encode/duration/header/float64-seconds",
|
|
207
|
+
{
|
|
208
|
+
duration: 35.625,
|
|
209
|
+
},
|
|
210
|
+
"35.625",
|
|
211
|
+
);
|
|
198
212
|
Scenarios.Encode_Duration_Header_iso8601Array = createHeaderServerTests(
|
|
199
213
|
"/encode/duration/header/iso8601-array",
|
|
200
214
|
{
|
|
@@ -1,15 +1,13 @@
|
|
|
1
1
|
import "@typespec/http";
|
|
2
2
|
import "@typespec/spec-lib";
|
|
3
3
|
|
|
4
|
-
using
|
|
5
|
-
using
|
|
4
|
+
using Http;
|
|
5
|
+
using SpecLib;
|
|
6
6
|
|
|
7
7
|
@doc("Test for encode decorator on integer.")
|
|
8
|
-
@supportedBy("dpg")
|
|
9
8
|
@scenarioService("/encode/numeric")
|
|
10
9
|
namespace Encode.Numeric;
|
|
11
10
|
|
|
12
|
-
@operationGroup
|
|
13
11
|
@route("/property")
|
|
14
12
|
namespace Property {
|
|
15
13
|
alias SendSafeIntAsString = SendIntAsString<safeint, "10000000000", SafeintAsStringProperty>;
|
|
@@ -1,16 +1,14 @@
|
|
|
1
1
|
import "@typespec/http";
|
|
2
2
|
import "@typespec/spec-lib";
|
|
3
3
|
|
|
4
|
-
using
|
|
5
|
-
using
|
|
4
|
+
using Http;
|
|
5
|
+
using SpecLib;
|
|
6
6
|
|
|
7
7
|
@doc("Test for basic parameters cases.")
|
|
8
|
-
@supportedBy("dpg")
|
|
9
8
|
@scenarioService("/parameters/basic")
|
|
10
9
|
namespace Parameters.Basic;
|
|
11
10
|
|
|
12
11
|
@route("/explicit-body")
|
|
13
|
-
@operationGroup
|
|
14
12
|
namespace ExplicitBody {
|
|
15
13
|
@doc("This is a simple model.")
|
|
16
14
|
model User {
|
|
@@ -39,7 +37,6 @@ namespace ExplicitBody {
|
|
|
39
37
|
}
|
|
40
38
|
|
|
41
39
|
@route("/implicit-body")
|
|
42
|
-
@operationGroup
|
|
43
40
|
namespace ImplicitBody {
|
|
44
41
|
@scenario
|
|
45
42
|
@scenarioDoc("""
|
|
@@ -1,11 +1,10 @@
|
|
|
1
1
|
import "@typespec/http";
|
|
2
2
|
import "@typespec/spec-lib";
|
|
3
3
|
|
|
4
|
-
using
|
|
5
|
-
using
|
|
4
|
+
using Http;
|
|
5
|
+
using SpecLib;
|
|
6
6
|
|
|
7
7
|
@doc("Test describing optionality of the request body.")
|
|
8
|
-
@supportedBy("dpg")
|
|
9
8
|
@scenarioService("/parameters/body-optionality")
|
|
10
9
|
namespace Parameters.BodyOptionality;
|
|
11
10
|
|
|
@@ -37,7 +36,6 @@ op requiredExplicit(@body body: BodyModel): NoContentResponse;
|
|
|
37
36
|
|
|
38
37
|
Expected no request body for `omit`
|
|
39
38
|
""")
|
|
40
|
-
@operationGroup
|
|
41
39
|
@route("/optional-explicit")
|
|
42
40
|
namespace OptionalExplicit {
|
|
43
41
|
@route("/set")
|
|
@@ -1,16 +1,14 @@
|
|
|
1
1
|
import "@typespec/http";
|
|
2
2
|
import "@typespec/spec-lib";
|
|
3
3
|
|
|
4
|
-
using
|
|
5
|
-
using
|
|
4
|
+
using Http;
|
|
5
|
+
using SpecLib;
|
|
6
6
|
|
|
7
7
|
@doc("Test for collectionFormat.")
|
|
8
|
-
@supportedBy("dpg")
|
|
9
8
|
@scenarioService("/parameters/collection-format")
|
|
10
9
|
namespace Parameters.CollectionFormat;
|
|
11
10
|
|
|
12
11
|
@route("/query")
|
|
13
|
-
@operationGroup
|
|
14
12
|
namespace Query {
|
|
15
13
|
@scenario
|
|
16
14
|
@scenarioDoc("""
|
|
@@ -78,7 +76,6 @@ namespace Query {
|
|
|
78
76
|
}
|
|
79
77
|
|
|
80
78
|
@route("/header")
|
|
81
|
-
@operationGroup
|
|
82
79
|
namespace Header {
|
|
83
80
|
@scenario
|
|
84
81
|
@scenarioDoc("""
|
|
@@ -1,16 +1,14 @@
|
|
|
1
1
|
import "@typespec/http";
|
|
2
2
|
import "@typespec/spec-lib";
|
|
3
3
|
|
|
4
|
-
using
|
|
5
|
-
using
|
|
4
|
+
using Http;
|
|
5
|
+
using SpecLib;
|
|
6
6
|
|
|
7
7
|
@doc("Test for the spread operator.")
|
|
8
|
-
@supportedBy("dpg")
|
|
9
8
|
@scenarioService("/parameters/spread")
|
|
10
9
|
namespace Parameters.Spread;
|
|
11
10
|
|
|
12
11
|
@route("/model")
|
|
13
|
-
@operationGroup
|
|
14
12
|
namespace Model {
|
|
15
13
|
@doc("This is a simple model.")
|
|
16
14
|
model BodyParameter {
|
|
@@ -159,7 +157,6 @@ namespace Model {
|
|
|
159
157
|
}
|
|
160
158
|
|
|
161
159
|
@route("/alias")
|
|
162
|
-
@operationGroup
|
|
163
160
|
namespace Alias {
|
|
164
161
|
alias BodyParameter = {
|
|
165
162
|
name: string;
|