mirror of
https://github.com/foss42/apidash.git
synced 2025-06-05 01:46:21 +08:00
Merge pull request #296 from nikkivirtuoso/update_test_cases_for_dart_http
update: test cases added from POST4 to POST9 for dart (http)
This commit is contained in:
@ -122,17 +122,29 @@ class DartHttpCodeGen {
|
|||||||
|
|
||||||
final addHeaders = refer('request.headers.addAll').call([refer('headers')]);
|
final addHeaders = refer('request.headers.addAll').call([refer('headers')]);
|
||||||
const multiPartList = Code('''
|
const multiPartList = Code('''
|
||||||
for (Map<String, String> formData in formDataList){
|
for (var formData in formDataList) {
|
||||||
if (formData['type'] == 'text') {
|
if (formData != null) {
|
||||||
request.fields.addAll({formData['name']: formData['value']});
|
final name = formData['name'];
|
||||||
} else {
|
final value = formData['value'];
|
||||||
request.files.add(
|
final type = formData['type'];
|
||||||
await http.MultipartFile.fromPath(
|
|
||||||
formData['name'],
|
if (name != null && value != null && type != null) {
|
||||||
formData['value'],
|
if (type == 'text') {
|
||||||
),
|
request.fields.addAll({name: value});
|
||||||
);
|
} else {
|
||||||
}
|
request.files.add(
|
||||||
|
await http.MultipartFile.fromPath(
|
||||||
|
name,
|
||||||
|
value,
|
||||||
|
),
|
||||||
|
);
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
print('Error: formData has null name, value, or type.');
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
print('Error: formData is null.');
|
||||||
|
}
|
||||||
}
|
}
|
||||||
''');
|
''');
|
||||||
var multiPartRequestSend =
|
var multiPartRequestSend =
|
||||||
|
@ -504,6 +504,373 @@ void main() async {
|
|||||||
codeGen.getCode(CodegenLanguage.dartHttp, requestModelPost3, "https"),
|
codeGen.getCode(CodegenLanguage.dartHttp, requestModelPost3, "https"),
|
||||||
expectedCode);
|
expectedCode);
|
||||||
});
|
});
|
||||||
|
test('POST 4', () {
|
||||||
|
const expectedCode = r"""import 'package:http/http.dart' as http;
|
||||||
|
|
||||||
|
void main() async {
|
||||||
|
var uri = Uri.parse('https://api.apidash.dev/io/form');
|
||||||
|
|
||||||
|
final formDataList = [
|
||||||
|
{"name": "text", "value": "API", "type": "text"},
|
||||||
|
{"name": "sep", "value": "|", "type": "text"},
|
||||||
|
{"name": "times", "value": "3", "type": "text"}
|
||||||
|
];
|
||||||
|
final request = http.MultipartRequest(
|
||||||
|
"POST",
|
||||||
|
uri,
|
||||||
|
);
|
||||||
|
for (var formData in formDataList) {
|
||||||
|
if (formData != null) {
|
||||||
|
final name = formData['name'];
|
||||||
|
final value = formData['value'];
|
||||||
|
final type = formData['type'];
|
||||||
|
|
||||||
|
if (name != null && value != null && type != null) {
|
||||||
|
if (type == 'text') {
|
||||||
|
request.fields.addAll({name: value});
|
||||||
|
} else {
|
||||||
|
request.files.add(
|
||||||
|
await http.MultipartFile.fromPath(
|
||||||
|
name,
|
||||||
|
value,
|
||||||
|
),
|
||||||
|
);
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
print('Error: formData has null name, value, or type.');
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
print('Error: formData is null.');
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
final response = await request.send();
|
||||||
|
final responseBody = await response.stream.bytesToString();
|
||||||
|
int statusCode = response.statusCode;
|
||||||
|
|
||||||
|
if (statusCode >= 200 && statusCode < 300) {
|
||||||
|
print('Status Code: $statusCode');
|
||||||
|
print('Response Body: :$responseBody');
|
||||||
|
} else {
|
||||||
|
print('Error Status Code: $statusCode');
|
||||||
|
print('Error Response Body: :$responseBody');
|
||||||
|
}
|
||||||
|
}
|
||||||
|
""";
|
||||||
|
expect(
|
||||||
|
codeGen.getCode(
|
||||||
|
CodegenLanguage.dartHttp, requestModelPost4, "https"),
|
||||||
|
expectedCode);
|
||||||
|
});
|
||||||
|
test('POST 5', () {
|
||||||
|
const expectedCode = r"""import 'package:http/http.dart' as http;
|
||||||
|
|
||||||
|
void main() async {
|
||||||
|
var uri = Uri.parse('https://api.apidash.dev/io/form');
|
||||||
|
|
||||||
|
var headers = {'User-Agent': 'Test Agent'};
|
||||||
|
|
||||||
|
final formDataList = [
|
||||||
|
{"name": "text", "value": "API", "type": "text"},
|
||||||
|
{"name": "sep", "value": "|", "type": "text"},
|
||||||
|
{"name": "times", "value": "3", "type": "text"}
|
||||||
|
];
|
||||||
|
final request = http.MultipartRequest(
|
||||||
|
"POST",
|
||||||
|
uri,
|
||||||
|
);
|
||||||
|
for (var formData in formDataList) {
|
||||||
|
if (formData != null) {
|
||||||
|
final name = formData['name'];
|
||||||
|
final value = formData['value'];
|
||||||
|
final type = formData['type'];
|
||||||
|
|
||||||
|
if (name != null && value != null && type != null) {
|
||||||
|
if (type == 'text') {
|
||||||
|
request.fields.addAll({name: value});
|
||||||
|
} else {
|
||||||
|
request.files.add(
|
||||||
|
await http.MultipartFile.fromPath(
|
||||||
|
name,
|
||||||
|
value,
|
||||||
|
),
|
||||||
|
);
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
print('Error: formData has null name, value, or type.');
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
print('Error: formData is null.');
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
request.headers.addAll(headers);
|
||||||
|
final response = await request.send();
|
||||||
|
final responseBody = await response.stream.bytesToString();
|
||||||
|
int statusCode = response.statusCode;
|
||||||
|
|
||||||
|
if (statusCode >= 200 && statusCode < 300) {
|
||||||
|
print('Status Code: $statusCode');
|
||||||
|
print('Response Body: :$responseBody');
|
||||||
|
} else {
|
||||||
|
print('Error Status Code: $statusCode');
|
||||||
|
print('Error Response Body: :$responseBody');
|
||||||
|
}
|
||||||
|
}
|
||||||
|
""";
|
||||||
|
expect(
|
||||||
|
codeGen.getCode(
|
||||||
|
CodegenLanguage.dartHttp, requestModelPost5, "https"),
|
||||||
|
expectedCode);
|
||||||
|
});
|
||||||
|
test('POST 6', () {
|
||||||
|
const expectedCode = r"""import 'package:http/http.dart' as http;
|
||||||
|
|
||||||
|
void main() async {
|
||||||
|
var uri = Uri.parse('https://api.apidash.dev/io/img');
|
||||||
|
|
||||||
|
final formDataList = [
|
||||||
|
{"name": "token", "value": "xyz", "type": "text"},
|
||||||
|
{"name": "imfile", "value": "/Documents/up/1.png", "type": "file"}
|
||||||
|
];
|
||||||
|
final request = http.MultipartRequest(
|
||||||
|
"POST",
|
||||||
|
uri,
|
||||||
|
);
|
||||||
|
for (var formData in formDataList) {
|
||||||
|
if (formData != null) {
|
||||||
|
final name = formData['name'];
|
||||||
|
final value = formData['value'];
|
||||||
|
final type = formData['type'];
|
||||||
|
|
||||||
|
if (name != null && value != null && type != null) {
|
||||||
|
if (type == 'text') {
|
||||||
|
request.fields.addAll({name: value});
|
||||||
|
} else {
|
||||||
|
request.files.add(
|
||||||
|
await http.MultipartFile.fromPath(
|
||||||
|
name,
|
||||||
|
value,
|
||||||
|
),
|
||||||
|
);
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
print('Error: formData has null name, value, or type.');
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
print('Error: formData is null.');
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
final response = await request.send();
|
||||||
|
final responseBody = await response.stream.bytesToString();
|
||||||
|
int statusCode = response.statusCode;
|
||||||
|
|
||||||
|
if (statusCode >= 200 && statusCode < 300) {
|
||||||
|
print('Status Code: $statusCode');
|
||||||
|
print('Response Body: :$responseBody');
|
||||||
|
} else {
|
||||||
|
print('Error Status Code: $statusCode');
|
||||||
|
print('Error Response Body: :$responseBody');
|
||||||
|
}
|
||||||
|
}
|
||||||
|
""";
|
||||||
|
expect(
|
||||||
|
codeGen.getCode(
|
||||||
|
CodegenLanguage.dartHttp, requestModelPost6, "https"),
|
||||||
|
expectedCode);
|
||||||
|
});
|
||||||
|
test('POST 7', () {
|
||||||
|
const expectedCode = r"""import 'package:http/http.dart' as http;
|
||||||
|
|
||||||
|
void main() async {
|
||||||
|
var uri = Uri.parse('https://api.apidash.dev/io/img');
|
||||||
|
|
||||||
|
final formDataList = [
|
||||||
|
{"name": "token", "value": "xyz", "type": "text"},
|
||||||
|
{"name": "imfile", "value": "/Documents/up/1.png", "type": "file"}
|
||||||
|
];
|
||||||
|
final request = http.MultipartRequest(
|
||||||
|
"POST",
|
||||||
|
uri,
|
||||||
|
);
|
||||||
|
for (var formData in formDataList) {
|
||||||
|
if (formData != null) {
|
||||||
|
final name = formData['name'];
|
||||||
|
final value = formData['value'];
|
||||||
|
final type = formData['type'];
|
||||||
|
|
||||||
|
if (name != null && value != null && type != null) {
|
||||||
|
if (type == 'text') {
|
||||||
|
request.fields.addAll({name: value});
|
||||||
|
} else {
|
||||||
|
request.files.add(
|
||||||
|
await http.MultipartFile.fromPath(
|
||||||
|
name,
|
||||||
|
value,
|
||||||
|
),
|
||||||
|
);
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
print('Error: formData has null name, value, or type.');
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
print('Error: formData is null.');
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
final response = await request.send();
|
||||||
|
final responseBody = await response.stream.bytesToString();
|
||||||
|
int statusCode = response.statusCode;
|
||||||
|
|
||||||
|
if (statusCode >= 200 && statusCode < 300) {
|
||||||
|
print('Status Code: $statusCode');
|
||||||
|
print('Response Body: :$responseBody');
|
||||||
|
} else {
|
||||||
|
print('Error Status Code: $statusCode');
|
||||||
|
print('Error Response Body: :$responseBody');
|
||||||
|
}
|
||||||
|
}
|
||||||
|
""";
|
||||||
|
expect(
|
||||||
|
codeGen.getCode(
|
||||||
|
CodegenLanguage.dartHttp, requestModelPost7, "https"),
|
||||||
|
expectedCode);
|
||||||
|
});
|
||||||
|
test('POST 8', () {
|
||||||
|
const expectedCode = r"""import 'package:http/http.dart' as http;
|
||||||
|
|
||||||
|
void main() async {
|
||||||
|
var uri = Uri.parse('https://api.apidash.dev/io/form');
|
||||||
|
|
||||||
|
var queryParams = {
|
||||||
|
'size': '2',
|
||||||
|
'len': '3',
|
||||||
|
};
|
||||||
|
uri = uri.replace(queryParameters: queryParams);
|
||||||
|
|
||||||
|
final formDataList = [
|
||||||
|
{"name": "text", "value": "API", "type": "text"},
|
||||||
|
{"name": "sep", "value": "|", "type": "text"},
|
||||||
|
{"name": "times", "value": "3", "type": "text"}
|
||||||
|
];
|
||||||
|
final request = http.MultipartRequest(
|
||||||
|
"POST",
|
||||||
|
uri,
|
||||||
|
);
|
||||||
|
for (var formData in formDataList) {
|
||||||
|
if (formData != null) {
|
||||||
|
final name = formData['name'];
|
||||||
|
final value = formData['value'];
|
||||||
|
final type = formData['type'];
|
||||||
|
|
||||||
|
if (name != null && value != null && type != null) {
|
||||||
|
if (type == 'text') {
|
||||||
|
request.fields.addAll({name: value});
|
||||||
|
} else {
|
||||||
|
request.files.add(
|
||||||
|
await http.MultipartFile.fromPath(
|
||||||
|
name,
|
||||||
|
value,
|
||||||
|
),
|
||||||
|
);
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
print('Error: formData has null name, value, or type.');
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
print('Error: formData is null.');
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
final response = await request.send();
|
||||||
|
final responseBody = await response.stream.bytesToString();
|
||||||
|
int statusCode = response.statusCode;
|
||||||
|
|
||||||
|
if (statusCode >= 200 && statusCode < 300) {
|
||||||
|
print('Status Code: $statusCode');
|
||||||
|
print('Response Body: :$responseBody');
|
||||||
|
} else {
|
||||||
|
print('Error Status Code: $statusCode');
|
||||||
|
print('Error Response Body: :$responseBody');
|
||||||
|
}
|
||||||
|
}
|
||||||
|
""";
|
||||||
|
expect(
|
||||||
|
codeGen.getCode(
|
||||||
|
CodegenLanguage.dartHttp, requestModelPost8, "https"),
|
||||||
|
expectedCode);
|
||||||
|
});
|
||||||
|
test('POST 9', () {
|
||||||
|
const expectedCode = r"""import 'package:http/http.dart' as http;
|
||||||
|
|
||||||
|
void main() async {
|
||||||
|
var uri = Uri.parse('https://api.apidash.dev/io/img');
|
||||||
|
|
||||||
|
var queryParams = {
|
||||||
|
'size': '2',
|
||||||
|
'len': '3',
|
||||||
|
};
|
||||||
|
uri = uri.replace(queryParameters: queryParams);
|
||||||
|
|
||||||
|
var headers = {
|
||||||
|
'User-Agent': 'Test Agent',
|
||||||
|
'Keep-Alive': 'true',
|
||||||
|
};
|
||||||
|
|
||||||
|
final formDataList = [
|
||||||
|
{"name": "token", "value": "xyz", "type": "text"},
|
||||||
|
{"name": "imfile", "value": "/Documents/up/1.png", "type": "file"}
|
||||||
|
];
|
||||||
|
final request = http.MultipartRequest(
|
||||||
|
"POST",
|
||||||
|
uri,
|
||||||
|
);
|
||||||
|
for (var formData in formDataList) {
|
||||||
|
if (formData != null) {
|
||||||
|
final name = formData['name'];
|
||||||
|
final value = formData['value'];
|
||||||
|
final type = formData['type'];
|
||||||
|
|
||||||
|
if (name != null && value != null && type != null) {
|
||||||
|
if (type == 'text') {
|
||||||
|
request.fields.addAll({name: value});
|
||||||
|
} else {
|
||||||
|
request.files.add(
|
||||||
|
await http.MultipartFile.fromPath(
|
||||||
|
name,
|
||||||
|
value,
|
||||||
|
),
|
||||||
|
);
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
print('Error: formData has null name, value, or type.');
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
print('Error: formData is null.');
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
request.headers.addAll(headers);
|
||||||
|
final response = await request.send();
|
||||||
|
final responseBody = await response.stream.bytesToString();
|
||||||
|
int statusCode = response.statusCode;
|
||||||
|
|
||||||
|
if (statusCode >= 200 && statusCode < 300) {
|
||||||
|
print('Status Code: $statusCode');
|
||||||
|
print('Response Body: :$responseBody');
|
||||||
|
} else {
|
||||||
|
print('Error Status Code: $statusCode');
|
||||||
|
print('Error Response Body: :$responseBody');
|
||||||
|
}
|
||||||
|
}
|
||||||
|
""";
|
||||||
|
expect(
|
||||||
|
codeGen.getCode(
|
||||||
|
CodegenLanguage.dartHttp, requestModelPost9, "https"),
|
||||||
|
expectedCode);
|
||||||
|
});
|
||||||
|
|
||||||
});
|
});
|
||||||
|
|
||||||
group('PUT Request', () {
|
group('PUT Request', () {
|
||||||
|
Reference in New Issue
Block a user