mirror of
https://github.com/foss42/apidash.git
synced 2025-12-02 18:57:05 +08:00
tests and changes
This commit is contained in:
@@ -21,13 +21,17 @@ multipartFormData.append(fileURL, withName: "{{param.name}}", fileName: "{{param
|
|||||||
''';
|
''';
|
||||||
|
|
||||||
final String kTemplateJsonData = '''
|
final String kTemplateJsonData = '''
|
||||||
let jsonString = """{{jsonData}}"""
|
let jsonString = """
|
||||||
let jsonData = jsonString.data(using: .utf8)
|
{{jsonData}}
|
||||||
|
"""
|
||||||
|
let jsonData = jsonString.data(using: .utf8)\n
|
||||||
''';
|
''';
|
||||||
|
|
||||||
final String kTemplateTextData = '''
|
final String kTemplateTextData = '''
|
||||||
let textString = """{{textData}}"""
|
let textString = """
|
||||||
let textData = textString.data(using: .utf8)
|
{{textData}}
|
||||||
|
"""
|
||||||
|
let textData = textString.data(using: .utf8)\n
|
||||||
''';
|
''';
|
||||||
|
|
||||||
final String kTemplateRequest = """
|
final String kTemplateRequest = """
|
||||||
|
|||||||
@@ -329,6 +329,512 @@ dispatchMain()""";
|
|||||||
SupportedUriSchemes.https,
|
SupportedUriSchemes.https,
|
||||||
),
|
),
|
||||||
expectedCode);
|
expectedCode);
|
||||||
|
});
|
||||||
|
|
||||||
|
test('GET 11', () {
|
||||||
|
const expectedCode = r"""
|
||||||
|
import Foundation
|
||||||
|
import Alamofire
|
||||||
|
let url = "https://api.apidash.dev/humanize/social?num=8700000&digits=3"
|
||||||
|
|
||||||
|
|
||||||
|
AF.request(url, method: .get, 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,
|
||||||
|
requestModelGet11,
|
||||||
|
SupportedUriSchemes.https,
|
||||||
|
),
|
||||||
|
expectedCode);
|
||||||
|
});
|
||||||
|
|
||||||
|
test('GET 12', () {
|
||||||
|
const expectedCode = r"""
|
||||||
|
import Foundation
|
||||||
|
import Alamofire
|
||||||
|
let url = "https://api.apidash.dev/humanize/social"
|
||||||
|
|
||||||
|
|
||||||
|
AF.request(url, method: .get)
|
||||||
|
|
||||||
|
.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,
|
||||||
|
requestModelGet12,
|
||||||
|
SupportedUriSchemes.https,
|
||||||
|
),
|
||||||
|
expectedCode);
|
||||||
|
});
|
||||||
|
},
|
||||||
|
|
||||||
);
|
);
|
||||||
});}
|
|
||||||
|
group(
|
||||||
|
'HTTPVerb.head',
|
||||||
|
() {
|
||||||
|
test('HEAD 1', () {
|
||||||
|
const expectedCode = r"""
|
||||||
|
import Foundation
|
||||||
|
import Alamofire
|
||||||
|
let url = "https://api.apidash.dev"
|
||||||
|
|
||||||
|
|
||||||
|
AF.request(url, method: .head)
|
||||||
|
|
||||||
|
.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,
|
||||||
|
requestModelHead1,
|
||||||
|
SupportedUriSchemes.https,
|
||||||
|
),
|
||||||
|
expectedCode);
|
||||||
|
});
|
||||||
|
|
||||||
|
test('HEAD 2', () {
|
||||||
|
const expectedCode = r"""
|
||||||
|
import Foundation
|
||||||
|
import Alamofire
|
||||||
|
let url = "https://api.apidash.dev"
|
||||||
|
|
||||||
|
|
||||||
|
AF.request(url, method: .head)
|
||||||
|
|
||||||
|
.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,
|
||||||
|
requestModelHead2,
|
||||||
|
SupportedUriSchemes.https,
|
||||||
|
),
|
||||||
|
expectedCode);
|
||||||
|
});
|
||||||
|
},
|
||||||
|
|
||||||
|
);
|
||||||
|
|
||||||
|
group(
|
||||||
|
"HTTPVerb.post",
|
||||||
|
() {
|
||||||
|
test('POST 1', () {
|
||||||
|
const expectedCode = r'''
|
||||||
|
import Foundation
|
||||||
|
import Alamofire
|
||||||
|
let textString = """
|
||||||
|
{\n\"text\": \"I LOVE Flutter\"\n}
|
||||||
|
"""
|
||||||
|
let textData = textString.data(using: .utf8)
|
||||||
|
let url = "https://api.apidash.dev/case/lower"
|
||||||
|
|
||||||
|
|
||||||
|
AF.upload(textData!, to: url, method: .post, headers: ["Content-Type": "text/plain"])
|
||||||
|
|
||||||
|
.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,
|
||||||
|
requestModelPost1,
|
||||||
|
SupportedUriSchemes.https,
|
||||||
|
),
|
||||||
|
expectedCode);
|
||||||
|
});
|
||||||
|
test('POST 2', () {
|
||||||
|
const expectedCode = r'''
|
||||||
|
import Foundation
|
||||||
|
import Alamofire
|
||||||
|
let jsonString = """
|
||||||
|
{\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 jsonData = jsonString.data(using: .utf8)
|
||||||
|
let url = "https://api.apidash.dev/case/lower"
|
||||||
|
|
||||||
|
|
||||||
|
AF.upload(jsonData!, to: url, method: .post, headers: ["Content-Type": "application/json"])
|
||||||
|
|
||||||
|
.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,
|
||||||
|
requestModelPost2,
|
||||||
|
SupportedUriSchemes.https,
|
||||||
|
),
|
||||||
|
expectedCode);
|
||||||
|
});
|
||||||
|
|
||||||
|
test('POST 3', () {
|
||||||
|
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"
|
||||||
|
|
||||||
|
|
||||||
|
AF.upload(jsonData!, to: url, method: .post, headers: ["User-Agent": "Test Agent", "Content-Type": "application/json"])
|
||||||
|
|
||||||
|
.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,
|
||||||
|
requestModelPost3,
|
||||||
|
SupportedUriSchemes.https,
|
||||||
|
),
|
||||||
|
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 6', () {
|
||||||
|
// const expectedCode = r"""
|
||||||
|
|
||||||
|
// """;
|
||||||
|
|
||||||
|
// expect(
|
||||||
|
// codeGen.getCode(
|
||||||
|
// CodegenLanguage.swiftAlamofire,
|
||||||
|
// requestModelPost6,
|
||||||
|
// SupportedUriSchemes.https,
|
||||||
|
// ),
|
||||||
|
// expectedCode);
|
||||||
|
// });
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
// test('POST 7', () {
|
||||||
|
// const expectedCode = r"""
|
||||||
|
|
||||||
|
// """;
|
||||||
|
|
||||||
|
// expect(
|
||||||
|
// codeGen.getCode(
|
||||||
|
// CodegenLanguage.swiftAlamofire,
|
||||||
|
// requestModelPost7,
|
||||||
|
// SupportedUriSchemes.https,
|
||||||
|
// ),
|
||||||
|
// expectedCode);
|
||||||
|
// });
|
||||||
|
test('POST 8', () {
|
||||||
|
const expectedCode = r"""
|
||||||
|
|
||||||
|
""";
|
||||||
|
|
||||||
|
expect(
|
||||||
|
codeGen.getCode(
|
||||||
|
CodegenLanguage.swiftAlamofire,
|
||||||
|
requestModelPost8,
|
||||||
|
SupportedUriSchemes.https,
|
||||||
|
),
|
||||||
|
expectedCode);
|
||||||
|
});
|
||||||
|
// test('POST 9', () {
|
||||||
|
// const expectedCode = r"""
|
||||||
|
|
||||||
|
// """;
|
||||||
|
|
||||||
|
// expect(
|
||||||
|
// codeGen.getCode(
|
||||||
|
// CodegenLanguage.swiftAlamofire,
|
||||||
|
// requestModelPost9,
|
||||||
|
// SupportedUriSchemes.https,
|
||||||
|
// ),
|
||||||
|
// expectedCode);
|
||||||
|
// });
|
||||||
|
// test('POST 10', () {
|
||||||
|
// const expectedCode = r"""
|
||||||
|
|
||||||
|
// """;
|
||||||
|
|
||||||
|
// expect(
|
||||||
|
// codeGen.getCode(
|
||||||
|
// CodegenLanguage.swiftAlamofire,
|
||||||
|
// requestModelPost10,
|
||||||
|
// SupportedUriSchemes.https,
|
||||||
|
// ),
|
||||||
|
// expectedCode);
|
||||||
|
// });
|
||||||
|
},
|
||||||
|
|
||||||
|
);
|
||||||
|
|
||||||
|
group(
|
||||||
|
'HTTPVerb.put',
|
||||||
|
() {
|
||||||
|
test('PUT 1', () {
|
||||||
|
const expectedCode = r'''
|
||||||
|
import Foundation
|
||||||
|
import Alamofire
|
||||||
|
let jsonString = """
|
||||||
|
{\n\"name\": \"morpheus\",\n\"job\": \"zion resident\"\n}
|
||||||
|
"""
|
||||||
|
let jsonData = jsonString.data(using: .utf8)
|
||||||
|
let url = "https://reqres.in/api/users/2"
|
||||||
|
|
||||||
|
|
||||||
|
AF.upload(jsonData!, to: url, method: .put, headers: ["Content-Type": "application/json"])
|
||||||
|
|
||||||
|
.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,
|
||||||
|
requestModelPut1,
|
||||||
|
SupportedUriSchemes.https,
|
||||||
|
),
|
||||||
|
expectedCode);
|
||||||
|
});
|
||||||
|
},
|
||||||
|
|
||||||
|
);
|
||||||
|
|
||||||
|
group(
|
||||||
|
'HTTPVerb.patch',
|
||||||
|
() {
|
||||||
|
test('PATCH 1', () {
|
||||||
|
const expectedCode = r'''
|
||||||
|
import Foundation
|
||||||
|
import Alamofire
|
||||||
|
let jsonString = """
|
||||||
|
{\n\"name\": \"marfeus\",\n\"job\": \"accountant\"\n}
|
||||||
|
"""
|
||||||
|
let jsonData = jsonString.data(using: .utf8)
|
||||||
|
let url = "https://reqres.in/api/users/2"
|
||||||
|
|
||||||
|
|
||||||
|
AF.upload(jsonData!, to: url, method: .patch, headers: ["Content-Type": "application/json"])
|
||||||
|
|
||||||
|
.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,
|
||||||
|
requestModelPatch1,
|
||||||
|
SupportedUriSchemes.https,
|
||||||
|
),
|
||||||
|
expectedCode);
|
||||||
|
});
|
||||||
|
},
|
||||||
|
|
||||||
|
);
|
||||||
|
|
||||||
|
group(
|
||||||
|
'HTTPVerb.delete',
|
||||||
|
() {
|
||||||
|
test('DELETE 1', () {
|
||||||
|
const expectedCode = r"""
|
||||||
|
import Foundation
|
||||||
|
import Alamofire
|
||||||
|
let url = "https://reqres.in/api/users/2"
|
||||||
|
|
||||||
|
|
||||||
|
AF.request(url, method: .delete)
|
||||||
|
|
||||||
|
.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,
|
||||||
|
requestModelDelete1,
|
||||||
|
SupportedUriSchemes.https,
|
||||||
|
),
|
||||||
|
expectedCode);
|
||||||
|
});
|
||||||
|
|
||||||
|
test('DELETE 2', () {
|
||||||
|
const expectedCode = r'''
|
||||||
|
import Foundation
|
||||||
|
import Alamofire
|
||||||
|
let jsonString = """
|
||||||
|
{\n\"name\": \"marfeus\",\n\"job\": \"accountant\"\n}
|
||||||
|
"""
|
||||||
|
let jsonData = jsonString.data(using: .utf8)
|
||||||
|
let url = "https://reqres.in/api/users/2"
|
||||||
|
|
||||||
|
|
||||||
|
AF.upload(jsonData!, to: url, method: .delete, headers: ["Content-Type": "application/json"])
|
||||||
|
|
||||||
|
.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,
|
||||||
|
requestModelDelete2,
|
||||||
|
SupportedUriSchemes.https,
|
||||||
|
),
|
||||||
|
expectedCode);
|
||||||
|
});
|
||||||
|
},
|
||||||
|
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user