mirror of
https://github.com/foss42/apidash.git
synced 2025-06-06 11:28:07 +08:00
✅ (chore): all test passing for lib/codegen/swift/urlsession.dart
This commit is contained in:
@ -332,8 +332,55 @@ task.resume()
|
|||||||
});
|
});
|
||||||
});
|
});
|
||||||
group("HTTPVerb.post", () {
|
group("HTTPVerb.post", () {
|
||||||
|
test('POST 1', () {
|
||||||
|
const expectedCode = r"""
|
||||||
|
import Foundation
|
||||||
|
|
||||||
|
let parameters = "{\n\"text\": \"I LOVE Flutter\"\n}"
|
||||||
|
let postData = parameters.data(using: .utf8)
|
||||||
|
var request = URLRequest(url: URL(string: "https://api.apidash.dev/case/lower")!,timeoutInterval: Double.infinity)
|
||||||
|
request.httpMethod = "POST"
|
||||||
|
|
||||||
|
request.addValue("text/plain", forHTTPHeaderField: "Content-Type")
|
||||||
|
|
||||||
|
request.httpBody = postData
|
||||||
|
|
||||||
|
let task = URLSession.shared.dataTask(with: request) { data, response, error in
|
||||||
|
guard let data = data else {
|
||||||
|
print(String(describing: error))
|
||||||
|
return
|
||||||
|
}
|
||||||
|
print(String(data: data, encoding: .utf8)!)
|
||||||
|
}
|
||||||
|
task.resume()
|
||||||
|
""";
|
||||||
|
|
||||||
|
expect(
|
||||||
|
codeGen.getCode(
|
||||||
|
CodegenLanguage.swiftUrlsession, requestModelPost1, "https"),
|
||||||
|
expectedCode);
|
||||||
|
});
|
||||||
test('POST 2', () {
|
test('POST 2', () {
|
||||||
const expectedCode = r"""
|
const expectedCode = r"""
|
||||||
|
import Foundation
|
||||||
|
|
||||||
|
let parameters = "{\n\"text\": \"I LOVE Flutter\",\n\"flag\": null,\n\"male\": true,\n\"female\": false,\n\"no\": 1.2,\n\"arr\": [\"null\", \"true\", \"false\", null]\n}"
|
||||||
|
let postData = parameters.data(using: .utf8)
|
||||||
|
var request = URLRequest(url: URL(string: "https://api.apidash.dev/case/lower")!,timeoutInterval: Double.infinity)
|
||||||
|
request.httpMethod = "POST"
|
||||||
|
|
||||||
|
request.addValue("application/json", forHTTPHeaderField: "Content-Type")
|
||||||
|
|
||||||
|
request.httpBody = postData
|
||||||
|
|
||||||
|
let task = URLSession.shared.dataTask(with: request) { data, response, error in
|
||||||
|
guard let data = data else {
|
||||||
|
print(String(describing: error))
|
||||||
|
return
|
||||||
|
}
|
||||||
|
print(String(data: data, encoding: .utf8)!)
|
||||||
|
}
|
||||||
|
task.resume()
|
||||||
""";
|
""";
|
||||||
|
|
||||||
expect(
|
expect(
|
||||||
@ -344,6 +391,27 @@ task.resume()
|
|||||||
|
|
||||||
test('POST 3', () {
|
test('POST 3', () {
|
||||||
const expectedCode = r"""
|
const expectedCode = r"""
|
||||||
|
import Foundation
|
||||||
|
|
||||||
|
let parameters = "{\n\"text\": \"I LOVE Flutter\"\n}"
|
||||||
|
let postData = parameters.data(using: .utf8)
|
||||||
|
var request = URLRequest(url: URL(string: "https://api.apidash.dev/case/lower")!,timeoutInterval: Double.infinity)
|
||||||
|
request.httpMethod = "POST"
|
||||||
|
|
||||||
|
request.addValue("Test Agent", forHTTPHeaderField: "User-Agent")
|
||||||
|
|
||||||
|
request.addValue("application/json", forHTTPHeaderField: "Content-Type")
|
||||||
|
|
||||||
|
request.httpBody = postData
|
||||||
|
|
||||||
|
let task = URLSession.shared.dataTask(with: request) { data, response, error in
|
||||||
|
guard let data = data else {
|
||||||
|
print(String(describing: error))
|
||||||
|
return
|
||||||
|
}
|
||||||
|
print(String(data: data, encoding: .utf8)!)
|
||||||
|
}
|
||||||
|
task.resume()
|
||||||
""";
|
""";
|
||||||
|
|
||||||
expect(
|
expect(
|
||||||
@ -354,6 +422,72 @@ task.resume()
|
|||||||
|
|
||||||
test('POST 4', () {
|
test('POST 4', () {
|
||||||
const expectedCode = r"""
|
const expectedCode = r"""
|
||||||
|
import Foundation
|
||||||
|
|
||||||
|
let parameters = [
|
||||||
|
|
||||||
|
[
|
||||||
|
"key": "text",
|
||||||
|
"value": "API",
|
||||||
|
"type": "text"
|
||||||
|
],
|
||||||
|
|
||||||
|
[
|
||||||
|
"key": "sep",
|
||||||
|
"value": "|",
|
||||||
|
"type": "text"
|
||||||
|
],
|
||||||
|
|
||||||
|
[
|
||||||
|
"key": "times",
|
||||||
|
"value": "3",
|
||||||
|
"type": "text"
|
||||||
|
],
|
||||||
|
|
||||||
|
] as [[String: Any]]
|
||||||
|
let boundary = "Boundary-\(UUID().uuidString)"
|
||||||
|
var body = Data()
|
||||||
|
var error: Error? = nil
|
||||||
|
for param in parameters {
|
||||||
|
if param["disabled"] as? Bool == true { continue }
|
||||||
|
let paramName = param["key"] as! String
|
||||||
|
body.append("--\(boundary)\r\n".data(using: .utf8)!)
|
||||||
|
body.append("Content-Disposition:form-data; name=\"\(paramName)\"".data(using: .utf8)!)
|
||||||
|
if let contentType = param["contentType"] as? String {
|
||||||
|
body.append("\r\nContent-Type: \(contentType)".data(using: .utf8)!)
|
||||||
|
}
|
||||||
|
let paramType = param["type"] as! String
|
||||||
|
if paramType == "text" {
|
||||||
|
let paramValue = param["value"] as! String
|
||||||
|
body.append("\r\n\r\n\(paramValue)\r\n".data(using: .utf8)!)
|
||||||
|
} else if paramType == "file" {
|
||||||
|
let paramSrc = param["value"] as! String
|
||||||
|
let fileURL = URL(fileURLWithPath: paramSrc)
|
||||||
|
if let fileContent = try? Data(contentsOf: fileURL) {
|
||||||
|
body.append("; filename=\"\(paramSrc)\"\r\n".data(using: .utf8)!)
|
||||||
|
body.append("Content-Type: \"content-type header\"\r\n\r\n".data(using: .utf8)!)
|
||||||
|
body.append(fileContent)
|
||||||
|
body.append("\r\n".data(using: .utf8)!)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
body.append("--\(boundary)--\r\n".data(using: .utf8)!)
|
||||||
|
let postData = body
|
||||||
|
var request = URLRequest(url: URL(string: "https://api.apidash.dev/io/form")!,timeoutInterval: Double.infinity)
|
||||||
|
request.httpMethod = "POST"
|
||||||
|
|
||||||
|
request.addValue("multipart/form-data; boundary=\(boundary)", forHTTPHeaderField: "Content-Type")
|
||||||
|
|
||||||
|
request.httpBody = postData
|
||||||
|
|
||||||
|
let task = URLSession.shared.dataTask(with: request) { data, response, error in
|
||||||
|
guard let data = data else {
|
||||||
|
print(String(describing: error))
|
||||||
|
return
|
||||||
|
}
|
||||||
|
print(String(data: data, encoding: .utf8)!)
|
||||||
|
}
|
||||||
|
task.resume()
|
||||||
""";
|
""";
|
||||||
|
|
||||||
expect(
|
expect(
|
||||||
@ -363,7 +497,74 @@ task.resume()
|
|||||||
});
|
});
|
||||||
|
|
||||||
test('POST 5', () {
|
test('POST 5', () {
|
||||||
const expectedCode = r"""
|
const expectedCode = r"""import Foundation
|
||||||
|
|
||||||
|
let parameters = [
|
||||||
|
|
||||||
|
[
|
||||||
|
"key": "text",
|
||||||
|
"value": "API",
|
||||||
|
"type": "text"
|
||||||
|
],
|
||||||
|
|
||||||
|
[
|
||||||
|
"key": "sep",
|
||||||
|
"value": "|",
|
||||||
|
"type": "text"
|
||||||
|
],
|
||||||
|
|
||||||
|
[
|
||||||
|
"key": "times",
|
||||||
|
"value": "3",
|
||||||
|
"type": "text"
|
||||||
|
],
|
||||||
|
|
||||||
|
] as [[String: Any]]
|
||||||
|
let boundary = "Boundary-\(UUID().uuidString)"
|
||||||
|
var body = Data()
|
||||||
|
var error: Error? = nil
|
||||||
|
for param in parameters {
|
||||||
|
if param["disabled"] as? Bool == true { continue }
|
||||||
|
let paramName = param["key"] as! String
|
||||||
|
body.append("--\(boundary)\r\n".data(using: .utf8)!)
|
||||||
|
body.append("Content-Disposition:form-data; name=\"\(paramName)\"".data(using: .utf8)!)
|
||||||
|
if let contentType = param["contentType"] as? String {
|
||||||
|
body.append("\r\nContent-Type: \(contentType)".data(using: .utf8)!)
|
||||||
|
}
|
||||||
|
let paramType = param["type"] as! String
|
||||||
|
if paramType == "text" {
|
||||||
|
let paramValue = param["value"] as! String
|
||||||
|
body.append("\r\n\r\n\(paramValue)\r\n".data(using: .utf8)!)
|
||||||
|
} else if paramType == "file" {
|
||||||
|
let paramSrc = param["value"] as! String
|
||||||
|
let fileURL = URL(fileURLWithPath: paramSrc)
|
||||||
|
if let fileContent = try? Data(contentsOf: fileURL) {
|
||||||
|
body.append("; filename=\"\(paramSrc)\"\r\n".data(using: .utf8)!)
|
||||||
|
body.append("Content-Type: \"content-type header\"\r\n\r\n".data(using: .utf8)!)
|
||||||
|
body.append(fileContent)
|
||||||
|
body.append("\r\n".data(using: .utf8)!)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
body.append("--\(boundary)--\r\n".data(using: .utf8)!)
|
||||||
|
let postData = body
|
||||||
|
var request = URLRequest(url: URL(string: "https://api.apidash.dev/io/form")!,timeoutInterval: Double.infinity)
|
||||||
|
request.httpMethod = "POST"
|
||||||
|
|
||||||
|
request.addValue("Test Agent", forHTTPHeaderField: "User-Agent")
|
||||||
|
|
||||||
|
request.addValue("multipart/form-data; boundary=\(boundary)", forHTTPHeaderField: "Content-Type")
|
||||||
|
|
||||||
|
request.httpBody = postData
|
||||||
|
|
||||||
|
let task = URLSession.shared.dataTask(with: request) { data, response, error in
|
||||||
|
guard let data = data else {
|
||||||
|
print(String(describing: error))
|
||||||
|
return
|
||||||
|
}
|
||||||
|
print(String(data: data, encoding: .utf8)!)
|
||||||
|
}
|
||||||
|
task.resume()
|
||||||
""";
|
""";
|
||||||
|
|
||||||
expect(
|
expect(
|
||||||
@ -371,10 +572,343 @@ task.resume()
|
|||||||
CodegenLanguage.swiftUrlsession, requestModelPost5, "https"),
|
CodegenLanguage.swiftUrlsession, requestModelPost5, "https"),
|
||||||
expectedCode);
|
expectedCode);
|
||||||
});
|
});
|
||||||
|
test('POST 6', () {
|
||||||
|
const expectedCode = r"""
|
||||||
|
import Foundation
|
||||||
|
|
||||||
|
let parameters = [
|
||||||
|
|
||||||
|
[
|
||||||
|
"key": "token",
|
||||||
|
"value": "xyz",
|
||||||
|
"type": "text"
|
||||||
|
],
|
||||||
|
|
||||||
|
[
|
||||||
|
"key": "imfile",
|
||||||
|
"value": "/Documents/up/1.png",
|
||||||
|
"type": "file"
|
||||||
|
],
|
||||||
|
|
||||||
|
] as [[String: Any]]
|
||||||
|
let boundary = "Boundary-\(UUID().uuidString)"
|
||||||
|
var body = Data()
|
||||||
|
var error: Error? = nil
|
||||||
|
for param in parameters {
|
||||||
|
if param["disabled"] as? Bool == true { continue }
|
||||||
|
let paramName = param["key"] as! String
|
||||||
|
body.append("--\(boundary)\r\n".data(using: .utf8)!)
|
||||||
|
body.append("Content-Disposition:form-data; name=\"\(paramName)\"".data(using: .utf8)!)
|
||||||
|
if let contentType = param["contentType"] as? String {
|
||||||
|
body.append("\r\nContent-Type: \(contentType)".data(using: .utf8)!)
|
||||||
|
}
|
||||||
|
let paramType = param["type"] as! String
|
||||||
|
if paramType == "text" {
|
||||||
|
let paramValue = param["value"] as! String
|
||||||
|
body.append("\r\n\r\n\(paramValue)\r\n".data(using: .utf8)!)
|
||||||
|
} else if paramType == "file" {
|
||||||
|
let paramSrc = param["value"] as! String
|
||||||
|
let fileURL = URL(fileURLWithPath: paramSrc)
|
||||||
|
if let fileContent = try? Data(contentsOf: fileURL) {
|
||||||
|
body.append("; filename=\"\(paramSrc)\"\r\n".data(using: .utf8)!)
|
||||||
|
body.append("Content-Type: \"content-type header\"\r\n\r\n".data(using: .utf8)!)
|
||||||
|
body.append(fileContent)
|
||||||
|
body.append("\r\n".data(using: .utf8)!)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
body.append("--\(boundary)--\r\n".data(using: .utf8)!)
|
||||||
|
let postData = body
|
||||||
|
var request = URLRequest(url: URL(string: "https://api.apidash.dev/io/img")!,timeoutInterval: Double.infinity)
|
||||||
|
request.httpMethod = "POST"
|
||||||
|
|
||||||
|
request.addValue("multipart/form-data; boundary=\(boundary)", forHTTPHeaderField: "Content-Type")
|
||||||
|
|
||||||
|
request.httpBody = postData
|
||||||
|
|
||||||
|
let task = URLSession.shared.dataTask(with: request) { data, response, error in
|
||||||
|
guard let data = data else {
|
||||||
|
print(String(describing: error))
|
||||||
|
return
|
||||||
|
}
|
||||||
|
print(String(data: data, encoding: .utf8)!)
|
||||||
|
}
|
||||||
|
task.resume()
|
||||||
|
""";
|
||||||
|
|
||||||
|
expect(
|
||||||
|
codeGen.getCode(
|
||||||
|
CodegenLanguage.swiftUrlsession, requestModelPost6, "https"),
|
||||||
|
expectedCode);
|
||||||
|
});
|
||||||
|
test('POST 7', () {
|
||||||
|
const expectedCode = r"""
|
||||||
|
import Foundation
|
||||||
|
|
||||||
|
let parameters = [
|
||||||
|
|
||||||
|
[
|
||||||
|
"key": "token",
|
||||||
|
"value": "xyz",
|
||||||
|
"type": "text"
|
||||||
|
],
|
||||||
|
|
||||||
|
[
|
||||||
|
"key": "imfile",
|
||||||
|
"value": "/Documents/up/1.png",
|
||||||
|
"type": "file"
|
||||||
|
],
|
||||||
|
|
||||||
|
] as [[String: Any]]
|
||||||
|
let boundary = "Boundary-\(UUID().uuidString)"
|
||||||
|
var body = Data()
|
||||||
|
var error: Error? = nil
|
||||||
|
for param in parameters {
|
||||||
|
if param["disabled"] as? Bool == true { continue }
|
||||||
|
let paramName = param["key"] as! String
|
||||||
|
body.append("--\(boundary)\r\n".data(using: .utf8)!)
|
||||||
|
body.append("Content-Disposition:form-data; name=\"\(paramName)\"".data(using: .utf8)!)
|
||||||
|
if let contentType = param["contentType"] as? String {
|
||||||
|
body.append("\r\nContent-Type: \(contentType)".data(using: .utf8)!)
|
||||||
|
}
|
||||||
|
let paramType = param["type"] as! String
|
||||||
|
if paramType == "text" {
|
||||||
|
let paramValue = param["value"] as! String
|
||||||
|
body.append("\r\n\r\n\(paramValue)\r\n".data(using: .utf8)!)
|
||||||
|
} else if paramType == "file" {
|
||||||
|
let paramSrc = param["value"] as! String
|
||||||
|
let fileURL = URL(fileURLWithPath: paramSrc)
|
||||||
|
if let fileContent = try? Data(contentsOf: fileURL) {
|
||||||
|
body.append("; filename=\"\(paramSrc)\"\r\n".data(using: .utf8)!)
|
||||||
|
body.append("Content-Type: \"content-type header\"\r\n\r\n".data(using: .utf8)!)
|
||||||
|
body.append(fileContent)
|
||||||
|
body.append("\r\n".data(using: .utf8)!)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
body.append("--\(boundary)--\r\n".data(using: .utf8)!)
|
||||||
|
let postData = body
|
||||||
|
var request = URLRequest(url: URL(string: "https://api.apidash.dev/io/img")!,timeoutInterval: Double.infinity)
|
||||||
|
request.httpMethod = "POST"
|
||||||
|
|
||||||
|
request.addValue("multipart/form-data; boundary=\(boundary)", forHTTPHeaderField: "Content-Type")
|
||||||
|
|
||||||
|
request.httpBody = postData
|
||||||
|
|
||||||
|
let task = URLSession.shared.dataTask(with: request) { data, response, error in
|
||||||
|
guard let data = data else {
|
||||||
|
print(String(describing: error))
|
||||||
|
return
|
||||||
|
}
|
||||||
|
print(String(data: data, encoding: .utf8)!)
|
||||||
|
}
|
||||||
|
task.resume()
|
||||||
|
""";
|
||||||
|
|
||||||
|
expect(
|
||||||
|
codeGen.getCode(
|
||||||
|
CodegenLanguage.swiftUrlsession, requestModelPost7, "https"),
|
||||||
|
expectedCode);
|
||||||
|
});
|
||||||
|
test('POST 8', () {
|
||||||
|
const expectedCode = r"""
|
||||||
|
import Foundation
|
||||||
|
|
||||||
|
let parameters = [
|
||||||
|
|
||||||
|
[
|
||||||
|
"key": "text",
|
||||||
|
"value": "API",
|
||||||
|
"type": "text"
|
||||||
|
],
|
||||||
|
|
||||||
|
[
|
||||||
|
"key": "sep",
|
||||||
|
"value": "|",
|
||||||
|
"type": "text"
|
||||||
|
],
|
||||||
|
|
||||||
|
[
|
||||||
|
"key": "times",
|
||||||
|
"value": "3",
|
||||||
|
"type": "text"
|
||||||
|
],
|
||||||
|
|
||||||
|
] as [[String: Any]]
|
||||||
|
let boundary = "Boundary-\(UUID().uuidString)"
|
||||||
|
var body = Data()
|
||||||
|
var error: Error? = nil
|
||||||
|
for param in parameters {
|
||||||
|
if param["disabled"] as? Bool == true { continue }
|
||||||
|
let paramName = param["key"] as! String
|
||||||
|
body.append("--\(boundary)\r\n".data(using: .utf8)!)
|
||||||
|
body.append("Content-Disposition:form-data; name=\"\(paramName)\"".data(using: .utf8)!)
|
||||||
|
if let contentType = param["contentType"] as? String {
|
||||||
|
body.append("\r\nContent-Type: \(contentType)".data(using: .utf8)!)
|
||||||
|
}
|
||||||
|
let paramType = param["type"] as! String
|
||||||
|
if paramType == "text" {
|
||||||
|
let paramValue = param["value"] as! String
|
||||||
|
body.append("\r\n\r\n\(paramValue)\r\n".data(using: .utf8)!)
|
||||||
|
} else if paramType == "file" {
|
||||||
|
let paramSrc = param["value"] as! String
|
||||||
|
let fileURL = URL(fileURLWithPath: paramSrc)
|
||||||
|
if let fileContent = try? Data(contentsOf: fileURL) {
|
||||||
|
body.append("; filename=\"\(paramSrc)\"\r\n".data(using: .utf8)!)
|
||||||
|
body.append("Content-Type: \"content-type header\"\r\n\r\n".data(using: .utf8)!)
|
||||||
|
body.append(fileContent)
|
||||||
|
body.append("\r\n".data(using: .utf8)!)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
body.append("--\(boundary)--\r\n".data(using: .utf8)!)
|
||||||
|
let postData = body
|
||||||
|
var request = URLRequest(url: URL(string: "https://api.apidash.dev/io/form?size=2&len=3")!,timeoutInterval: Double.infinity)
|
||||||
|
request.httpMethod = "POST"
|
||||||
|
|
||||||
|
request.addValue("multipart/form-data; boundary=\(boundary)", forHTTPHeaderField: "Content-Type")
|
||||||
|
|
||||||
|
request.httpBody = postData
|
||||||
|
|
||||||
|
let task = URLSession.shared.dataTask(with: request) { data, response, error in
|
||||||
|
guard let data = data else {
|
||||||
|
print(String(describing: error))
|
||||||
|
return
|
||||||
|
}
|
||||||
|
print(String(data: data, encoding: .utf8)!)
|
||||||
|
}
|
||||||
|
task.resume()
|
||||||
|
""";
|
||||||
|
|
||||||
|
expect(
|
||||||
|
codeGen.getCode(
|
||||||
|
CodegenLanguage.swiftUrlsession, requestModelPost8, "https"),
|
||||||
|
expectedCode);
|
||||||
|
});
|
||||||
|
test('POST 9', () {
|
||||||
|
const expectedCode = r"""
|
||||||
|
import Foundation
|
||||||
|
|
||||||
|
let parameters = [
|
||||||
|
|
||||||
|
[
|
||||||
|
"key": "token",
|
||||||
|
"value": "xyz",
|
||||||
|
"type": "text"
|
||||||
|
],
|
||||||
|
|
||||||
|
[
|
||||||
|
"key": "imfile",
|
||||||
|
"value": "/Documents/up/1.png",
|
||||||
|
"type": "file"
|
||||||
|
],
|
||||||
|
|
||||||
|
] as [[String: Any]]
|
||||||
|
let boundary = "Boundary-\(UUID().uuidString)"
|
||||||
|
var body = Data()
|
||||||
|
var error: Error? = nil
|
||||||
|
for param in parameters {
|
||||||
|
if param["disabled"] as? Bool == true { continue }
|
||||||
|
let paramName = param["key"] as! String
|
||||||
|
body.append("--\(boundary)\r\n".data(using: .utf8)!)
|
||||||
|
body.append("Content-Disposition:form-data; name=\"\(paramName)\"".data(using: .utf8)!)
|
||||||
|
if let contentType = param["contentType"] as? String {
|
||||||
|
body.append("\r\nContent-Type: \(contentType)".data(using: .utf8)!)
|
||||||
|
}
|
||||||
|
let paramType = param["type"] as! String
|
||||||
|
if paramType == "text" {
|
||||||
|
let paramValue = param["value"] as! String
|
||||||
|
body.append("\r\n\r\n\(paramValue)\r\n".data(using: .utf8)!)
|
||||||
|
} else if paramType == "file" {
|
||||||
|
let paramSrc = param["value"] as! String
|
||||||
|
let fileURL = URL(fileURLWithPath: paramSrc)
|
||||||
|
if let fileContent = try? Data(contentsOf: fileURL) {
|
||||||
|
body.append("; filename=\"\(paramSrc)\"\r\n".data(using: .utf8)!)
|
||||||
|
body.append("Content-Type: \"content-type header\"\r\n\r\n".data(using: .utf8)!)
|
||||||
|
body.append(fileContent)
|
||||||
|
body.append("\r\n".data(using: .utf8)!)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
body.append("--\(boundary)--\r\n".data(using: .utf8)!)
|
||||||
|
let postData = body
|
||||||
|
var request = URLRequest(url: URL(string: "https://api.apidash.dev/io/img?size=2&len=3")!,timeoutInterval: Double.infinity)
|
||||||
|
request.httpMethod = "POST"
|
||||||
|
|
||||||
|
request.addValue("Test Agent", forHTTPHeaderField: "User-Agent")
|
||||||
|
|
||||||
|
request.addValue("true", forHTTPHeaderField: "Keep-Alive")
|
||||||
|
|
||||||
|
request.addValue("multipart/form-data; boundary=\(boundary)", forHTTPHeaderField: "Content-Type")
|
||||||
|
|
||||||
|
request.httpBody = postData
|
||||||
|
|
||||||
|
let task = URLSession.shared.dataTask(with: request) { data, response, error in
|
||||||
|
guard let data = data else {
|
||||||
|
print(String(describing: error))
|
||||||
|
return
|
||||||
|
}
|
||||||
|
print(String(data: data, encoding: .utf8)!)
|
||||||
|
}
|
||||||
|
task.resume()
|
||||||
|
""";
|
||||||
|
|
||||||
|
expect(
|
||||||
|
codeGen.getCode(
|
||||||
|
CodegenLanguage.swiftUrlsession, requestModelPost9, "https"),
|
||||||
|
expectedCode);
|
||||||
|
});
|
||||||
|
test('POST 10', () {
|
||||||
|
const expectedCode = r"""
|
||||||
|
import Foundation
|
||||||
|
|
||||||
|
let parameters = "{\n\"text\": \"I LOVE Flutter\"\n}"
|
||||||
|
let postData = parameters.data(using: .utf8)
|
||||||
|
var request = URLRequest(url: URL(string: "https://api.apidash.dev/case/lower?size=2&len=3")!,timeoutInterval: Double.infinity)
|
||||||
|
request.httpMethod = "POST"
|
||||||
|
|
||||||
|
request.addValue("application/json; charset=utf-8", forHTTPHeaderField: "Content-Type")
|
||||||
|
|
||||||
|
request.httpBody = postData
|
||||||
|
|
||||||
|
let task = URLSession.shared.dataTask(with: request) { data, response, error in
|
||||||
|
guard let data = data else {
|
||||||
|
print(String(describing: error))
|
||||||
|
return
|
||||||
|
}
|
||||||
|
print(String(data: data, encoding: .utf8)!)
|
||||||
|
}
|
||||||
|
task.resume()
|
||||||
|
""";
|
||||||
|
|
||||||
|
expect(
|
||||||
|
codeGen.getCode(
|
||||||
|
CodegenLanguage.swiftUrlsession, requestModelPost10, "https"),
|
||||||
|
expectedCode);
|
||||||
|
});
|
||||||
});
|
});
|
||||||
group('HTTPVerb.put', () {
|
group('HTTPVerb.put', () {
|
||||||
test('PUT 1', () {
|
test('PUT 1', () {
|
||||||
const expectedCode = r"""
|
const expectedCode = r"""
|
||||||
|
import Foundation
|
||||||
|
|
||||||
|
let parameters = "{\n\"name\": \"morpheus\",\n\"job\": \"zion resident\"\n}"
|
||||||
|
let postData = parameters.data(using: .utf8)
|
||||||
|
var request = URLRequest(url: URL(string: "https://reqres.in/api/users/2")!,timeoutInterval: Double.infinity)
|
||||||
|
request.httpMethod = "PUT"
|
||||||
|
|
||||||
|
request.addValue("application/json", forHTTPHeaderField: "Content-Type")
|
||||||
|
|
||||||
|
request.httpBody = postData
|
||||||
|
|
||||||
|
let task = URLSession.shared.dataTask(with: request) { data, response, error in
|
||||||
|
guard let data = data else {
|
||||||
|
print(String(describing: error))
|
||||||
|
return
|
||||||
|
}
|
||||||
|
print(String(data: data, encoding: .utf8)!)
|
||||||
|
}
|
||||||
|
task.resume()
|
||||||
""";
|
""";
|
||||||
|
|
||||||
expect(
|
expect(
|
||||||
@ -387,6 +921,25 @@ task.resume()
|
|||||||
group('HTTPVerb.patch', () {
|
group('HTTPVerb.patch', () {
|
||||||
test('PATCH 1', () {
|
test('PATCH 1', () {
|
||||||
const expectedCode = r"""
|
const expectedCode = r"""
|
||||||
|
import Foundation
|
||||||
|
|
||||||
|
let parameters = "{\n\"name\": \"marfeus\",\n\"job\": \"accountant\"\n}"
|
||||||
|
let postData = parameters.data(using: .utf8)
|
||||||
|
var request = URLRequest(url: URL(string: "https://reqres.in/api/users/2")!,timeoutInterval: Double.infinity)
|
||||||
|
request.httpMethod = "PATCH"
|
||||||
|
|
||||||
|
request.addValue("application/json", forHTTPHeaderField: "Content-Type")
|
||||||
|
|
||||||
|
request.httpBody = postData
|
||||||
|
|
||||||
|
let task = URLSession.shared.dataTask(with: request) { data, response, error in
|
||||||
|
guard let data = data else {
|
||||||
|
print(String(describing: error))
|
||||||
|
return
|
||||||
|
}
|
||||||
|
print(String(data: data, encoding: .utf8)!)
|
||||||
|
}
|
||||||
|
task.resume()
|
||||||
""";
|
""";
|
||||||
|
|
||||||
expect(
|
expect(
|
||||||
@ -399,6 +952,18 @@ task.resume()
|
|||||||
group('HTTPVerb.delete', () {
|
group('HTTPVerb.delete', () {
|
||||||
test('DELETE 1', () {
|
test('DELETE 1', () {
|
||||||
const expectedCode = r"""
|
const expectedCode = r"""
|
||||||
|
import Foundation
|
||||||
|
|
||||||
|
var request = URLRequest(url: URL(string: "https://reqres.in/api/users/2")!,timeoutInterval: Double.infinity)
|
||||||
|
request.httpMethod = "DELETE"
|
||||||
|
let task = URLSession.shared.dataTask(with: request) { data, response, error in
|
||||||
|
guard let data = data else {
|
||||||
|
print(String(describing: error))
|
||||||
|
return
|
||||||
|
}
|
||||||
|
print(String(data: data, encoding: .utf8)!)
|
||||||
|
}
|
||||||
|
task.resume()
|
||||||
""";
|
""";
|
||||||
|
|
||||||
expect(
|
expect(
|
||||||
@ -409,6 +974,25 @@ task.resume()
|
|||||||
|
|
||||||
test('DELETE 2', () {
|
test('DELETE 2', () {
|
||||||
const expectedCode = r"""
|
const expectedCode = r"""
|
||||||
|
import Foundation
|
||||||
|
|
||||||
|
let parameters = "{\n\"name\": \"marfeus\",\n\"job\": \"accountant\"\n}"
|
||||||
|
let postData = parameters.data(using: .utf8)
|
||||||
|
var request = URLRequest(url: URL(string: "https://reqres.in/api/users/2")!,timeoutInterval: Double.infinity)
|
||||||
|
request.httpMethod = "DELETE"
|
||||||
|
|
||||||
|
request.addValue("application/json", forHTTPHeaderField: "Content-Type")
|
||||||
|
|
||||||
|
request.httpBody = postData
|
||||||
|
|
||||||
|
let task = URLSession.shared.dataTask(with: request) { data, response, error in
|
||||||
|
guard let data = data else {
|
||||||
|
print(String(describing: error))
|
||||||
|
return
|
||||||
|
}
|
||||||
|
print(String(data: data, encoding: .utf8)!)
|
||||||
|
}
|
||||||
|
task.resume()
|
||||||
""";
|
""";
|
||||||
|
|
||||||
expect(
|
expect(
|
||||||
|
Reference in New Issue
Block a user