Skip to content

Commit c5ad249

Browse files
committed
address issue four, regenerate tests
1 parent 6309b34 commit c5ad249

87 files changed

Lines changed: 427 additions & 882 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

modules/openapi-generator/src/main/resources/csharp/libraries/generichost/api.mustache

Lines changed: 25 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -471,25 +471,40 @@ namespace {{packageName}}.{{apiPackage}}
471471
{{/headerParams}}
472472
{{#formParams}}
473473
{{#-first}}
474+
{{#isMultipart}}
474475
MultipartFormDataContent multipartContentLocalVar = new MultipartFormDataContent();
475476

476477
httpRequestMessageLocalVar.Content = multipartContentLocalVar;
477478

478-
List<KeyValuePair<string{{nrt?}}, string{{nrt?}}>> formParameterLocalVars = new List<KeyValuePair<string{{nrt?}}, string{{nrt?}}>>();
479+
{{/isMultipart}}
480+
List<KeyValuePair<string, string{{nrt?}}>> formParameterLocalVars = new List<KeyValuePair<string, string{{nrt?}}>>();
479481

480482
{{/-first}}
481483
{{^isFile}}
482484
{{#required}}
483-
formParameterLocalVars.Add(new KeyValuePair<string{{nrt?}}, string{{nrt?}}>("{{baseName}}", ClientUtils.ParameterToString({{paramName}})));
485+
formParameterLocalVars.Add(new KeyValuePair<string, string{{nrt?}}>("{{baseName}}", ClientUtils.ParameterToString({{paramName}})));
484486

485487
{{/required}}
486488
{{^required}}
487489
if ({{paramName}}.IsSet)
488-
formParameterLocalVars.Add(new KeyValuePair<string{{nrt?}}, string{{nrt?}}>("{{baseName}}", ClientUtils.ParameterToString({{paramName}}.Value)));
490+
formParameterLocalVars.Add(new KeyValuePair<string, string{{nrt?}}>("{{baseName}}", ClientUtils.ParameterToString({{paramName}}.Value)));
489491

490492
{{/required}}
491493
{{/isFile}}
492494
{{#isFile}}
495+
{{^isMultipart}}
496+
{{! application/x-www-form-urlencoded encodes everything as text key=value pairs and has no mechanism to carry binary data. File params require multipart/form-data.}}
497+
{{#required}}
498+
throw new NotSupportedException("File parameters cannot be sent with application/x-www-form-urlencoded. Change the operation's content type to multipart/form-data.");
499+
500+
{{/required}}
501+
{{^required}}
502+
if ({{paramName}}.IsSet)
503+
throw new NotSupportedException("File parameters cannot be sent with application/x-www-form-urlencoded. Change the operation's content type to multipart/form-data.");
504+
505+
{{/required}}
506+
{{/isMultipart}}
507+
{{#isMultipart}}
493508
{{#required}}
494509
{{#isContainer}}
495510
foreach ({{packageName}}.{{clientPackage}}.FileParameter fileParameterLocalVar in {{paramName}})
@@ -524,12 +539,18 @@ namespace {{packageName}}.{{apiPackage}}
524539
}
525540

526541
{{/required}}
542+
{{/isMultipart}}
527543
{{/isFile}}
528544
{{/formParams}}
529545
{{#formParams}}
530546
{{#-first}}
547+
{{#isMultipart}}
531548
foreach (var formParamLocalVar in formParameterLocalVars)
532-
multipartContentLocalVar.Add(new StringContent(formParamLocalVar.Value), formParamLocalVar.Key);
549+
multipartContentLocalVar.Add(new StringContent(formParamLocalVar.Value ?? string.Empty), formParamLocalVar.Key);
550+
{{/isMultipart}}
551+
{{^isMultipart}}
552+
httpRequestMessageLocalVar.Content = new FormUrlEncodedContent(formParameterLocalVars);
553+
{{/isMultipart}}
533554

534555
{{/-first}}
535556
{{/formParams}}

modules/openapi-generator/src/main/resources/csharp/libraries/generichost/api_test.mustache

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@ namespace {{packageName}}.Test.{{apiPackage}}
3535
public async Task {{operationId}}AsyncTest()
3636
{
3737
{{#allParams}}
38-
{{^required}}Client.Option<{{/required}}{{{dataType}}}{{>NullConditionalParameter}}{{^required}}>{{/required}} {{paramName}} = default{{nrt!}};
38+
{{^required}}Client.Option<{{/required}}{{>OperationDataType}}{{^required}}>{{/required}} {{paramName}} = default{{nrt!}};
3939
{{/allParams}}
4040
{{#responses}}
4141
{{#-first}}

samples/client/petstore/csharp/generichost/net10/FormModels/src/Org.OpenAPITools.Test/Api/FakeApiTests.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -196,7 +196,7 @@ public async Task TestEndpointParametersAsyncTest()
196196
string patternWithoutDelimiter = default;
197197
byte[] varByte = default;
198198
double varDouble = default;
199-
Client.Option<System.IO.Stream> binary = default;
199+
Client.Option<Org.OpenAPITools.Client.FileParameter> binary = default;
200200
Client.Option<string> callback = default;
201201
Client.Option<DateOnly> date = default;
202202
Client.Option<DateTime> dateTime = default;

samples/client/petstore/csharp/generichost/net10/FormModels/src/Org.OpenAPITools.Test/Api/PetApiTests.cs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -137,7 +137,7 @@ public async Task UploadFileAsyncTest()
137137
{
138138
long petId = default;
139139
Client.Option<string> additionalMetadata = default;
140-
Client.Option<System.IO.Stream> file = default;
140+
Client.Option<Org.OpenAPITools.Client.FileParameter> file = default;
141141
var response = await _instance.UploadFileAsync(petId, additionalMetadata, file);
142142
var model = response.Ok();
143143
Assert.IsType<ApiResponse>(model);
@@ -150,7 +150,7 @@ public async Task UploadFileAsyncTest()
150150
public async Task UploadFileWithRequiredFileAsyncTest()
151151
{
152152
long petId = default;
153-
System.IO.Stream requiredFile = default;
153+
Org.OpenAPITools.Client.FileParameter requiredFile = default;
154154
Client.Option<string> additionalMetadata = default;
155155
var response = await _instance.UploadFileWithRequiredFileAsync(petId, requiredFile, additionalMetadata);
156156
var model = response.Ok();
@@ -163,7 +163,7 @@ public async Task UploadFileWithRequiredFileAsyncTest()
163163
[Fact (Skip = "not implemented")]
164164
public async Task UploadFilesAsyncTest()
165165
{
166-
List<System.IO.Stream> files = default;
166+
List<Org.OpenAPITools.Client.FileParameter> files = default;
167167
long petId = default;
168168
var response = await _instance.UploadFilesAsync(files, petId);
169169
var model = response.Ok();

samples/client/petstore/csharp/generichost/net10/FormModels/src/Org.OpenAPITools/Api/DefaultApi.cs

Lines changed: 1 addition & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -764,16 +764,11 @@ public async Task<IGetCountryApiResponse> GetCountryAsync(string country, System
764764
? "/country"
765765
: string.Concat(HttpClient.BaseAddress.AbsolutePath, "/country");
766766

767-
MultipartFormDataContent multipartContentLocalVar = new MultipartFormDataContent();
768-
769-
httpRequestMessageLocalVar.Content = multipartContentLocalVar;
770-
771767
List<KeyValuePair<string, string>> formParameterLocalVars = new List<KeyValuePair<string, string>>();
772768

773769
formParameterLocalVars.Add(new KeyValuePair<string, string>("country", ClientUtils.ParameterToString(country)));
774770

775-
foreach (var formParamLocalVar in formParameterLocalVars)
776-
multipartContentLocalVar.Add(new StringContent(formParamLocalVar.Value), formParamLocalVar.Key);
771+
httpRequestMessageLocalVar.Content = new FormUrlEncodedContent(formParameterLocalVars);
777772

778773
httpRequestMessageLocalVar.RequestUri = uriBuilderLocalVar.Uri;
779774

samples/client/petstore/csharp/generichost/net10/FormModels/src/Org.OpenAPITools/Api/FakeApi.cs

Lines changed: 4 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -4281,10 +4281,6 @@ public async Task<ITestEndpointParametersApiResponse> TestEndpointParametersAsyn
42814281
? "/fake"
42824282
: string.Concat(HttpClient.BaseAddress.AbsolutePath, "/fake");
42834283

4284-
MultipartFormDataContent multipartContentLocalVar = new MultipartFormDataContent();
4285-
4286-
httpRequestMessageLocalVar.Content = multipartContentLocalVar;
4287-
42884284
List<KeyValuePair<string, string>> formParameterLocalVars = new List<KeyValuePair<string, string>>();
42894285

42904286
formParameterLocalVars.Add(new KeyValuePair<string, string>("number", ClientUtils.ParameterToString(number)));
@@ -4296,10 +4292,7 @@ public async Task<ITestEndpointParametersApiResponse> TestEndpointParametersAsyn
42964292
formParameterLocalVars.Add(new KeyValuePair<string, string>("double", ClientUtils.ParameterToString(varDouble)));
42974293

42984294
if (binary.IsSet)
4299-
{
4300-
var streamContentLocalVar = new StreamContent(binary.Value.Content);
4301-
multipartContentLocalVar.Add(streamContentLocalVar, "binary", binary.Value.FileName ?? "binary");
4302-
}
4295+
throw new NotSupportedException("File parameters cannot be sent with application/x-www-form-urlencoded. Change the operation's content type to multipart/form-data.");
43034296

43044297
if (callback.IsSet)
43054298
formParameterLocalVars.Add(new KeyValuePair<string, string>("callback", ClientUtils.ParameterToString(callback.Value)));
@@ -4328,8 +4321,7 @@ public async Task<ITestEndpointParametersApiResponse> TestEndpointParametersAsyn
43284321
if (varString.IsSet)
43294322
formParameterLocalVars.Add(new KeyValuePair<string, string>("string", ClientUtils.ParameterToString(varString.Value)));
43304323

4331-
foreach (var formParamLocalVar in formParameterLocalVars)
4332-
multipartContentLocalVar.Add(new StringContent(formParamLocalVar.Value), formParamLocalVar.Key);
4324+
httpRequestMessageLocalVar.Content = new FormUrlEncodedContent(formParameterLocalVars);
43334325

43344326
List<TokenBase> tokenBaseLocalVars = new List<TokenBase>();
43354327
httpRequestMessageLocalVar.RequestUri = uriBuilderLocalVar.Uri;
@@ -4624,10 +4616,6 @@ public async Task<ITestEnumParametersApiResponse> TestEnumParametersAsync(Option
46244616
if (enumHeaderStringArray.IsSet)
46254617
httpRequestMessageLocalVar.Headers.Add("enum_header_string_array", ClientUtils.ParameterToString(enumHeaderStringArray.Value));
46264618

4627-
MultipartFormDataContent multipartContentLocalVar = new MultipartFormDataContent();
4628-
4629-
httpRequestMessageLocalVar.Content = multipartContentLocalVar;
4630-
46314619
List<KeyValuePair<string, string>> formParameterLocalVars = new List<KeyValuePair<string, string>>();
46324620

46334621
if (enumFormString.IsSet)
@@ -4636,8 +4624,7 @@ public async Task<ITestEnumParametersApiResponse> TestEnumParametersAsync(Option
46364624
if (enumFormStringArray.IsSet)
46374625
formParameterLocalVars.Add(new KeyValuePair<string, string>("enum_form_string_array", ClientUtils.ParameterToString(enumFormStringArray.Value)));
46384626

4639-
foreach (var formParamLocalVar in formParameterLocalVars)
4640-
multipartContentLocalVar.Add(new StringContent(formParamLocalVar.Value), formParamLocalVar.Key);
4627+
httpRequestMessageLocalVar.Content = new FormUrlEncodedContent(formParameterLocalVars);
46414628

46424629
httpRequestMessageLocalVar.RequestUri = uriBuilderLocalVar.Uri;
46434630

@@ -5531,18 +5518,13 @@ public async Task<ITestJsonFormDataApiResponse> TestJsonFormDataAsync(string par
55315518
? "/fake/jsonFormData"
55325519
: string.Concat(HttpClient.BaseAddress.AbsolutePath, "/fake/jsonFormData");
55335520

5534-
MultipartFormDataContent multipartContentLocalVar = new MultipartFormDataContent();
5535-
5536-
httpRequestMessageLocalVar.Content = multipartContentLocalVar;
5537-
55385521
List<KeyValuePair<string, string>> formParameterLocalVars = new List<KeyValuePair<string, string>>();
55395522

55405523
formParameterLocalVars.Add(new KeyValuePair<string, string>("param", ClientUtils.ParameterToString(param)));
55415524

55425525
formParameterLocalVars.Add(new KeyValuePair<string, string>("param2", ClientUtils.ParameterToString(param2)));
55435526

5544-
foreach (var formParamLocalVar in formParameterLocalVars)
5545-
multipartContentLocalVar.Add(new StringContent(formParamLocalVar.Value), formParamLocalVar.Key);
5527+
httpRequestMessageLocalVar.Content = new FormUrlEncodedContent(formParameterLocalVars);
55465528

55475529
httpRequestMessageLocalVar.RequestUri = uriBuilderLocalVar.Uri;
55485530

samples/client/petstore/csharp/generichost/net10/FormModels/src/Org.OpenAPITools/Api/PetApi.cs

Lines changed: 4 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -2387,10 +2387,6 @@ public async Task<IUpdatePetWithFormApiResponse> UpdatePetWithFormAsync(long pet
23872387
: string.Concat(HttpClient.BaseAddress.AbsolutePath, "/pet/{petId}");
23882388
uriBuilderLocalVar.Path = uriBuilderLocalVar.Path.Replace("%7BpetId%7D", Uri.EscapeDataString(petId.ToString()));
23892389

2390-
MultipartFormDataContent multipartContentLocalVar = new MultipartFormDataContent();
2391-
2392-
httpRequestMessageLocalVar.Content = multipartContentLocalVar;
2393-
23942390
List<KeyValuePair<string, string>> formParameterLocalVars = new List<KeyValuePair<string, string>>();
23952391

23962392
if (name.IsSet)
@@ -2399,8 +2395,7 @@ public async Task<IUpdatePetWithFormApiResponse> UpdatePetWithFormAsync(long pet
23992395
if (status.IsSet)
24002396
formParameterLocalVars.Add(new KeyValuePair<string, string>("status", ClientUtils.ParameterToString(status.Value)));
24012397

2402-
foreach (var formParamLocalVar in formParameterLocalVars)
2403-
multipartContentLocalVar.Add(new StringContent(formParamLocalVar.Value), formParamLocalVar.Key);
2398+
httpRequestMessageLocalVar.Content = new FormUrlEncodedContent(formParameterLocalVars);
24042399

24052400
List<TokenBase> tokenBaseLocalVars = new List<TokenBase>();
24062401
httpRequestMessageLocalVar.RequestUri = uriBuilderLocalVar.Uri;
@@ -2650,7 +2645,7 @@ public async Task<IUploadFileApiResponse> UploadFileAsync(long petId, Option<str
26502645
}
26512646

26522647
foreach (var formParamLocalVar in formParameterLocalVars)
2653-
multipartContentLocalVar.Add(new StringContent(formParamLocalVar.Value), formParamLocalVar.Key);
2648+
multipartContentLocalVar.Add(new StringContent(formParamLocalVar.Value ?? string.Empty), formParamLocalVar.Key);
26542649

26552650
List<TokenBase> tokenBaseLocalVars = new List<TokenBase>();
26562651
httpRequestMessageLocalVar.RequestUri = uriBuilderLocalVar.Uri;
@@ -2940,7 +2935,7 @@ public async Task<IUploadFileWithRequiredFileApiResponse> UploadFileWithRequired
29402935
formParameterLocalVars.Add(new KeyValuePair<string, string>("additionalMetadata", ClientUtils.ParameterToString(additionalMetadata.Value)));
29412936

29422937
foreach (var formParamLocalVar in formParameterLocalVars)
2943-
multipartContentLocalVar.Add(new StringContent(formParamLocalVar.Value), formParamLocalVar.Key);
2938+
multipartContentLocalVar.Add(new StringContent(formParamLocalVar.Value ?? string.Empty), formParamLocalVar.Key);
29442939

29452940
List<TokenBase> tokenBaseLocalVars = new List<TokenBase>();
29462941
httpRequestMessageLocalVar.RequestUri = uriBuilderLocalVar.Uri;
@@ -3219,7 +3214,7 @@ public async Task<IUploadFilesApiResponse> UploadFilesAsync(List<Org.OpenAPITool
32193214
}
32203215

32213216
foreach (var formParamLocalVar in formParameterLocalVars)
3222-
multipartContentLocalVar.Add(new StringContent(formParamLocalVar.Value), formParamLocalVar.Key);
3217+
multipartContentLocalVar.Add(new StringContent(formParamLocalVar.Value ?? string.Empty), formParamLocalVar.Key);
32233218

32243219
List<TokenBase> tokenBaseLocalVars = new List<TokenBase>();
32253220
httpRequestMessageLocalVar.RequestUri = uriBuilderLocalVar.Uri;

samples/client/petstore/csharp/generichost/net10/NullReferenceTypes/src/Org.OpenAPITools.Test/Api/FakeApiTests.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -196,7 +196,7 @@ public async Task TestEndpointParametersAsyncTest()
196196
string patternWithoutDelimiter = default!;
197197
byte[] varByte = default!;
198198
double varDouble = default!;
199-
Client.Option<System.IO.Stream> binary = default!;
199+
Client.Option<Org.OpenAPITools.Client.FileParameter> binary = default!;
200200
Client.Option<string> callback = default!;
201201
Client.Option<DateOnly> date = default!;
202202
Client.Option<DateTime> dateTime = default!;

samples/client/petstore/csharp/generichost/net10/NullReferenceTypes/src/Org.OpenAPITools.Test/Api/PetApiTests.cs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -137,7 +137,7 @@ public async Task UploadFileAsyncTest()
137137
{
138138
long petId = default!;
139139
Client.Option<string> additionalMetadata = default!;
140-
Client.Option<System.IO.Stream> file = default!;
140+
Client.Option<Org.OpenAPITools.Client.FileParameter> file = default!;
141141
var response = await _instance.UploadFileAsync(petId, additionalMetadata, file);
142142
var model = response.Ok();
143143
Assert.IsType<ApiResponse>(model);
@@ -150,7 +150,7 @@ public async Task UploadFileAsyncTest()
150150
public async Task UploadFileWithRequiredFileAsyncTest()
151151
{
152152
long petId = default!;
153-
System.IO.Stream requiredFile = default!;
153+
Org.OpenAPITools.Client.FileParameter requiredFile = default!;
154154
Client.Option<string> additionalMetadata = default!;
155155
var response = await _instance.UploadFileWithRequiredFileAsync(petId, requiredFile, additionalMetadata);
156156
var model = response.Ok();
@@ -163,7 +163,7 @@ public async Task UploadFileWithRequiredFileAsyncTest()
163163
[Fact (Skip = "not implemented")]
164164
public async Task UploadFilesAsyncTest()
165165
{
166-
List<System.IO.Stream> files = default!;
166+
List<Org.OpenAPITools.Client.FileParameter> files = default!;
167167
long petId = default!;
168168
var response = await _instance.UploadFilesAsync(files, petId);
169169
var model = response.Ok();

samples/client/petstore/csharp/generichost/net10/NullReferenceTypes/src/Org.OpenAPITools/Api/DefaultApi.cs

Lines changed: 3 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -766,16 +766,11 @@ public async Task<IGetCountryApiResponse> GetCountryAsync(string country, System
766766
? "/country"
767767
: string.Concat(HttpClient.BaseAddress.AbsolutePath, "/country");
768768

769-
MultipartFormDataContent multipartContentLocalVar = new MultipartFormDataContent();
769+
List<KeyValuePair<string, string?>> formParameterLocalVars = new List<KeyValuePair<string, string?>>();
770770

771-
httpRequestMessageLocalVar.Content = multipartContentLocalVar;
771+
formParameterLocalVars.Add(new KeyValuePair<string, string?>("country", ClientUtils.ParameterToString(country)));
772772

773-
List<KeyValuePair<string?, string?>> formParameterLocalVars = new List<KeyValuePair<string?, string?>>();
774-
775-
formParameterLocalVars.Add(new KeyValuePair<string?, string?>("country", ClientUtils.ParameterToString(country)));
776-
777-
foreach (var formParamLocalVar in formParameterLocalVars)
778-
multipartContentLocalVar.Add(new StringContent(formParamLocalVar.Value), formParamLocalVar.Key);
773+
httpRequestMessageLocalVar.Content = new FormUrlEncodedContent(formParameterLocalVars);
779774

780775
httpRequestMessageLocalVar.RequestUri = uriBuilderLocalVar.Uri;
781776

0 commit comments

Comments
 (0)