From 834aef6f3d541131c0f157048fa07d45be25e070 Mon Sep 17 00:00:00 2001 From: Ankit Mahato Date: Sun, 20 Apr 2025 03:06:48 +0530 Subject: [PATCH] Adding more tests --- test/models/http_request_models.dart | 25 +++++++++++++++++++++++++ test/models/request_models.dart | 15 +++++++++++++++ test/models/response_model_test.dart | 26 ++++++++++++++++++++++++++ 3 files changed, 66 insertions(+) diff --git a/test/models/http_request_models.dart b/test/models/http_request_models.dart index a56b8e39..30260983 100644 --- a/test/models/http_request_models.dart +++ b/test/models/http_request_models.dart @@ -441,3 +441,28 @@ const httpRequestModelPost11 = HttpRequestModel( "text": "I LOVE Flutter" }""", ); + +/// POST request model with default (utf-8) content type charset +const httpRequestModelPost12 = HttpRequestModel( + method: HTTPVerb.post, + url: 'https://api.apidash.dev/case/lower', + bodyContentType: ContentType.json, + body: r"""{ +"text": "I LOVE Flutter" +}""", +); + +/// POST request model with charset override (latin1) +const httpRequestModelPost13 = HttpRequestModel( + method: HTTPVerb.post, + url: 'https://api.apidash.dev/case/lower', + headers: [ + NameValueModel( + name: 'Content-Type', value: 'application/json; charset=latin1'), + ], + isHeaderEnabledList: [true], + bodyContentType: ContentType.json, + body: r"""{ +"text": "I LOVE Flutter" +}""", +); diff --git a/test/models/request_models.dart b/test/models/request_models.dart index fc1447e8..9a6a91c7 100644 --- a/test/models/request_models.dart +++ b/test/models/request_models.dart @@ -233,8 +233,23 @@ const requestModelGetBadSSL = RequestModel( httpRequestModel: httpRequestModelGetBadSSL, ); +/// POST request model with content type override having no charset const requestModelPost11 = RequestModel( id: 'post11', apiType: APIType.rest, httpRequestModel: httpRequestModelPost11, ); + +/// POST request model with default (utf-8) content type charset +const requestModelPost12 = RequestModel( + id: 'post12', + apiType: APIType.rest, + httpRequestModel: httpRequestModelPost12, +); + +/// POST request model with charset override (latin1) +const requestModelPost13 = RequestModel( + id: 'post13', + apiType: APIType.rest, + httpRequestModel: httpRequestModelPost13, +); diff --git a/test/models/response_model_test.dart b/test/models/response_model_test.dart index 840e0730..0060b13b 100644 --- a/test/models/response_model_test.dart +++ b/test/models/response_model_test.dart @@ -62,6 +62,32 @@ void main() { expect(responseData.requestHeaders?['content-type'], 'application/json'); }); + test('Testing default contentType charset added by dart', () async { + var responseRec = await sendHttpRequest( + requestModelPost12.id, + requestModelPost12.apiType, + requestModelPost12.httpRequestModel!, + ); + + final responseData = responseModel.fromResponse(response: responseRec.$1!); + expect(responseData.statusCode, 200); + expect(responseData.requestHeaders?['content-type'], + 'application/json; charset=utf-8'); + }); + + test('Testing latin1 charset added by user', () async { + var responseRec = await sendHttpRequest( + requestModelPost13.id, + requestModelPost13.apiType, + requestModelPost13.httpRequestModel!, + ); + + final responseData = responseModel.fromResponse(response: responseRec.$1!); + expect(responseData.statusCode, 200); + expect(responseData.requestHeaders?['content-type'], + 'application/json; charset=latin1'); + }); + test('Testing fromResponse for Bad SSL with certificate check', () async { var responseRec = await sendHttpRequest( requestModelGetBadSSL.id,