From 030ad8c4017afc05fff16764966e307caaf12bce Mon Sep 17 00:00:00 2001 From: Nikhil Date: Sun, 20 Apr 2025 03:56:40 +0530 Subject: [PATCH] all tests updated --- lib/codegen/swift/alamofire.dart | 7 +- .../codegen/swift_alamofire_codegen_test.dart | 324 +++++++++++++----- 2 files changed, 244 insertions(+), 87 deletions(-) diff --git a/lib/codegen/swift/alamofire.dart b/lib/codegen/swift/alamofire.dart index d3923ebc..c6d72727 100644 --- a/lib/codegen/swift/alamofire.dart +++ b/lib/codegen/swift/alamofire.dart @@ -10,12 +10,9 @@ import Alamofire final String kTemplateFormData = ''' let multipartFormData = MultipartFormData() -{% for param in formData %} - {% if param.type == 'text' %} -multipartFormData.append(Data("{{param.value}}".utf8), withName: "{{param.name}}") - {% elif param.type == 'file' %} +{% for param in formData %} {% if param.type == 'text' %}multipartFormData.append(Data("{{param.value}}".utf8), withName: "{{param.name}}") {% elif param.type == 'file' %} let fileURL = URL(fileURLWithPath: "{{param.filepath}}") -multipartFormData.append(fileURL, withName: "{{param.name}}", fileName: "{{param.filename}}") +multipartFormData.append(fileURL, withName: "{{param.name}}", fileName: "{{param.filename}}", mimeType: "application/octet-stream") {% endif %} {% endfor %} '''; diff --git a/test/codegen/swift_alamofire_codegen_test.dart b/test/codegen/swift_alamofire_codegen_test.dart index d5984037..c5c5f003 100644 --- a/test/codegen/swift_alamofire_codegen_test.dart +++ b/test/codegen/swift_alamofire_codegen_test.dart @@ -578,104 +578,264 @@ dispatchMain()'''; expectedCode); }); -// test('POST 4', () { -// const expectedCode = r""" - -// """; - -// expect( -// codeGen.getCode( -// CodegenLanguage.swiftAlamofire, -// requestModelPost4, -// SupportedUriSchemes.https, -// ), -// expectedCode); -// }); - -// test('POST 5', () { -// const expectedCode = r""" - -// """; - -// expect( -// codeGen.getCode( -// CodegenLanguage.swiftAlamofire, -// requestModelPost5, -// SupportedUriSchemes.https, -// ), -// expectedCode); -// }); + test('POST 4', () { + const expectedCode = r""" +import Foundation +import Alamofire +let multipartFormData = MultipartFormData() + multipartFormData.append(Data("API".utf8), withName: "text") + multipartFormData.append(Data("|".utf8), withName: "sep") + multipartFormData.append(Data("3".utf8), withName: "times") +let url = "https://api.apidash.dev/io/form" -// test('POST 6', () { -// const expectedCode = r""" +AF.upload(multipartFormData: multipartFormData, to: url, method: .post) -// """; +.responseData { response in + switch response.result { + case .success(let data): + if let responseString = String(data: data, encoding: .utf8) { + print("Response: \(responseString)") + } + case .failure(let error): + print("Error: \(error)") + } + exit(0) +} -// expect( -// codeGen.getCode( -// CodegenLanguage.swiftAlamofire, -// requestModelPost6, -// SupportedUriSchemes.https, -// ), -// expectedCode); -// }); +dispatchMain()"""; + + expect( + codeGen.getCode( + CodegenLanguage.swiftAlamofire, + requestModelPost4, + SupportedUriSchemes.https, + ), + expectedCode); + }); + + test('POST 5', () { + const expectedCode = r""" +import Foundation +import Alamofire +let multipartFormData = MultipartFormData() + multipartFormData.append(Data("API".utf8), withName: "text") + multipartFormData.append(Data("|".utf8), withName: "sep") + multipartFormData.append(Data("3".utf8), withName: "times") +let url = "https://api.apidash.dev/io/form" + + +AF.upload(multipartFormData: multipartFormData, to: url, method: .post, headers: ["User-Agent": "Test Agent"]) + +.responseData { response in + switch response.result { + case .success(let data): + if let responseString = String(data: data, encoding: .utf8) { + print("Response: \(responseString)") + } + case .failure(let error): + print("Error: \(error)") + } + exit(0) +} + +dispatchMain()"""; + + expect( + codeGen.getCode( + CodegenLanguage.swiftAlamofire, + requestModelPost5, + SupportedUriSchemes.https, + ), + expectedCode); + }); + + + test('POST 6', () { + const expectedCode = r""" +import Foundation +import Alamofire +let multipartFormData = MultipartFormData() + multipartFormData.append(Data("xyz".utf8), withName: "token") + +let fileURL = URL(fileURLWithPath: "/Documents/up/1.png") +multipartFormData.append(fileURL, withName: "imfile", fileName: "1.png", mimeType: "application/octet-stream") + +let url = "https://api.apidash.dev/io/img" + + +AF.upload(multipartFormData: multipartFormData, to: url, method: .post) + +.responseData { response in + switch response.result { + case .success(let data): + if let responseString = String(data: data, encoding: .utf8) { + print("Response: \(responseString)") + } + case .failure(let error): + print("Error: \(error)") + } + exit(0) +} + +dispatchMain()"""; + + expect( + codeGen.getCode( + CodegenLanguage.swiftAlamofire, + requestModelPost6, + SupportedUriSchemes.https, + ), + expectedCode); + }); -// test('POST 7', () { -// const expectedCode = r""" + test('POST 7', () { + const expectedCode = r""" +import Foundation +import Alamofire +let multipartFormData = MultipartFormData() + multipartFormData.append(Data("xyz".utf8), withName: "token") + +let fileURL = URL(fileURLWithPath: "/Documents/up/1.png") +multipartFormData.append(fileURL, withName: "imfile", fileName: "1.png", mimeType: "application/octet-stream") + +let url = "https://api.apidash.dev/io/img" -// """; -// expect( -// codeGen.getCode( -// CodegenLanguage.swiftAlamofire, -// requestModelPost7, -// SupportedUriSchemes.https, -// ), -// expectedCode); -// }); -// test('POST 8', () { -// const expectedCode = r""" +AF.upload(multipartFormData: multipartFormData, to: url, method: .post) -// """; +.responseData { response in + switch response.result { + case .success(let data): + if let responseString = String(data: data, encoding: .utf8) { + print("Response: \(responseString)") + } + case .failure(let error): + print("Error: \(error)") + } + exit(0) +} -// expect( -// codeGen.getCode( -// CodegenLanguage.swiftAlamofire, -// requestModelPost8, -// SupportedUriSchemes.https, -// ), -// expectedCode); -// }); -// test('POST 9', () { -// const expectedCode = r""" +dispatchMain()"""; -// """; + expect( + codeGen.getCode( + CodegenLanguage.swiftAlamofire, + requestModelPost7, + SupportedUriSchemes.https, + ), + expectedCode); + }); + test('POST 8', () { + const expectedCode = r""" +import Foundation +import Alamofire +let multipartFormData = MultipartFormData() + multipartFormData.append(Data("API".utf8), withName: "text") + multipartFormData.append(Data("|".utf8), withName: "sep") + multipartFormData.append(Data("3".utf8), withName: "times") +let url = "https://api.apidash.dev/io/form?size=2&len=3" -// expect( -// codeGen.getCode( -// CodegenLanguage.swiftAlamofire, -// requestModelPost9, -// SupportedUriSchemes.https, -// ), -// expectedCode); -// }); -// test('POST 10', () { -// const expectedCode = r""" -// """; +AF.upload(multipartFormData: multipartFormData, to: url, method: .post) -// expect( -// codeGen.getCode( -// CodegenLanguage.swiftAlamofire, -// requestModelPost10, -// SupportedUriSchemes.https, -// ), -// expectedCode); -// }); +.responseData { response in + switch response.result { + case .success(let data): + if let responseString = String(data: data, encoding: .utf8) { + print("Response: \(responseString)") + } + case .failure(let error): + print("Error: \(error)") + } + exit(0) +} + +dispatchMain()"""; + + expect( + codeGen.getCode( + CodegenLanguage.swiftAlamofire, + requestModelPost8, + SupportedUriSchemes.https, + ), + expectedCode); + }); + test('POST 9', () { + const expectedCode = r""" +import Foundation +import Alamofire +let multipartFormData = MultipartFormData() + multipartFormData.append(Data("xyz".utf8), withName: "token") + +let fileURL = URL(fileURLWithPath: "/Documents/up/1.png") +multipartFormData.append(fileURL, withName: "imfile", fileName: "1.png", mimeType: "application/octet-stream") + +let url = "https://api.apidash.dev/io/img?size=2&len=3" + + +AF.upload(multipartFormData: multipartFormData, to: url, method: .post, headers: ["User-Agent": "Test Agent", "Keep-Alive": "true"]) + +.responseData { response in + switch response.result { + case .success(let data): + if let responseString = String(data: data, encoding: .utf8) { + print("Response: \(responseString)") + } + case .failure(let error): + print("Error: \(error)") + } + exit(0) +} + +dispatchMain()"""; + + expect( + codeGen.getCode( + CodegenLanguage.swiftAlamofire, + requestModelPost9, + SupportedUriSchemes.https, + ), + expectedCode); + }); + test('POST 10', () { + const expectedCode = r''' +import Foundation +import Alamofire +let jsonString = """ +{\n\"text\": \"I LOVE Flutter\"\n} +""" +let jsonData = jsonString.data(using: .utf8) +let url = "https://api.apidash.dev/case/lower?size=2&len=3" + + +AF.upload(jsonData!, to: url, method: .post, headers: ["Content-Type": "application/json; charset=utf-8"]) + +.responseData { response in + switch response.result { + case .success(let data): + if let responseString = String(data: data, encoding: .utf8) { + print("Response: \(responseString)") + } + case .failure(let error): + print("Error: \(error)") + } + exit(0) +} + +dispatchMain()'''; + + expect( + codeGen.getCode( + CodegenLanguage.swiftAlamofire, + requestModelPost10, + SupportedUriSchemes.https, + ), + expectedCode); + }); }, );