@typespec/http-specs 0.1.0-alpha.32-dev.5 → 0.1.0-alpha.32-dev.7

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.
@@ -368,4 +368,85 @@ Scenarios.Payload_MultiPart_FormData_HttpParts_NonString_float = passOnSuccess({
368
368
  handler: (req) => createHandler(req, [checkFloat]),
369
369
  kind: "MockApiDefinition",
370
370
  });
371
+ // Helper function to check file in multipart for File type tests
372
+ function checkMultipartFile(req, file, expectedContent, expectedContentType, fieldName = "file", expectedFileName) {
373
+ req.expect.deepEqual(file.fieldname, fieldName);
374
+ req.expect.deepEqual(file.mimetype, expectedContentType);
375
+ req.expect.deepEqual(file.buffer, expectedContent);
376
+ if (expectedFileName) {
377
+ req.expect.deepEqual(file.originalname, expectedFileName);
378
+ }
379
+ }
380
+ // Multipart File type tests
381
+ Scenarios.Payload_MultiPart_FormData_File_uploadFileSpecificContentType = passOnSuccess({
382
+ uri: "/multipart/form-data/file/specific-content-type",
383
+ method: "post",
384
+ request: {
385
+ headers: {
386
+ "content-type": "multipart/form-data",
387
+ },
388
+ },
389
+ response: {
390
+ status: 204,
391
+ },
392
+ handler(req) {
393
+ if (req.files instanceof Array && req.files.length === 1) {
394
+ const file = req.files[0];
395
+ checkMultipartFile(req, file, pngFile, "image/png", "file", "image.png");
396
+ return { status: 204 };
397
+ }
398
+ else {
399
+ throw new ValidationError("Expected exactly one file", "1 file", req.files);
400
+ }
401
+ },
402
+ kind: "MockApiDefinition",
403
+ });
404
+ Scenarios.Payload_MultiPart_FormData_File_uploadFileRequiredFilename = passOnSuccess({
405
+ uri: "/multipart/form-data/file/required-filename",
406
+ method: "post",
407
+ request: {
408
+ headers: {
409
+ "content-type": "multipart/form-data",
410
+ },
411
+ },
412
+ response: {
413
+ status: 204,
414
+ },
415
+ handler(req) {
416
+ if (req.files instanceof Array && req.files.length === 1) {
417
+ const file = req.files[0];
418
+ checkMultipartFile(req, file, pngFile, "image/png", "file", "image.png");
419
+ return { status: 204 };
420
+ }
421
+ else {
422
+ throw new ValidationError("Expected exactly one file", "1 file", req.files);
423
+ }
424
+ },
425
+ kind: "MockApiDefinition",
426
+ });
427
+ Scenarios.Payload_MultiPart_FormData_File_uploadFileArray = passOnSuccess({
428
+ uri: "/multipart/form-data/file/file-array",
429
+ method: "post",
430
+ request: {
431
+ headers: {
432
+ "content-type": "multipart/form-data",
433
+ },
434
+ },
435
+ response: {
436
+ status: 204,
437
+ },
438
+ handler(req) {
439
+ if (req.files instanceof Array && req.files.length === 2) {
440
+ for (const file of req.files) {
441
+ req.expect.deepEqual(file.fieldname, "files");
442
+ checkMultipartFile(req, file, pngFile, "image/png", "files");
443
+ }
444
+ return { status: 204 };
445
+ }
446
+ else {
447
+ throw new ValidationError("Expected exactly two files", "2 files", req.files);
448
+ }
449
+ },
450
+ kind: "MockApiDefinition",
451
+ });
371
452
  //# sourceMappingURL=mockapi.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"mockapi.js","sourceRoot":"","sources":["../../../../specs/payload/multipart/mockapi.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"mockapi.js","sourceRoot":"","sources":["../../../../specs/payload/multipart/mockapi.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import { ScenarioMockApi } from "@typespec/spec-api";
2
+ export declare const Scenarios: Record<string, ScenarioMockApi>;
3
+ //# sourceMappingURL=mockapi.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mockapi.d.ts","sourceRoot":"","sources":["../../../../specs/type/file/mockapi.ts"],"names":[],"mappings":"AAAA,OAAO,EAA8B,eAAe,EAAmB,MAAM,oBAAoB,CAAC;AAGlG,eAAO,MAAM,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,eAAe,CAAM,CAAC"}
@@ -0,0 +1,187 @@
1
+ import { passOnSuccess, ValidationError } from "@typespec/spec-api";
2
+ import { pngFile } from "../../helper.js";
3
+ export const Scenarios = {};
4
+ // Helper function to check file content
5
+ function checkFileContent(req, expectedFile) {
6
+ req.expect.rawBodyEquals(expectedFile);
7
+ }
8
+ // Body tests - Request with specific content type
9
+ Scenarios.Type_File_Body_uploadFileSpecificContentType = passOnSuccess({
10
+ uri: "/type/file/body/request/specific-content-type",
11
+ method: "post",
12
+ request: {
13
+ body: {
14
+ contentType: "image/png",
15
+ rawContent: pngFile,
16
+ },
17
+ },
18
+ response: {
19
+ status: 204,
20
+ },
21
+ handler(req) {
22
+ req.expect.containsHeader("content-type", "image/png");
23
+ checkFileContent(req, pngFile);
24
+ return { status: 204 };
25
+ },
26
+ kind: "MockApiDefinition",
27
+ });
28
+ // Body tests - Request with JSON content type
29
+ Scenarios.Type_File_Body_uploadFileJsonContentType = passOnSuccess({
30
+ uri: "/type/file/body/request/json-content-type",
31
+ method: "post",
32
+ request: {
33
+ body: {
34
+ contentType: "application/json",
35
+ rawContent: JSON.stringify({ message: "test file content" }),
36
+ },
37
+ },
38
+ response: {
39
+ status: 204,
40
+ },
41
+ handler(req) {
42
+ req.expect.containsHeader("content-type", "application/json");
43
+ req.expect.rawBodyEquals(JSON.stringify({ message: "test file content" }));
44
+ return { status: 204 };
45
+ },
46
+ kind: "MockApiDefinition",
47
+ });
48
+ // Body tests - Response with JSON content type
49
+ Scenarios.Type_File_Body_downloadFileJsonContentType = passOnSuccess({
50
+ uri: "/type/file/body/response/json-content-type",
51
+ method: "get",
52
+ request: {},
53
+ response: {
54
+ status: 200,
55
+ body: {
56
+ contentType: "application/json",
57
+ rawContent: JSON.stringify({ message: "test file content" }),
58
+ },
59
+ },
60
+ handler(req) {
61
+ return {
62
+ status: 200,
63
+ body: {
64
+ contentType: "application/json",
65
+ rawContent: JSON.stringify({ message: "test file content" }),
66
+ },
67
+ };
68
+ },
69
+ kind: "MockApiDefinition",
70
+ });
71
+ // Body tests - Response with specific content type
72
+ Scenarios.Type_File_Body_downloadFileSpecificContentType = passOnSuccess({
73
+ uri: "/type/file/body/response/specific-content-type",
74
+ method: "get",
75
+ request: {},
76
+ response: {
77
+ status: 200,
78
+ body: {
79
+ contentType: "image/png",
80
+ rawContent: pngFile,
81
+ },
82
+ },
83
+ handler(req) {
84
+ return {
85
+ status: 200,
86
+ body: {
87
+ contentType: "image/png",
88
+ rawContent: pngFile,
89
+ },
90
+ };
91
+ },
92
+ kind: "MockApiDefinition",
93
+ });
94
+ // Body tests - Request with multiple content types
95
+ Scenarios.Type_File_Body_uploadFileMultipleContentTypes = passOnSuccess({
96
+ uri: "/type/file/body/request/multiple-content-types",
97
+ method: "post",
98
+ request: {
99
+ body: {
100
+ contentType: "image/png",
101
+ rawContent: pngFile,
102
+ },
103
+ },
104
+ response: {
105
+ status: 204,
106
+ },
107
+ handler(req) {
108
+ // Client should send image/png (one of the allowed types)
109
+ const contentType = req.headers["content-type"];
110
+ if (contentType !== "image/png" && contentType !== "image/jpeg") {
111
+ throw new ValidationError("Expected content-type to be image/png or image/jpeg", "image/png or image/jpeg", contentType);
112
+ }
113
+ checkFileContent(req, pngFile);
114
+ return { status: 204 };
115
+ },
116
+ kind: "MockApiDefinition",
117
+ });
118
+ // Body tests - Response with multiple content types
119
+ Scenarios.Type_File_Body_downloadFileMultipleContentTypes = passOnSuccess({
120
+ uri: "/type/file/body/response/multiple-content-types",
121
+ method: "get",
122
+ request: {},
123
+ response: {
124
+ status: 200,
125
+ body: {
126
+ contentType: "image/png",
127
+ rawContent: pngFile,
128
+ },
129
+ },
130
+ handler(req) {
131
+ // Server returns image/png (one of the allowed types)
132
+ return {
133
+ status: 200,
134
+ body: {
135
+ contentType: "image/png",
136
+ rawContent: pngFile,
137
+ },
138
+ };
139
+ },
140
+ kind: "MockApiDefinition",
141
+ });
142
+ // Body tests - Request with default content type
143
+ Scenarios.Type_File_Body_uploadFileDefaultContentType = passOnSuccess({
144
+ uri: "/type/file/body/request/default-content-type",
145
+ method: "post",
146
+ request: {
147
+ body: {
148
+ contentType: "image/png",
149
+ rawContent: pngFile,
150
+ },
151
+ },
152
+ response: {
153
+ status: 204,
154
+ },
155
+ handler(req) {
156
+ // File type accepts any content type, but for testing we expect image/png
157
+ req.expect.containsHeader("content-type", "image/png");
158
+ checkFileContent(req, pngFile);
159
+ return { status: 204 };
160
+ },
161
+ kind: "MockApiDefinition",
162
+ });
163
+ // Body tests - Response with default content type
164
+ Scenarios.Type_File_Body_downloadFileDefaultContentType = passOnSuccess({
165
+ uri: "/type/file/body/response/default-content-type",
166
+ method: "get",
167
+ request: {},
168
+ response: {
169
+ status: 200,
170
+ body: {
171
+ contentType: "image/png",
172
+ rawContent: pngFile,
173
+ },
174
+ },
175
+ handler(req) {
176
+ // File type accepts any content type, but for testing we return image/png
177
+ return {
178
+ status: 200,
179
+ body: {
180
+ contentType: "image/png",
181
+ rawContent: pngFile,
182
+ },
183
+ };
184
+ },
185
+ kind: "MockApiDefinition",
186
+ });
187
+ //# sourceMappingURL=mockapi.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mockapi.js","sourceRoot":"","sources":["../../../../specs/type/file/mockapi.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@typespec/http-specs",
3
3
  "displayName": "Http Specs",
4
- "version": "0.1.0-alpha.32-dev.5",
4
+ "version": "0.1.0-alpha.32-dev.7",
5
5
  "description": "Spec scenarios and mock apis",
6
6
  "main": "dist/index.js",
7
7
  "type": "module",
package/spec-summary.md CHANGED
@@ -2050,6 +2050,68 @@ Content-Type: image/jpg
2050
2050
  --abcde12345--
2051
2051
  ```
2052
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
+
2053
2115
  ### Payload_MultiPart_FormData_fileArrayAndBasic
2054
2116
 
2055
2117
  - Endpoint: `post /multipart/form-data/complex-parts`
@@ -5210,6 +5272,90 @@ Expect to send a known value. Mock api expect to receive 'Monday'
5210
5272
 
5211
5273
  Expect to handle an unknown value. Mock api expect to receive 'Weekend'
5212
5274
 
5275
+ ### Type_File_Body_downloadFileDefaultContentType
5276
+
5277
+ - Endpoint: `get /type/file/body/response/default-content-type`
5278
+
5279
+ Test File type as response body with unspecified content type.
5280
+ The File type accepts any content type. For testing, server will return image/png.
5281
+ Expected response:
5282
+
5283
+ - Content-Type header: image/png
5284
+ - Body: binary content matching packages/http-specs/assets/image.png
5285
+
5286
+ ### Type_File_Body_downloadFileJsonContentType
5287
+
5288
+ - Endpoint: `get /type/file/body/response/json-content-type`
5289
+
5290
+ Test File type as response body with JSON content type.
5291
+ Expected response:
5292
+
5293
+ - Content-Type header: application/json
5294
+ - Body: JSON content with file data
5295
+
5296
+ ### Type_File_Body_downloadFileMultipleContentTypes
5297
+
5298
+ - Endpoint: `get /type/file/body/response/multiple-content-types`
5299
+
5300
+ Test File type as response body with multiple allowed content types.
5301
+ Service will return image/png.
5302
+ Expected response:
5303
+
5304
+ - Content-Type header: image/png
5305
+ - Body: binary content matching packages/http-specs/assets/image.png
5306
+
5307
+ ### Type_File_Body_downloadFileSpecificContentType
5308
+
5309
+ - Endpoint: `get /type/file/body/response/specific-content-type`
5310
+
5311
+ Test File type as response body with specific content type.
5312
+ Expected response:
5313
+
5314
+ - Content-Type header: image/png
5315
+ - Body: binary content matching packages/http-specs/assets/image.png
5316
+
5317
+ ### Type_File_Body_uploadFileDefaultContentType
5318
+
5319
+ - Endpoint: `post /type/file/body/request/default-content-type`
5320
+
5321
+ Test File type as request body with unspecified content type.
5322
+ The File type accepts any content type. For testing, sender will use image/png.
5323
+ Expected request:
5324
+
5325
+ - Content-Type header: image/png
5326
+ - Body: binary content matching packages/http-specs/assets/image.png
5327
+
5328
+ ### Type_File_Body_uploadFileJsonContentType
5329
+
5330
+ - Endpoint: `post /type/file/body/request/json-content-type`
5331
+
5332
+ Test File type as request body with JSON content type.
5333
+ Expected request:
5334
+
5335
+ - Content-Type header: application/json
5336
+ - Body: JSON content with file data
5337
+
5338
+ ### Type_File_Body_uploadFileMultipleContentTypes
5339
+
5340
+ - Endpoint: `post /type/file/body/request/multiple-content-types`
5341
+
5342
+ Test File type as request body with multiple allowed content types (image/png or image/jpeg).
5343
+ Client should send image/png.
5344
+ Expected request:
5345
+
5346
+ - Content-Type header: image/png
5347
+ - Body: binary content matching packages/http-specs/assets/image.png
5348
+
5349
+ ### Type_File_Body_uploadFileSpecificContentType
5350
+
5351
+ - Endpoint: `post /type/file/body/request/specific-content-type`
5352
+
5353
+ Test File type as request body with specific content type.
5354
+ Expected request:
5355
+
5356
+ - Content-Type header: image/png
5357
+ - Body: binary content matching packages/http-specs/assets/image.png
5358
+
5213
5359
  ### Type_Model_Empty_getEmpty
5214
5360
 
5215
5361
  - Endpoint: `get /type/model/empty/alone`
@@ -608,4 +608,91 @@ namespace FormData {
608
608
  ): NoContentResponse;
609
609
  }
610
610
  }
611
+
612
+ @route("/file")
613
+ namespace File {
614
+ model FileWithRequiredFilename extends TypeSpec.Http.File<"image/png"> {
615
+ filename: string;
616
+ }
617
+
618
+ @scenario
619
+ @scenarioDoc("""
620
+ Test File type in multipart form data with specific content type.
621
+ Expected request:
622
+ ```
623
+ POST /multipart/form-data/file/specific-content-type HTTP/1.1
624
+ Content-Type: multipart/form-data; boundary=abcde12345
625
+
626
+ --abcde12345
627
+ Content-Disposition: form-data; name="file"; filename="image.png"
628
+ Content-Type: image/png
629
+
630
+ {…file content of image.png…}
631
+ --abcde12345--
632
+ ```
633
+ """)
634
+ @post
635
+ @route("/specific-content-type")
636
+ op uploadFileSpecificContentType(
637
+ @header contentType: "multipart/form-data",
638
+ @multipartBody body: {
639
+ file: HttpPart<TypeSpec.Http.File<"image/png">>;
640
+ },
641
+ ): NoContentResponse;
642
+
643
+ @scenario
644
+ @scenarioDoc("""
645
+ Test File type in multipart form data with required filename.
646
+ Expected request:
647
+ ```
648
+ POST /multipart/form-data/file/required-filename HTTP/1.1
649
+ Content-Type: multipart/form-data; boundary=abcde12345
650
+
651
+ --abcde12345
652
+ Content-Disposition: form-data; name="file"; filename="image.png"
653
+ Content-Type: image/png
654
+
655
+ {…file content of image.png…}
656
+ --abcde12345--
657
+ ```
658
+ """)
659
+ @post
660
+ @route("/required-filename")
661
+ op uploadFileRequiredFilename(
662
+ @header contentType: "multipart/form-data",
663
+ @multipartBody body: {
664
+ file: HttpPart<FileWithRequiredFilename>;
665
+ },
666
+ ): NoContentResponse;
667
+
668
+ @scenario
669
+ @scenarioDoc("""
670
+ Test multiple File instances in multipart form data.
671
+ Expected request:
672
+ ```
673
+ POST /multipart/form-data/file/file-array HTTP/1.1
674
+ Content-Type: multipart/form-data; boundary=abcde12345
675
+
676
+ --abcde12345
677
+ Content-Disposition: form-data; name="files"; filename="image1.png"
678
+ Content-Type: image/png
679
+
680
+ {…file content of image.png…}
681
+ --abcde12345
682
+ Content-Disposition: form-data; name="files"; filename="image2.png"
683
+ Content-Type: image/png
684
+
685
+ {…file content of image.png…}
686
+ --abcde12345--
687
+ ```
688
+ """)
689
+ @post
690
+ @route("/file-array")
691
+ op uploadFileArray(
692
+ @header contentType: "multipart/form-data",
693
+ @multipartBody body: {
694
+ files: HttpPart<TypeSpec.Http.File<"image/png">>[];
695
+ },
696
+ ): NoContentResponse;
697
+ }
611
698
  }