diff --git a/lib/codegen/java/httpclient.dart b/lib/codegen/java/httpclient.dart index d57c73f3..037a9a87 100644 --- a/lib/codegen/java/httpclient.dart +++ b/lib/codegen/java/httpclient.dart @@ -1,7 +1,7 @@ - import 'dart:convert'; import 'package:jinja/jinja.dart' as jj; -import 'package:apidash/utils/utils.dart' show getValidRequestUri, requestModelToHARJsonRequest, stripUriParams; +import 'package:apidash/utils/utils.dart' + show getValidRequestUri, requestModelToHARJsonRequest, stripUriParams; import '../../models/request_model.dart'; import 'package:apidash/consts.dart'; @@ -66,7 +66,6 @@ public class JavaHttpClientExample { String? getCode( RequestModel requestModel, - String defaultUriScheme, ) { try { String result = ""; @@ -74,13 +73,8 @@ public class JavaHttpClientExample { bool hasBody = false; bool hasJsonBody = false; - String url = requestModel.url; - if (!url.contains("://") && url.isNotEmpty) { - url = "$defaultUriScheme://$url"; - } - var rec = getValidRequestUri( - url, + requestModel.url, requestModel.enabledRequestParams, ); Uri? uri = rec.$1; @@ -95,40 +89,46 @@ public class JavaHttpClientExample { var templateParams = jj.Template(kTemplateUrlQuery); result += templateParams.render({"url": url, "params": uri.query}); } - } - - if(!hasQuery) { + } + + if (!hasQuery) { var templateUrl = jj.Template(kTemplateUrl); result += templateUrl.render({"url": url}); } var rM = requestModel.copyWith(url: url); - var harJson = requestModelToHARJsonRequest(rM, useEnabled: true); + var harJson = requestModelToHARJsonRequest(rM, useEnabled: true); var method = requestModel.method; var requestBody = requestModel.requestBody; - if (requestModel.isFormDataRequest && requestModel.formDataMapList.isNotEmpty && kMethodsWithBody.contains(method)) { - var formDataList = requestModel.formDataMapList; - result += """ + if (requestModel.hasFormData && + requestModel.formDataMapList.isNotEmpty && + kMethodsWithBody.contains(method)) { + var formDataList = requestModel.formDataMapList; + result += """ StringBuilder formData = new StringBuilder(); formData.append("""; - for (var formDataMap in formDataList) { - result += '"""${formDataMap['name']}=${formDataMap['value']}&""",'; - } + for (var formDataMap in formDataList) { + result += '"""${formDataMap['name']}=${formDataMap['value']}&""",'; + } - result = result.substring(0, result.length - 1); - result += ");\n"; - hasBody = true; + result = result.substring(0, result.length - 1); + result += ");\n"; + hasBody = true; } else if (kMethodsWithBody.contains(method) && requestBody != null) { var contentLength = utf8.encode(requestBody).length; if (contentLength > 0) { - var templateBody = jj.Template(kTemplateRequestBody);hasBody = true; - hasJsonBody = requestBody.startsWith("{") && requestBody.endsWith("}"); + var templateBody = jj.Template(kTemplateRequestBody); + hasBody = true; + hasJsonBody = + requestBody.startsWith("{") && requestBody.endsWith("}"); if (harJson["postData"]?["text"] != null) { - result += templateBody - .render({"body": kEncoder.convert(harJson["postData"]["text"]).substring(1, kEncoder.convert(harJson["postData"]["text"]).length - 1)}); - } + result += templateBody.render({ + "body": kEncoder.convert(harJson["postData"]["text"]).substring( + 1, kEncoder.convert(harJson["postData"]["text"]).length - 1) + }); + } } } @@ -137,28 +137,30 @@ public class JavaHttpClientExample { var headersList = requestModel.enabledRequestHeaders; var contentType = requestModel.requestBodyContentType.header; - if(hasBody && !requestModel.enabledHeadersMap.containsKey('Content-Type')){ - result = """$result .header("Content-Type", "$contentType")\n"""; + if (hasBody && + !requestModel.enabledHeadersMap.containsKey('Content-Type')) { + result = + """$result .header("Content-Type", "$contentType")\n"""; } if (headersList != null) { var headers = requestModel.enabledHeadersMap; if (headers.isNotEmpty) { - result += getHeaders(headers,hasJsonBody); + result += getHeaders(headers, hasJsonBody); } } var templateRequestEnd = jj.Template(kTemplateRequestEnd); - - if(kMethodsWithBody.contains(method)){ + + if (kMethodsWithBody.contains(method)) { result += templateRequestEnd.render({ - "method": method.name.toUpperCase(), - "body": hasBody ? "BodyPublishers.ofString(body)" : "BodyPublishers.noBody()" - }); + "method": method.name.toUpperCase(), + "body": hasBody + ? "BodyPublishers.ofString(body)" + : "BodyPublishers.noBody()" + }); } else { - result += templateRequestEnd.render({ - "method": method.name.toUpperCase(), - "body": "" - }); + result += templateRequestEnd + .render({"method": method.name.toUpperCase(), "body": ""}); } } return result; @@ -167,10 +169,10 @@ public class JavaHttpClientExample { } } - String getHeaders(Map headers,hasJsonBody) { + String getHeaders(Map headers, hasJsonBody) { String result = ""; for (final k in headers.keys) { - if(k.toLowerCase() == 'authorization') { + if (k.toLowerCase() == 'authorization') { result = """$result .header("$k", "${headers[k]}")\n"""; } else { result = """$result .header("$k", "${headers[k]}")\n"""; diff --git a/lib/consts.dart b/lib/consts.dart index c290d79c..33c0190b 100644 --- a/lib/consts.dart +++ b/lib/consts.dart @@ -279,7 +279,7 @@ enum CodegenLanguage { rustUreq("Rust (ureq)", "rust", "rs"), javaOkHttp("Java (okhttp3)", "java", 'java'), javaAsyncHttpClient("Java (async-http-client)", "java", "java"), - javaHttpClient("Java (HttpClient)", "java", "java") + javaHttpClient("Java (HttpClient)", "java", "java"), juliaHttp("Julia (HTTP)", "julia", "jl"); const CodegenLanguage(this.label, this.codeHighlightLang, this.ext); diff --git a/test/codegen/java_http_client_codegen_test.dart b/test/codegen/java_http_client_codegen_test.dart deleted file mode 100644 index 83b71d2f..00000000 --- a/test/codegen/java_http_client_codegen_test.dart +++ /dev/null @@ -1,800 +0,0 @@ -import 'package:test/test.dart'; -import 'package:apidash/codegen/java/httpclient.dart'; -import '../request_models.dart'; - -void main() { - final javaHttpClientCodeGen = JavaHttpClientCodeGen(); - - group('GET Request', () { - test('GET 1', () { - const expectedCode = """ -import java.io.IOException; -import java.net.URI; -import java.net.URISyntaxException; -import java.net.http.HttpClient; -import java.net.http.HttpRequest; -import java.net.http.HttpResponse; -import java.net.http.HttpHeaders; -import java.net.http.HttpRequest.BodyPublishers; -import java.net.http.HttpResponse.BodyHandlers; - -public class JavaHttpClientExample { - - public static void main(String[] args) throws IOException, InterruptedException { - HttpClient client = HttpClient.newHttpClient(); - - String url = "https://api.foss42.com"; - - HttpRequest request = HttpRequest.newBuilder() - .uri(URI.create(url)) - .GET() - .build(); - - HttpResponse response = client.send(request, BodyHandlers.ofString()); - System.out.println(response.statusCode()); - System.out.println(response.body()); - } -} - -"""; - expect(javaHttpClientCodeGen.getCode(requestModelGet1, "https"), expectedCode); - }); - - test('GET 2', () { - const expectedCode = """ -import java.io.IOException; -import java.net.URI; -import java.net.URISyntaxException; -import java.net.http.HttpClient; -import java.net.http.HttpRequest; -import java.net.http.HttpResponse; -import java.net.http.HttpHeaders; -import java.net.http.HttpRequest.BodyPublishers; -import java.net.http.HttpResponse.BodyHandlers; - -public class JavaHttpClientExample { - - public static void main(String[] args) throws IOException, InterruptedException { - HttpClient client = HttpClient.newHttpClient(); - - String url = "https://api.foss42.com/country/data"; - try { - URI uri = new URI(url); - url = uri.resolve("code=US").toString(); - } catch (URISyntaxException e) { - e.printStackTrace(); - } - - HttpRequest request = HttpRequest.newBuilder() - .uri(URI.create(url)) - .GET() - .build(); - - HttpResponse response = client.send(request, BodyHandlers.ofString()); - System.out.println(response.statusCode()); - System.out.println(response.body()); - } -} - -"""; - expect(javaHttpClientCodeGen.getCode(requestModelGet2, "https"), expectedCode); - }); - - test('GET 3', () { - const expectedCode = """ -import java.io.IOException; -import java.net.URI; -import java.net.URISyntaxException; -import java.net.http.HttpClient; -import java.net.http.HttpRequest; -import java.net.http.HttpResponse; -import java.net.http.HttpHeaders; -import java.net.http.HttpRequest.BodyPublishers; -import java.net.http.HttpResponse.BodyHandlers; - -public class JavaHttpClientExample { - - public static void main(String[] args) throws IOException, InterruptedException { - HttpClient client = HttpClient.newHttpClient(); - - String url = "https://api.foss42.com/country/data"; - try { - URI uri = new URI(url); - url = uri.resolve("code=IND").toString(); - } catch (URISyntaxException e) { - e.printStackTrace(); - } - - HttpRequest request = HttpRequest.newBuilder() - .uri(URI.create(url)) - .GET() - .build(); - - HttpResponse response = client.send(request, BodyHandlers.ofString()); - System.out.println(response.statusCode()); - System.out.println(response.body()); - } -} - -"""; - expect(javaHttpClientCodeGen.getCode(requestModelGet3, "https"), expectedCode); - }); - - test('GET 4', () { - const expectedCode = """ -import java.io.IOException; -import java.net.URI; -import java.net.URISyntaxException; -import java.net.http.HttpClient; -import java.net.http.HttpRequest; -import java.net.http.HttpResponse; -import java.net.http.HttpHeaders; -import java.net.http.HttpRequest.BodyPublishers; -import java.net.http.HttpResponse.BodyHandlers; - -public class JavaHttpClientExample { - - public static void main(String[] args) throws IOException, InterruptedException { - HttpClient client = HttpClient.newHttpClient(); - - String url = "https://api.foss42.com/humanize/social"; - try { - URI uri = new URI(url); - url = uri.resolve("num=8700000&digits=3&system=SS&add_space=true&trailing_zeros=true").toString(); - } catch (URISyntaxException e) { - e.printStackTrace(); - } - - HttpRequest request = HttpRequest.newBuilder() - .uri(URI.create(url)) - .GET() - .build(); - - HttpResponse response = client.send(request, BodyHandlers.ofString()); - System.out.println(response.statusCode()); - System.out.println(response.body()); - } -} - -"""; - expect(javaHttpClientCodeGen.getCode(requestModelGet4, "https"), expectedCode); - }); - - test('GET 5', () { - const expectedCode = """ -import java.io.IOException; -import java.net.URI; -import java.net.URISyntaxException; -import java.net.http.HttpClient; -import java.net.http.HttpRequest; -import java.net.http.HttpResponse; -import java.net.http.HttpHeaders; -import java.net.http.HttpRequest.BodyPublishers; -import java.net.http.HttpResponse.BodyHandlers; - -public class JavaHttpClientExample { - - public static void main(String[] args) throws IOException, InterruptedException { - HttpClient client = HttpClient.newHttpClient(); - - String url = "https://api.github.com/repos/foss42/apidash"; - - HttpRequest request = HttpRequest.newBuilder() - .uri(URI.create(url)) - .header("User-Agent", "Test Agent") - .GET() - .build(); - - HttpResponse response = client.send(request, BodyHandlers.ofString()); - System.out.println(response.statusCode()); - System.out.println(response.body()); - } -} - -"""; - expect(javaHttpClientCodeGen.getCode(requestModelGet5, "https"), expectedCode); - }); - - test('GET 6', () { - const expectedCode = """ -import java.io.IOException; -import java.net.URI; -import java.net.URISyntaxException; -import java.net.http.HttpClient; -import java.net.http.HttpRequest; -import java.net.http.HttpResponse; -import java.net.http.HttpHeaders; -import java.net.http.HttpRequest.BodyPublishers; -import java.net.http.HttpResponse.BodyHandlers; - -public class JavaHttpClientExample { - - public static void main(String[] args) throws IOException, InterruptedException { - HttpClient client = HttpClient.newHttpClient(); - - String url = "https://api.github.com/repos/foss42/apidash"; - try { - URI uri = new URI(url); - url = uri.resolve("raw=true").toString(); - } catch (URISyntaxException e) { - e.printStackTrace(); - } - - HttpRequest request = HttpRequest.newBuilder() - .uri(URI.create(url)) - .header("User-Agent", "Test Agent") - .GET() - .build(); - - HttpResponse response = client.send(request, BodyHandlers.ofString()); - System.out.println(response.statusCode()); - System.out.println(response.body()); - } -} - -"""; - expect(javaHttpClientCodeGen.getCode(requestModelGet6, "https"), expectedCode); - }); - - test('GET 7', () { - const expectedCode = """ -import java.io.IOException; -import java.net.URI; -import java.net.URISyntaxException; -import java.net.http.HttpClient; -import java.net.http.HttpRequest; -import java.net.http.HttpResponse; -import java.net.http.HttpHeaders; -import java.net.http.HttpRequest.BodyPublishers; -import java.net.http.HttpResponse.BodyHandlers; - -public class JavaHttpClientExample { - - public static void main(String[] args) throws IOException, InterruptedException { - HttpClient client = HttpClient.newHttpClient(); - - String url = "https://api.foss42.com"; - - HttpRequest request = HttpRequest.newBuilder() - .uri(URI.create(url)) - .GET() - .build(); - - HttpResponse response = client.send(request, BodyHandlers.ofString()); - System.out.println(response.statusCode()); - System.out.println(response.body()); - } -} - -"""; - expect(javaHttpClientCodeGen.getCode(requestModelGet7, "https"), expectedCode); - }); - - test('GET 8', () { - const expectedCode = """ -import java.io.IOException; -import java.net.URI; -import java.net.URISyntaxException; -import java.net.http.HttpClient; -import java.net.http.HttpRequest; -import java.net.http.HttpResponse; -import java.net.http.HttpHeaders; -import java.net.http.HttpRequest.BodyPublishers; -import java.net.http.HttpResponse.BodyHandlers; - -public class JavaHttpClientExample { - - public static void main(String[] args) throws IOException, InterruptedException { - HttpClient client = HttpClient.newHttpClient(); - - String url = "https://api.github.com/repos/foss42/apidash"; - try { - URI uri = new URI(url); - url = uri.resolve("raw=true").toString(); - } catch (URISyntaxException e) { - e.printStackTrace(); - } - - HttpRequest request = HttpRequest.newBuilder() - .uri(URI.create(url)) - .header("User-Agent", "Test Agent") - .GET() - .build(); - - HttpResponse response = client.send(request, BodyHandlers.ofString()); - System.out.println(response.statusCode()); - System.out.println(response.body()); - } -} - -"""; - expect(javaHttpClientCodeGen.getCode(requestModelGet8, "https"), expectedCode); - }); - - test('GET 9', () { - const expectedCode = """ -import java.io.IOException; -import java.net.URI; -import java.net.URISyntaxException; -import java.net.http.HttpClient; -import java.net.http.HttpRequest; -import java.net.http.HttpResponse; -import java.net.http.HttpHeaders; -import java.net.http.HttpRequest.BodyPublishers; -import java.net.http.HttpResponse.BodyHandlers; - -public class JavaHttpClientExample { - - public static void main(String[] args) throws IOException, InterruptedException { - HttpClient client = HttpClient.newHttpClient(); - - String url = "https://api.foss42.com/humanize/social"; - try { - URI uri = new URI(url); - url = uri.resolve("num=8700000&add_space=true").toString(); - } catch (URISyntaxException e) { - e.printStackTrace(); - } - - HttpRequest request = HttpRequest.newBuilder() - .uri(URI.create(url)) - .GET() - .build(); - - HttpResponse response = client.send(request, BodyHandlers.ofString()); - System.out.println(response.statusCode()); - System.out.println(response.body()); - } -} - -"""; - expect(javaHttpClientCodeGen.getCode(requestModelGet9, "https"), expectedCode); - }); - - test('GET 10', () { - const expectedCode = """ -import java.io.IOException; -import java.net.URI; -import java.net.URISyntaxException; -import java.net.http.HttpClient; -import java.net.http.HttpRequest; -import java.net.http.HttpResponse; -import java.net.http.HttpHeaders; -import java.net.http.HttpRequest.BodyPublishers; -import java.net.http.HttpResponse.BodyHandlers; - -public class JavaHttpClientExample { - - public static void main(String[] args) throws IOException, InterruptedException { - HttpClient client = HttpClient.newHttpClient(); - - String url = "https://api.foss42.com/humanize/social"; - - HttpRequest request = HttpRequest.newBuilder() - .uri(URI.create(url)) - .header("User-Agent", "Test Agent") - .GET() - .build(); - - HttpResponse response = client.send(request, BodyHandlers.ofString()); - System.out.println(response.statusCode()); - System.out.println(response.body()); - } -} - -"""; - expect(javaHttpClientCodeGen.getCode(requestModelGet10, "https"), expectedCode); - }); - - test('GET 11', () { - const expectedCode = """ -import java.io.IOException; -import java.net.URI; -import java.net.URISyntaxException; -import java.net.http.HttpClient; -import java.net.http.HttpRequest; -import java.net.http.HttpResponse; -import java.net.http.HttpHeaders; -import java.net.http.HttpRequest.BodyPublishers; -import java.net.http.HttpResponse.BodyHandlers; - -public class JavaHttpClientExample { - - public static void main(String[] args) throws IOException, InterruptedException { - HttpClient client = HttpClient.newHttpClient(); - - String url = "https://api.foss42.com/humanize/social"; - try { - URI uri = new URI(url); - url = uri.resolve("num=8700000&digits=3").toString(); - } catch (URISyntaxException e) { - e.printStackTrace(); - } - - HttpRequest request = HttpRequest.newBuilder() - .uri(URI.create(url)) - .header("User-Agent", "Test Agent") - .GET() - .build(); - - HttpResponse response = client.send(request, BodyHandlers.ofString()); - System.out.println(response.statusCode()); - System.out.println(response.body()); - } -} - -"""; - expect(javaHttpClientCodeGen.getCode(requestModelGet11, "https"), expectedCode); - }); - - test('GET 12', () { - const expectedCode = """ -import java.io.IOException; -import java.net.URI; -import java.net.URISyntaxException; -import java.net.http.HttpClient; -import java.net.http.HttpRequest; -import java.net.http.HttpResponse; -import java.net.http.HttpHeaders; -import java.net.http.HttpRequest.BodyPublishers; -import java.net.http.HttpResponse.BodyHandlers; - -public class JavaHttpClientExample { - - public static void main(String[] args) throws IOException, InterruptedException { - HttpClient client = HttpClient.newHttpClient(); - - String url = "https://api.foss42.com/humanize/social"; - - HttpRequest request = HttpRequest.newBuilder() - .uri(URI.create(url)) - .GET() - .build(); - - HttpResponse response = client.send(request, BodyHandlers.ofString()); - System.out.println(response.statusCode()); - System.out.println(response.body()); - } -} - -"""; - expect(javaHttpClientCodeGen.getCode(requestModelGet12, "https"), expectedCode); - }); - - test('HEAD 1', () { - const expectedCode = """ -import java.io.IOException; -import java.net.URI; -import java.net.URISyntaxException; -import java.net.http.HttpClient; -import java.net.http.HttpRequest; -import java.net.http.HttpResponse; -import java.net.http.HttpHeaders; -import java.net.http.HttpRequest.BodyPublishers; -import java.net.http.HttpResponse.BodyHandlers; - -public class JavaHttpClientExample { - - public static void main(String[] args) throws IOException, InterruptedException { - HttpClient client = HttpClient.newHttpClient(); - - String url = "https://api.foss42.com"; - - HttpRequest request = HttpRequest.newBuilder() - .uri(URI.create(url)) - .HEAD() - .build(); - - HttpResponse response = client.send(request, BodyHandlers.ofString()); - System.out.println(response.statusCode()); - System.out.println(response.body()); - } -} - -"""; - expect(javaHttpClientCodeGen.getCode(requestModelHead1, "https"), expectedCode); - }); - - test('HEAD 2', () { - const expectedCode = """ -import java.io.IOException; -import java.net.URI; -import java.net.URISyntaxException; -import java.net.http.HttpClient; -import java.net.http.HttpRequest; -import java.net.http.HttpResponse; -import java.net.http.HttpHeaders; -import java.net.http.HttpRequest.BodyPublishers; -import java.net.http.HttpResponse.BodyHandlers; - -public class JavaHttpClientExample { - - public static void main(String[] args) throws IOException, InterruptedException { - HttpClient client = HttpClient.newHttpClient(); - - String url = "https://api.foss42.com"; - - HttpRequest request = HttpRequest.newBuilder() - .uri(URI.create(url)) - .HEAD() - .build(); - - HttpResponse response = client.send(request, BodyHandlers.ofString()); - System.out.println(response.statusCode()); - System.out.println(response.body()); - } -} - -"""; - expect(javaHttpClientCodeGen.getCode(requestModelHead2, "https"), expectedCode); - }); -}); - -group('POST Request', () { - test('POST 1', () { - const expectedCode = """ -import java.io.IOException; -import java.net.URI; -import java.net.URISyntaxException; -import java.net.http.HttpClient; -import java.net.http.HttpRequest; -import java.net.http.HttpResponse; -import java.net.http.HttpHeaders; -import java.net.http.HttpRequest.BodyPublishers; -import java.net.http.HttpResponse.BodyHandlers; - -public class JavaHttpClientExample { - - public static void main(String[] args) throws IOException, InterruptedException { - HttpClient client = HttpClient.newHttpClient(); - - String url = "https://api.foss42.com/case/lower"; - - String body = "{\\n\\"text\\": \\"I LOVE Flutter\\"\\n}"; - - HttpRequest request = HttpRequest.newBuilder() - .uri(URI.create(url)) - .header("Content-Type", "text/plain") - .POST(BodyPublishers.ofString(body)) - .build(); - - HttpResponse response = client.send(request, BodyHandlers.ofString()); - System.out.println(response.statusCode()); - System.out.println(response.body()); - } -} - -"""; - expect(javaHttpClientCodeGen.getCode(requestModelPost1, "https"), expectedCode); - }); - - test('POST 2', () { - const expectedCode = """ -import java.io.IOException; -import java.net.URI; -import java.net.URISyntaxException; -import java.net.http.HttpClient; -import java.net.http.HttpRequest; -import java.net.http.HttpResponse; -import java.net.http.HttpHeaders; -import java.net.http.HttpRequest.BodyPublishers; -import java.net.http.HttpResponse.BodyHandlers; - -public class JavaHttpClientExample { - - public static void main(String[] args) throws IOException, InterruptedException { - HttpClient client = HttpClient.newHttpClient(); - - String url = "https://api.foss42.com/case/lower"; - - String body = "{\\n\\"text\\": \\"I LOVE Flutter\\"\\n}"; - - HttpRequest request = HttpRequest.newBuilder() - .uri(URI.create(url)) - .header("Content-Type", "application/json") - .POST(BodyPublishers.ofString(body)) - .build(); - - HttpResponse response = client.send(request, BodyHandlers.ofString()); - System.out.println(response.statusCode()); - System.out.println(response.body()); - } -} - -"""; - expect(javaHttpClientCodeGen.getCode(requestModelPost2, "https"), expectedCode); - }); - - test('POST 3', () { - const expectedCode = """ -import java.io.IOException; -import java.net.URI; -import java.net.URISyntaxException; -import java.net.http.HttpClient; -import java.net.http.HttpRequest; -import java.net.http.HttpResponse; -import java.net.http.HttpHeaders; -import java.net.http.HttpRequest.BodyPublishers; -import java.net.http.HttpResponse.BodyHandlers; - -public class JavaHttpClientExample { - - public static void main(String[] args) throws IOException, InterruptedException { - HttpClient client = HttpClient.newHttpClient(); - - String url = "https://api.foss42.com/case/lower"; - - String body = "{\\n\\"text\\": \\"I LOVE Flutter\\"\\n}"; - - HttpRequest request = HttpRequest.newBuilder() - .uri(URI.create(url)) - .header("Content-Type", "application/json") - .header("User-Agent", "Test Agent") - .POST(BodyPublishers.ofString(body)) - .build(); - - HttpResponse response = client.send(request, BodyHandlers.ofString()); - System.out.println(response.statusCode()); - System.out.println(response.body()); - } -} - -"""; - expect(javaHttpClientCodeGen.getCode(requestModelPost3, "https"), expectedCode); - }); -}); - -group('PUT Request', () { - test('PUT 1', () { - const expectedCode = """ -import java.io.IOException; -import java.net.URI; -import java.net.URISyntaxException; -import java.net.http.HttpClient; -import java.net.http.HttpRequest; -import java.net.http.HttpResponse; -import java.net.http.HttpHeaders; -import java.net.http.HttpRequest.BodyPublishers; -import java.net.http.HttpResponse.BodyHandlers; - -public class JavaHttpClientExample { - - public static void main(String[] args) throws IOException, InterruptedException { - HttpClient client = HttpClient.newHttpClient(); - - String url = "https://reqres.in/api/users/2"; - - String body = "{\\n\\"name\\": \\"morpheus\\",\\n\\"job\\": \\"zion resident\\"\\n}"; - - HttpRequest request = HttpRequest.newBuilder() - .uri(URI.create(url)) - .header("Content-Type", "application/json") - .PUT(BodyPublishers.ofString(body)) - .build(); - - HttpResponse response = client.send(request, BodyHandlers.ofString()); - System.out.println(response.statusCode()); - System.out.println(response.body()); - } -} - -"""; - expect(javaHttpClientCodeGen.getCode(requestModelPut1, "https"), expectedCode); - }); -}); - -group('PATCH Request', () { - test('PATCH 1', () { - const expectedCode = """ -import java.io.IOException; -import java.net.URI; -import java.net.URISyntaxException; -import java.net.http.HttpClient; -import java.net.http.HttpRequest; -import java.net.http.HttpResponse; -import java.net.http.HttpHeaders; -import java.net.http.HttpRequest.BodyPublishers; -import java.net.http.HttpResponse.BodyHandlers; - -public class JavaHttpClientExample { - - public static void main(String[] args) throws IOException, InterruptedException { - HttpClient client = HttpClient.newHttpClient(); - - String url = "https://reqres.in/api/users/2"; - - String body = "{\\n\\"name\\": \\"marfeus\\",\\n\\"job\\": \\"accountant\\"\\n}"; - - HttpRequest request = HttpRequest.newBuilder() - .uri(URI.create(url)) - .header("Content-Type", "application/json") - .PATCH(BodyPublishers.ofString(body)) - .build(); - - HttpResponse response = client.send(request, BodyHandlers.ofString()); - System.out.println(response.statusCode()); - System.out.println(response.body()); - } -} - -"""; - expect(javaHttpClientCodeGen.getCode(requestModelPatch1, "https"), expectedCode); - }); -}); - -group('DELETE Request', () { - test('DELETE 1', () { - const expectedCode = """ -import java.io.IOException; -import java.net.URI; -import java.net.URISyntaxException; -import java.net.http.HttpClient; -import java.net.http.HttpRequest; -import java.net.http.HttpResponse; -import java.net.http.HttpHeaders; -import java.net.http.HttpRequest.BodyPublishers; -import java.net.http.HttpResponse.BodyHandlers; - -public class JavaHttpClientExample { - - public static void main(String[] args) throws IOException, InterruptedException { - HttpClient client = HttpClient.newHttpClient(); - - String url = "https://reqres.in/api/users/2"; - - HttpRequest request = HttpRequest.newBuilder() - .uri(URI.create(url)) - .DELETE(BodyPublishers.noBody()) - .build(); - - HttpResponse response = client.send(request, BodyHandlers.ofString()); - System.out.println(response.statusCode()); - System.out.println(response.body()); - } -} - -"""; - expect(javaHttpClientCodeGen.getCode(requestModelDelete1, "https"), expectedCode); - }); - - test('DELETE 2', () { - const expectedCode = """ -import java.io.IOException; -import java.net.URI; -import java.net.URISyntaxException; -import java.net.http.HttpClient; -import java.net.http.HttpRequest; -import java.net.http.HttpResponse; -import java.net.http.HttpHeaders; -import java.net.http.HttpRequest.BodyPublishers; -import java.net.http.HttpResponse.BodyHandlers; - -public class JavaHttpClientExample { - - public static void main(String[] args) throws IOException, InterruptedException { - HttpClient client = HttpClient.newHttpClient(); - - String url = "https://reqres.in/api/users/2"; - - String body = "{\\n\\"name\\": \\"marfeus\\",\\n\\"job\\": \\"accountant\\"\\n}"; - - HttpRequest request = HttpRequest.newBuilder() - .uri(URI.create(url)) - .header("Content-Type", "application/json") - .DELETE(BodyPublishers.ofString(body)) - .build(); - - HttpResponse response = client.send(request, BodyHandlers.ofString()); - System.out.println(response.statusCode()); - System.out.println(response.body()); - } -} - -"""; - expect(javaHttpClientCodeGen.getCode(requestModelDelete2, "https"), expectedCode); - }); -}); - - - -} \ No newline at end of file