From 8c55feae7f31d9ae892df92b8be55dd3e4d7eade Mon Sep 17 00:00:00 2001 From: Ashita Prasad Date: Sat, 7 Oct 2023 08:19:25 +0530 Subject: [PATCH] Create curl_codegen_test.dart --- test/codegen/curl_codegen_test.dart | 147 ++++++++++++++++++++++++++++ 1 file changed, 147 insertions(+) create mode 100644 test/codegen/curl_codegen_test.dart diff --git a/test/codegen/curl_codegen_test.dart b/test/codegen/curl_codegen_test.dart new file mode 100644 index 00000000..b67c8fa2 --- /dev/null +++ b/test/codegen/curl_codegen_test.dart @@ -0,0 +1,147 @@ +import 'package:apidash/codegen/others/curl.dart'; +import '../request_models.dart'; +import 'package:test/test.dart'; + +void main() { + final curlCodeGen = cURLCodeGen(); + + group('GET Request', () { + test('GET 1', () { + const expectedCode = r"""curl --url 'https://api.foss42.com'"""; + expect(curlCodeGen.getCode(requestModelGet1, "https"), expectedCode); + }); + + test('GET 2', () { + const expectedCode = + r"""curl --url 'https://api.foss42.com/country/data?code=US'"""; + expect(curlCodeGen.getCode(requestModelGet2, "https"), expectedCode); + }); + + test('GET 3', () { + const expectedCode = + r"""curl --url 'https://api.foss42.com/country/data?code=IND'"""; + expect(curlCodeGen.getCode(requestModelGet3, "https"), expectedCode); + }); + + test('GET 4', () { + const expectedCode = + r"""curl --url 'https://api.foss42.com/humanize/social?num=8700000&digits=3&system=SS&add_space=true&trailing_zeros=true'"""; + expect(curlCodeGen.getCode(requestModelGet4, "https"), expectedCode); + }); + + test('GET 5', () { + const expectedCode = + r"""curl --url 'https://api.github.com/repos/foss42/apidash' \ + --header 'User-Agent: Test Agent'"""; + expect(curlCodeGen.getCode(requestModelGet5, "https"), expectedCode); + }); + + test('GET 6', () { + const expectedCode = + r"""curl --url 'https://api.github.com/repos/foss42/apidash?raw=true' \ + --header 'User-Agent: Test Agent'"""; + expect(curlCodeGen.getCode(requestModelGet6, "https"), expectedCode); + }); + + test('GET 7', () { + const expectedCode = r"""curl --url 'https://api.foss42.com'"""; + expect(curlCodeGen.getCode(requestModelGet7, "https"), expectedCode); + }); + + test('GET 8', () { + const expectedCode = + r"""curl --url 'https://api.github.com/repos/foss42/apidash?raw=true' \ + --header 'User-Agent: Test Agent'"""; + expect(curlCodeGen.getCode(requestModelGet8, "https"), expectedCode); + }); + }); + + group('HEAD Request', () { + test('HEAD 1', () { + const expectedCode = r"""curl --head --url 'https://api.foss42.com'"""; + expect(curlCodeGen.getCode(requestModelHead1, "https"), expectedCode); + }); + + test('HEAD 2', () { + const expectedCode = r"""curl --head --url 'http://api.foss42.com'"""; + expect(curlCodeGen.getCode(requestModelHead2, "http"), expectedCode); + }); + }); + + group('POST Request', () { + test('POST 1', () { + const expectedCode = r"""curl --request POST \ + --url 'https://api.foss42.com/case/lower' \ + --header 'Content-Type: text/plain' \ + --data '{ +"text": "I LOVE Flutter" +}'"""; + expect(curlCodeGen.getCode(requestModelPost1, "https"), expectedCode); + }); + + test('POST 2', () { + const expectedCode = r"""curl --request POST \ + --url 'https://api.foss42.com/case/lower' \ + --header 'Content-Type: application/json' \ + --data '{ +"text": "I LOVE Flutter" +}'"""; + expect(curlCodeGen.getCode(requestModelPost2, "https"), expectedCode); + }); + + test('POST 3', () { + const expectedCode = r"""curl --request POST \ + --url 'https://api.foss42.com/case/lower' \ + --header 'Content-Type: application/json' \ + --header 'User-Agent: Test Agent' \ + --data '{ +"text": "I LOVE Flutter" +}'"""; + expect(curlCodeGen.getCode(requestModelPost3, "https"), expectedCode); + }); + }); + group('PUT Request', () { + test('PUT 1', () { + const expectedCode = r"""curl --request PUT \ + --url 'https://reqres.in/api/users/2' \ + --header 'Content-Type: application/json' \ + --data '{ +"name": "morpheus", +"job": "zion resident" +}'"""; + expect(curlCodeGen.getCode(requestModelPut1, "https"), expectedCode); + }); + }); + + group('PATCH Request', () { + test('PATCH 1', () { + const expectedCode = r"""curl --request PATCH \ + --url 'https://reqres.in/api/users/2' \ + --header 'Content-Type: application/json' \ + --data '{ +"name": "marfeus", +"job": "accountant" +}'"""; + expect(curlCodeGen.getCode(requestModelPatch1, "https"), expectedCode); + }); + }); + + group('DELETE Request', () { + test('DELETE 1', () { + const expectedCode = r"""curl --request DELETE \ + --url 'https://reqres.in/api/users/2'"""; + expect(curlCodeGen.getCode(requestModelDelete1, "https"), expectedCode); + }); + + test('DELETE 2', () { + const expectedCode = r"""curl --request DELETE \ + --url 'https://reqres.in/api/users/2' \ + --header 'Content-Type: application/json' \ + --data '{ +"name": "marfeus", +"job": "accountant" +}'"""; + expect(curlCodeGen.getCode(requestModelDelete2, "https"), expectedCode); + }); + }); +}