diff --git a/lib/codegen/csharp/rest_sharp.dart b/lib/codegen/csharp/rest_sharp.dart index 54ebb120..c31a13a0 100644 --- a/lib/codegen/csharp/rest_sharp.dart +++ b/lib/codegen/csharp/rest_sharp.dart @@ -20,7 +20,7 @@ using System.Threading.Tasks; class Program { static async Task Main(){ - try{ + try{ """; String kInitClientTemplate = """ @@ -44,7 +44,6 @@ class Program {% else -%} request.AddFile("{{name}}", "{{value}}"); {% endif -%} - """; String kTemplateJsonData = """ var jsonBody = new {{jsonData}}; @@ -64,7 +63,7 @@ class Program Console.WriteLine("Error: " + ex); } } -} +} """; String? getCode(RequestModel requestModel) { @@ -105,8 +104,9 @@ class Program for (var query in params) { paramsResult += templateParams .render({"param": query["name"], "value": query["value"]}); + paramsResult += "\n"; } - result += paramsResult; + result += paramsResult.substring(0, paramsResult.length - 1); result += kStringLineBreak; } @@ -124,8 +124,9 @@ class Program .first // boundary is removed : header["value"] }); + headersResult += '\n'; } - result += headersResult; + result += headersResult.substring(0, headersResult.length - 1); result += kStringLineBreak; } @@ -139,7 +140,7 @@ class Program "type": data["type"] }); } - result += formDataResult; + result += formDataResult.substring(0, formDataResult.length - 1); result += kStringLineBreak; } diff --git a/test/codegen/csharp_rest_sharp_codgen_test.dart b/test/codegen/csharp_rest_sharp_codgen_test.dart new file mode 100644 index 00000000..e3d83628 --- /dev/null +++ b/test/codegen/csharp_rest_sharp_codgen_test.dart @@ -0,0 +1,976 @@ +import 'package:apidash/consts.dart'; +import 'package:apidash/screens/home_page/editor_pane/details_card/code_pane.dart'; +import 'package:flutter_test/flutter_test.dart'; + +import '../request_models.dart'; + +void main() { + group("Get Request Test", () { + test("Get 1", () { + const expectedCode = r""" +using System; +using RestSharp; +using System.Threading.Tasks; + +class Program +{ + static async Task Main(){ + try{ + const String _baseUrl = "https://api.apidash.dev"; + var client = new RestClient(_baseUrl); + + var request = new RestRequest("", Method.Get); + + var response = await client.ExecuteAsync(request); + Console.WriteLine("Status Code: " + response.StatusCode); + Console.WriteLine("Response Content: " + response.Content); + } + catch(Exception ex){ + Console.WriteLine("Error: " + ex); + } + } +} +"""; + expect( + codegen.getCode( + CodegenLanguage.cSharpRestSharp, requestModelGet1, "https"), + expectedCode); + }); + + test("Get 2", () { + const expectedCode = r""" +using System; +using RestSharp; +using System.Threading.Tasks; + +class Program +{ + static async Task Main(){ + try{ + const String _baseUrl = "https://api.apidash.dev"; + var client = new RestClient(_baseUrl); + + var request = new RestRequest("/country/data", Method.Get); + + request.AddQueryParameter("code", "US"); + + var response = await client.ExecuteAsync(request); + Console.WriteLine("Status Code: " + response.StatusCode); + Console.WriteLine("Response Content: " + response.Content); + } + catch(Exception ex){ + Console.WriteLine("Error: " + ex); + } + } +} +"""; + + expect( + codegen.getCode( + CodegenLanguage.cSharpRestSharp, requestModelGet2, "https"), + expectedCode); + }); + + test("Get 3", () { + const expectedCode = r""" +using System; +using RestSharp; +using System.Threading.Tasks; + +class Program +{ + static async Task Main(){ + try{ + const String _baseUrl = "https://api.apidash.dev"; + var client = new RestClient(_baseUrl); + + var request = new RestRequest("/country/data", Method.Get); + + request.AddQueryParameter("code", "IND"); + + var response = await client.ExecuteAsync(request); + Console.WriteLine("Status Code: " + response.StatusCode); + Console.WriteLine("Response Content: " + response.Content); + } + catch(Exception ex){ + Console.WriteLine("Error: " + ex); + } + } +} +"""; + + expect( + codegen.getCode( + CodegenLanguage.cSharpRestSharp, requestModelGet3, "https"), + expectedCode); + }); + + test("Get 4", () { + const expectedCode = r""" +using System; +using RestSharp; +using System.Threading.Tasks; + +class Program +{ + static async Task Main(){ + try{ + const String _baseUrl = "https://api.apidash.dev"; + var client = new RestClient(_baseUrl); + + var request = new RestRequest("/humanize/social", Method.Get); + + request.AddQueryParameter("num", "8700000"); + request.AddQueryParameter("digits", "3"); + request.AddQueryParameter("system", "SS"); + request.AddQueryParameter("add_space", "true"); + request.AddQueryParameter("trailing_zeros", "true"); + + var response = await client.ExecuteAsync(request); + Console.WriteLine("Status Code: " + response.StatusCode); + Console.WriteLine("Response Content: " + response.Content); + } + catch(Exception ex){ + Console.WriteLine("Error: " + ex); + } + } +} +"""; + + expect( + codegen.getCode( + CodegenLanguage.cSharpRestSharp, requestModelGet4, "https"), + expectedCode); + }); + + test("Get 5", () { + const expectedCode = r""" +using System; +using RestSharp; +using System.Threading.Tasks; + +class Program +{ + static async Task Main(){ + try{ + const String _baseUrl = "https://api.github.com"; + var client = new RestClient(_baseUrl); + + var request = new RestRequest("/repos/foss42/apidash", Method.Get); + + request.AddHeader("User-Agent", "Test Agent"); + + var response = await client.ExecuteAsync(request); + Console.WriteLine("Status Code: " + response.StatusCode); + Console.WriteLine("Response Content: " + response.Content); + } + catch(Exception ex){ + Console.WriteLine("Error: " + ex); + } + } +} +"""; + + expect( + codegen.getCode( + CodegenLanguage.cSharpRestSharp, requestModelGet5, "https"), + expectedCode); + }); + + test("Get 6", () { + const expectedCode = r""" +using System; +using RestSharp; +using System.Threading.Tasks; + +class Program +{ + static async Task Main(){ + try{ + const String _baseUrl = "https://api.github.com"; + var client = new RestClient(_baseUrl); + + var request = new RestRequest("/repos/foss42/apidash", Method.Get); + + request.AddQueryParameter("raw", "true"); + + request.AddHeader("User-Agent", "Test Agent"); + + var response = await client.ExecuteAsync(request); + Console.WriteLine("Status Code: " + response.StatusCode); + Console.WriteLine("Response Content: " + response.Content); + } + catch(Exception ex){ + Console.WriteLine("Error: " + ex); + } + } +} +"""; + + expect( + codegen.getCode( + CodegenLanguage.cSharpRestSharp, requestModelGet6, "https"), + expectedCode); + }); + + test("Get 7", () { + const expectedCode = r""" +using System; +using RestSharp; +using System.Threading.Tasks; + +class Program +{ + static async Task Main(){ + try{ + const String _baseUrl = "https://api.apidash.dev"; + var client = new RestClient(_baseUrl); + + var request = new RestRequest("", Method.Get); + + var response = await client.ExecuteAsync(request); + Console.WriteLine("Status Code: " + response.StatusCode); + Console.WriteLine("Response Content: " + response.Content); + } + catch(Exception ex){ + Console.WriteLine("Error: " + ex); + } + } +} +"""; + + expect( + codegen.getCode( + CodegenLanguage.cSharpRestSharp, requestModelGet7, "https"), + expectedCode); + }); + + test("Get 8", () { + const expectedCode = r""" +using System; +using RestSharp; +using System.Threading.Tasks; + +class Program +{ + static async Task Main(){ + try{ + const String _baseUrl = "https://api.github.com"; + var client = new RestClient(_baseUrl); + + var request = new RestRequest("/repos/foss42/apidash", Method.Get); + + request.AddQueryParameter("raw", "true"); + + request.AddHeader("User-Agent", "Test Agent"); + + var response = await client.ExecuteAsync(request); + Console.WriteLine("Status Code: " + response.StatusCode); + Console.WriteLine("Response Content: " + response.Content); + } + catch(Exception ex){ + Console.WriteLine("Error: " + ex); + } + } +} +"""; + expect( + codegen.getCode( + CodegenLanguage.cSharpRestSharp, requestModelGet8, "https"), + expectedCode); + }); + + test("Get 9", () { + const expectedCode = r""" +using System; +using RestSharp; +using System.Threading.Tasks; + +class Program +{ + static async Task Main(){ + try{ + const String _baseUrl = "https://api.apidash.dev"; + var client = new RestClient(_baseUrl); + + var request = new RestRequest("/humanize/social", Method.Get); + + request.AddQueryParameter("num", "8700000"); + request.AddQueryParameter("add_space", "true"); + + var response = await client.ExecuteAsync(request); + Console.WriteLine("Status Code: " + response.StatusCode); + Console.WriteLine("Response Content: " + response.Content); + } + catch(Exception ex){ + Console.WriteLine("Error: " + ex); + } + } +} +"""; + expect( + codegen.getCode( + CodegenLanguage.cSharpRestSharp, requestModelGet9, "https"), + expectedCode); + }); + + test("Get 10", () { + const expectedCode = r""" +using System; +using RestSharp; +using System.Threading.Tasks; + +class Program +{ + static async Task Main(){ + try{ + const String _baseUrl = "https://api.apidash.dev"; + var client = new RestClient(_baseUrl); + + var request = new RestRequest("/humanize/social", Method.Get); + + request.AddHeader("User-Agent", "Test Agent"); + + var response = await client.ExecuteAsync(request); + Console.WriteLine("Status Code: " + response.StatusCode); + Console.WriteLine("Response Content: " + response.Content); + } + catch(Exception ex){ + Console.WriteLine("Error: " + ex); + } + } +} +"""; + expect( + codegen.getCode( + CodegenLanguage.cSharpRestSharp, requestModelGet10, "https"), + expectedCode); + }); + + test("Get 11", () { + const expectedCode = r""" +using System; +using RestSharp; +using System.Threading.Tasks; + +class Program +{ + static async Task Main(){ + try{ + const String _baseUrl = "https://api.apidash.dev"; + var client = new RestClient(_baseUrl); + + var request = new RestRequest("/humanize/social", Method.Get); + + request.AddQueryParameter("num", "8700000"); + request.AddQueryParameter("digits", "3"); + + request.AddHeader("User-Agent", "Test Agent"); + + var response = await client.ExecuteAsync(request); + Console.WriteLine("Status Code: " + response.StatusCode); + Console.WriteLine("Response Content: " + response.Content); + } + catch(Exception ex){ + Console.WriteLine("Error: " + ex); + } + } +} +"""; + expect( + codegen.getCode( + CodegenLanguage.cSharpRestSharp, requestModelGet11, "https"), + expectedCode); + }); + + test("Get 12", () { + const expectedCode = r""" +using System; +using RestSharp; +using System.Threading.Tasks; + +class Program +{ + static async Task Main(){ + try{ + const String _baseUrl = "https://api.apidash.dev"; + var client = new RestClient(_baseUrl); + + var request = new RestRequest("/humanize/social", Method.Get); + + var response = await client.ExecuteAsync(request); + Console.WriteLine("Status Code: " + response.StatusCode); + Console.WriteLine("Response Content: " + response.Content); + } + catch(Exception ex){ + Console.WriteLine("Error: " + ex); + } + } +} +"""; + expect( + codegen.getCode( + CodegenLanguage.cSharpRestSharp, requestModelGet12, "https"), + expectedCode); + }); + }); + + group("Head Request Test", () { + test("Head 1", () { + const expectedCode = r""" +using System; +using RestSharp; +using System.Threading.Tasks; + +class Program +{ + static async Task Main(){ + try{ + const String _baseUrl = "https://api.apidash.dev"; + var client = new RestClient(_baseUrl); + + var request = new RestRequest("", Method.Head); + + var response = await client.ExecuteAsync(request); + Console.WriteLine("Status Code: " + response.StatusCode); + Console.WriteLine("Response Content: " + response.Content); + } + catch(Exception ex){ + Console.WriteLine("Error: " + ex); + } + } +} +"""; + expect( + codegen.getCode( + CodegenLanguage.cSharpRestSharp, requestModelHead1, "https"), + expectedCode); + }); + + test("Head 2", () { + const expectedCode = r""" +using System; +using RestSharp; +using System.Threading.Tasks; + +class Program +{ + static async Task Main(){ + try{ + const String _baseUrl = "https://api.apidash.dev"; + var client = new RestClient(_baseUrl); + + var request = new RestRequest("", Method.Head); + + var response = await client.ExecuteAsync(request); + Console.WriteLine("Status Code: " + response.StatusCode); + Console.WriteLine("Response Content: " + response.Content); + } + catch(Exception ex){ + Console.WriteLine("Error: " + ex); + } + } +} +"""; + expect( + codegen.getCode( + CodegenLanguage.cSharpRestSharp, requestModelHead2, "https"), + expectedCode); + }); + }); + + group("Post Request Test", () { + test("Post 1", () { + const expectedCode = r""" +using System; +using RestSharp; +using System.Threading.Tasks; + +class Program +{ + static async Task Main(){ + try{ + const String _baseUrl = "https://api.apidash.dev"; + var client = new RestClient(_baseUrl); + + var request = new RestRequest("/case/lower", Method.Post); + + request.AddHeader("Content-Type", "text/plain"); + + var textBody = "{ +"text": "I LOVE Flutter" +}"; + request.AddStringBody(textBody); + + var response = await client.ExecuteAsync(request); + Console.WriteLine("Status Code: " + response.StatusCode); + Console.WriteLine("Response Content: " + response.Content); + } + catch(Exception ex){ + Console.WriteLine("Error: " + ex); + } + } +} +"""; + expect( + codegen.getCode( + CodegenLanguage.cSharpRestSharp, requestModelPost1, "https"), + expectedCode); + }); + test("Post 2", () { + const expectedCode = """ +using System; +using RestSharp; +using System.Threading.Tasks; + +class Program +{ + static async Task Main(){ + try{ + const String _baseUrl = "https://api.apidash.dev"; + var client = new RestClient(_baseUrl); + + var request = new RestRequest("/case/lower", Method.Post); + + request.AddHeader("Content-Type", "application/json"); + + var jsonBody = new { +\t\t\t\t\ttext = "I LOVE Flutter", +\t\t\t\t\tflag = "null", +\t\t\t\t\tmale = "true", +\t\t\t\t\tfemale = "false", +\t\t\t\t\tno = "1.2", +\t\t\t\t\tarr = "[null, true, false, null]" +\t\t\t\t\t}; + request.AddJsonBody(jsonBody); + + var response = await client.ExecuteAsync(request); + Console.WriteLine("Status Code: " + response.StatusCode); + Console.WriteLine("Response Content: " + response.Content); + } + catch(Exception ex){ + Console.WriteLine("Error: " + ex); + } + } +} +"""; + expect( + codegen.getCode( + CodegenLanguage.cSharpRestSharp, requestModelPost2, "https"), + expectedCode); + }); + test("Post 3", () { + const expectedCode = """ +using System; +using RestSharp; +using System.Threading.Tasks; + +class Program +{ + static async Task Main(){ + try{ + const String _baseUrl = "https://api.apidash.dev"; + var client = new RestClient(_baseUrl); + + var request = new RestRequest("/case/lower", Method.Post); + + request.AddHeader("Content-Type", "application/json"); + request.AddHeader("User-Agent", "Test Agent"); + + var jsonBody = new { +\t\t\t\t\ttext = "I LOVE Flutter" +\t\t\t\t\t}; + request.AddJsonBody(jsonBody); + + var response = await client.ExecuteAsync(request); + Console.WriteLine("Status Code: " + response.StatusCode); + Console.WriteLine("Response Content: " + response.Content); + } + catch(Exception ex){ + Console.WriteLine("Error: " + ex); + } + } +} +"""; + expect( + codegen.getCode( + CodegenLanguage.cSharpRestSharp, requestModelPost3, "https"), + expectedCode); + }); + test("Post 4", () { + const expectedCode = r""" +using System; +using RestSharp; +using System.Threading.Tasks; + +class Program +{ + static async Task Main(){ + try{ + const String _baseUrl = "https://api.apidash.dev"; + var client = new RestClient(_baseUrl); + + var request = new RestRequest("/io/form", Method.Post); + + request.AddHeader("Content-Type", "multipart/form-data"); + + request.AddParameter("text", "API", ParameterType.RequestBody); + request.AddParameter("sep", "|", ParameterType.RequestBody); + request.AddParameter("times", "3", ParameterType.RequestBody); + + var response = await client.ExecuteAsync(request); + Console.WriteLine("Status Code: " + response.StatusCode); + Console.WriteLine("Response Content: " + response.Content); + } + catch(Exception ex){ + Console.WriteLine("Error: " + ex); + } + } +} +"""; + expect( + codegen.getCode( + CodegenLanguage.cSharpRestSharp, requestModelPost4, "https"), + expectedCode); + }); + test("Post 5", () { + const expectedCode = r""" +using System; +using RestSharp; +using System.Threading.Tasks; + +class Program +{ + static async Task Main(){ + try{ + const String _baseUrl = "https://api.apidash.dev"; + var client = new RestClient(_baseUrl); + + var request = new RestRequest("/io/form", Method.Post); + + request.AddHeader("Content-Type", "multipart/form-data"); + request.AddHeader("User-Agent", "Test Agent"); + + request.AddParameter("text", "API", ParameterType.RequestBody); + request.AddParameter("sep", "|", ParameterType.RequestBody); + request.AddParameter("times", "3", ParameterType.RequestBody); + + var response = await client.ExecuteAsync(request); + Console.WriteLine("Status Code: " + response.StatusCode); + Console.WriteLine("Response Content: " + response.Content); + } + catch(Exception ex){ + Console.WriteLine("Error: " + ex); + } + } +} +"""; + expect( + codegen.getCode( + CodegenLanguage.cSharpRestSharp, requestModelPost5, "https"), + expectedCode); + }); + test("Post 6", () { + const expectedCode = r""" +using System; +using RestSharp; +using System.Threading.Tasks; + +class Program +{ + static async Task Main(){ + try{ + const String _baseUrl = "https://api.apidash.dev"; + var client = new RestClient(_baseUrl); + + var request = new RestRequest("/io/img", Method.Post); + + request.AddHeader("Content-Type", "multipart/form-data"); + + request.AddParameter("token", "xyz", ParameterType.RequestBody); + request.AddFile("imfile", "/Documents/up/1.png"); + + var response = await client.ExecuteAsync(request); + Console.WriteLine("Status Code: " + response.StatusCode); + Console.WriteLine("Response Content: " + response.Content); + } + catch(Exception ex){ + Console.WriteLine("Error: " + ex); + } + } +} +"""; + expect( + codegen.getCode( + CodegenLanguage.cSharpRestSharp, requestModelPost6, "https"), + expectedCode); + }); + test("Post 7", () { + const expectedCode = r""" +using System; +using RestSharp; +using System.Threading.Tasks; + +class Program +{ + static async Task Main(){ + try{ + const String _baseUrl = "https://api.apidash.dev"; + var client = new RestClient(_baseUrl); + + var request = new RestRequest("/io/img", Method.Post); + + request.AddHeader("Content-Type", "multipart/form-data"); + + request.AddParameter("token", "xyz", ParameterType.RequestBody); + request.AddFile("imfile", "/Documents/up/1.png"); + + var response = await client.ExecuteAsync(request); + Console.WriteLine("Status Code: " + response.StatusCode); + Console.WriteLine("Response Content: " + response.Content); + } + catch(Exception ex){ + Console.WriteLine("Error: " + ex); + } + } +} +"""; + expect( + codegen.getCode( + CodegenLanguage.cSharpRestSharp, requestModelPost7, "https"), + expectedCode); + }); + test("Post 8", () { + const expectedCode = r""" +using System; +using RestSharp; +using System.Threading.Tasks; + +class Program +{ + static async Task Main(){ + try{ + const String _baseUrl = "https://api.apidash.dev"; + var client = new RestClient(_baseUrl); + + var request = new RestRequest("/io/form", Method.Post); + + request.AddQueryParameter("size", "2"); + request.AddQueryParameter("len", "3"); + + request.AddHeader("Content-Type", "multipart/form-data"); + + request.AddParameter("text", "API", ParameterType.RequestBody); + request.AddParameter("sep", "|", ParameterType.RequestBody); + request.AddParameter("times", "3", ParameterType.RequestBody); + + var response = await client.ExecuteAsync(request); + Console.WriteLine("Status Code: " + response.StatusCode); + Console.WriteLine("Response Content: " + response.Content); + } + catch(Exception ex){ + Console.WriteLine("Error: " + ex); + } + } +} +"""; + expect( + codegen.getCode( + CodegenLanguage.cSharpRestSharp, requestModelPost8, "https"), + expectedCode); + }); + test("Post 9", () { + const expectedCode = r""" +using System; +using RestSharp; +using System.Threading.Tasks; + +class Program +{ + static async Task Main(){ + try{ + const String _baseUrl = "https://api.apidash.dev"; + var client = new RestClient(_baseUrl); + + var request = new RestRequest("/io/img", Method.Post); + + request.AddQueryParameter("size", "2"); + request.AddQueryParameter("len", "3"); + + request.AddHeader("Content-Type", "multipart/form-data"); + request.AddHeader("User-Agent", "Test Agent"); + request.AddHeader("Keep-Alive", "true"); + + request.AddParameter("token", "xyz", ParameterType.RequestBody); + request.AddFile("imfile", "/Documents/up/1.png"); + + var response = await client.ExecuteAsync(request); + Console.WriteLine("Status Code: " + response.StatusCode); + Console.WriteLine("Response Content: " + response.Content); + } + catch(Exception ex){ + Console.WriteLine("Error: " + ex); + } + } +} +"""; + expect( + codegen.getCode( + CodegenLanguage.cSharpRestSharp, requestModelPost9, "https"), + expectedCode); + }); + }); + + group("Put Request Test", () { + test("Put 1", () { + const expectedCode = """ +using System; +using RestSharp; +using System.Threading.Tasks; + +class Program +{ + static async Task Main(){ + try{ + const String _baseUrl = "https://reqres.in"; + var client = new RestClient(_baseUrl); + + var request = new RestRequest("/api/users/2", Method.Put); + + request.AddHeader("Content-Type", "application/json"); + + var jsonBody = new { +\t\t\t\t\tname = "morpheus", +\t\t\t\t\tjob = "zion resident" +\t\t\t\t\t}; + request.AddJsonBody(jsonBody); + + var response = await client.ExecuteAsync(request); + Console.WriteLine("Status Code: " + response.StatusCode); + Console.WriteLine("Response Content: " + response.Content); + } + catch(Exception ex){ + Console.WriteLine("Error: " + ex); + } + } +} +"""; + expect( + codegen.getCode( + CodegenLanguage.cSharpRestSharp, requestModelPut1, "https"), + expectedCode); + }); + }); + + group("Patch Request Test", () { + test("Patch 1", () { + const expectedCode = """ +using System; +using RestSharp; +using System.Threading.Tasks; + +class Program +{ + static async Task Main(){ + try{ + const String _baseUrl = "https://reqres.in"; + var client = new RestClient(_baseUrl); + + var request = new RestRequest("/api/users/2", Method.Patch); + + request.AddHeader("Content-Type", "application/json"); + + var jsonBody = new { +\t\t\t\t\tname = "marfeus", +\t\t\t\t\tjob = "accountant" +\t\t\t\t\t}; + request.AddJsonBody(jsonBody); + + var response = await client.ExecuteAsync(request); + Console.WriteLine("Status Code: " + response.StatusCode); + Console.WriteLine("Response Content: " + response.Content); + } + catch(Exception ex){ + Console.WriteLine("Error: " + ex); + } + } +} +"""; + expect( + codegen.getCode( + CodegenLanguage.cSharpRestSharp, requestModelPatch1, "https"), + expectedCode); + }); + }); + + group("Delete Request Test", () { + test("Delete 1", () { + const expectedCode = """ +using System; +using RestSharp; +using System.Threading.Tasks; + +class Program +{ + static async Task Main(){ + try{ + const String _baseUrl = "https://reqres.in"; + var client = new RestClient(_baseUrl); + + var request = new RestRequest("/api/users/2", Method.Delete); + + var response = await client.ExecuteAsync(request); + Console.WriteLine("Status Code: " + response.StatusCode); + Console.WriteLine("Response Content: " + response.Content); + } + catch(Exception ex){ + Console.WriteLine("Error: " + ex); + } + } +} +"""; + expect( + codegen.getCode( + CodegenLanguage.cSharpRestSharp, requestModelDelete1, "https"), + expectedCode); + }); + test("Delete 2", () { + const expectedCode = """ +using System; +using RestSharp; +using System.Threading.Tasks; + +class Program +{ + static async Task Main(){ + try{ + const String _baseUrl = "https://reqres.in"; + var client = new RestClient(_baseUrl); + + var request = new RestRequest("/api/users/2", Method.Delete); + + request.AddHeader("Content-Type", "application/json"); + + var jsonBody = new { +\t\t\t\t\tname = "marfeus", +\t\t\t\t\tjob = "accountant" +\t\t\t\t\t}; + request.AddJsonBody(jsonBody); + + var response = await client.ExecuteAsync(request); + Console.WriteLine("Status Code: " + response.StatusCode); + Console.WriteLine("Response Content: " + response.Content); + } + catch(Exception ex){ + Console.WriteLine("Error: " + ex); + } + } +} +"""; + expect( + codegen.getCode( + CodegenLanguage.cSharpRestSharp, requestModelDelete2, "https"), + expectedCode); + }); + }); +}