mirror of
https://github.com/foss42/apidash.git
synced 2025-06-17 20:16:27 +08:00
Refactored go http codegen and test file
This commit is contained in:
@ -112,7 +112,6 @@ func main() {
|
|||||||
|
|
||||||
String? getCode(
|
String? getCode(
|
||||||
RequestModel requestModel,
|
RequestModel requestModel,
|
||||||
String defaultUriScheme,
|
|
||||||
) {
|
) {
|
||||||
try {
|
try {
|
||||||
String result = "";
|
String result = "";
|
||||||
@ -120,15 +119,12 @@ func main() {
|
|||||||
var requestBody = requestModel.requestBody;
|
var requestBody = requestModel.requestBody;
|
||||||
|
|
||||||
String url = requestModel.url;
|
String url = requestModel.url;
|
||||||
if (!url.contains("://") && url.isNotEmpty) {
|
|
||||||
url = "$defaultUriScheme://$url";
|
|
||||||
}
|
|
||||||
|
|
||||||
var templateStart = jj.Template(kTemplateStart);
|
var templateStart = jj.Template(kTemplateStart);
|
||||||
result += templateStart.render({
|
result += templateStart.render({
|
||||||
"isBody": kMethodsWithBody.contains(requestModel.method) &&
|
"isBody": kMethodsWithBody.contains(requestModel.method) &&
|
||||||
requestBody != null,
|
requestBody != null,
|
||||||
"isFormDataRequest": requestModel.isFormDataRequest
|
"isFormDataRequest": requestModel.hasFormData,
|
||||||
});
|
});
|
||||||
|
|
||||||
var templateUrl = jj.Template(kTemplateUrl);
|
var templateUrl = jj.Template(kTemplateUrl);
|
||||||
@ -155,7 +151,7 @@ func main() {
|
|||||||
} else if (requestModel.requestBodyContentType == ContentType.json) {
|
} else if (requestModel.requestBodyContentType == ContentType.json) {
|
||||||
var templateJsonBody = jj.Template(kTemplateJsonBody);
|
var templateJsonBody = jj.Template(kTemplateJsonBody);
|
||||||
result += templateJsonBody.render({"body": requestBody});
|
result += templateJsonBody.render({"body": requestBody});
|
||||||
} else if (requestModel.isFormDataRequest) {
|
} else if (requestModel.hasFormData) {
|
||||||
hasBody = true;
|
hasBody = true;
|
||||||
var templateFormData = jj.Template(kTemplateFormData);
|
var templateFormData = jj.Template(kTemplateFormData);
|
||||||
result += templateFormData.render({
|
result += templateFormData.render({
|
||||||
|
@ -1,9 +1,11 @@
|
|||||||
import 'package:apidash/codegen/go/http.dart';
|
import 'package:apidash/codegen/codegen.dart';
|
||||||
|
import 'package:apidash/consts.dart';
|
||||||
|
import 'package:apidash/screens/home_page/editor_pane/details_card/code_pane.dart';
|
||||||
import 'package:test/test.dart';
|
import 'package:test/test.dart';
|
||||||
import '../request_models.dart';
|
import '../request_models.dart';
|
||||||
|
|
||||||
void main() {
|
void main() {
|
||||||
final goHttpCodeGen = GoHttpCodeGen();
|
final codeGen = Codegen();
|
||||||
|
|
||||||
group('GET Request', () {
|
group('GET Request', () {
|
||||||
test('GET 1', () {
|
test('GET 1', () {
|
||||||
@ -43,7 +45,8 @@ func main() {
|
|||||||
}
|
}
|
||||||
fmt.Println(string(res))
|
fmt.Println(string(res))
|
||||||
}""";
|
}""";
|
||||||
expect(goHttpCodeGen.getCode(requestModelGet1, "https"), expectedCode);
|
expect(codeGen.getCode(CodegenLanguage.goHttp, requestModelGet1, "https"),
|
||||||
|
expectedCode);
|
||||||
});
|
});
|
||||||
|
|
||||||
test('GET 2', () {
|
test('GET 2', () {
|
||||||
@ -88,7 +91,8 @@ func main() {
|
|||||||
}
|
}
|
||||||
fmt.Println(string(res))
|
fmt.Println(string(res))
|
||||||
}""";
|
}""";
|
||||||
expect(goHttpCodeGen.getCode(requestModelGet2, "https"), expectedCode);
|
expect(codeGen.getCode(CodegenLanguage.goHttp, requestModelGet2, "https"),
|
||||||
|
expectedCode);
|
||||||
});
|
});
|
||||||
|
|
||||||
test('GET 3', () {
|
test('GET 3', () {
|
||||||
@ -133,7 +137,8 @@ func main() {
|
|||||||
}
|
}
|
||||||
fmt.Println(string(res))
|
fmt.Println(string(res))
|
||||||
}""";
|
}""";
|
||||||
expect(goHttpCodeGen.getCode(requestModelGet3, "https"), expectedCode);
|
expect(codeGen.getCode(CodegenLanguage.goHttp, requestModelGet3, "https"),
|
||||||
|
expectedCode);
|
||||||
});
|
});
|
||||||
|
|
||||||
test('GET 4', () {
|
test('GET 4', () {
|
||||||
@ -186,7 +191,8 @@ func main() {
|
|||||||
}
|
}
|
||||||
fmt.Println(string(res))
|
fmt.Println(string(res))
|
||||||
}""";
|
}""";
|
||||||
expect(goHttpCodeGen.getCode(requestModelGet4, "https"), expectedCode);
|
expect(codeGen.getCode(CodegenLanguage.goHttp, requestModelGet4, "https"),
|
||||||
|
expectedCode);
|
||||||
});
|
});
|
||||||
|
|
||||||
test('GET 5', () {
|
test('GET 5', () {
|
||||||
@ -229,7 +235,8 @@ func main() {
|
|||||||
}
|
}
|
||||||
fmt.Println(string(res))
|
fmt.Println(string(res))
|
||||||
}""";
|
}""";
|
||||||
expect(goHttpCodeGen.getCode(requestModelGet5, "https"), expectedCode);
|
expect(codeGen.getCode(CodegenLanguage.goHttp, requestModelGet5, "https"),
|
||||||
|
expectedCode);
|
||||||
});
|
});
|
||||||
|
|
||||||
test('GET 6', () {
|
test('GET 6', () {
|
||||||
@ -277,7 +284,8 @@ func main() {
|
|||||||
}
|
}
|
||||||
fmt.Println(string(res))
|
fmt.Println(string(res))
|
||||||
}""";
|
}""";
|
||||||
expect(goHttpCodeGen.getCode(requestModelGet6, "https"), expectedCode);
|
expect(codeGen.getCode(CodegenLanguage.goHttp, requestModelGet6, "https"),
|
||||||
|
expectedCode);
|
||||||
});
|
});
|
||||||
|
|
||||||
test('GET 7', () {
|
test('GET 7', () {
|
||||||
@ -317,7 +325,8 @@ func main() {
|
|||||||
}
|
}
|
||||||
fmt.Println(string(res))
|
fmt.Println(string(res))
|
||||||
}""";
|
}""";
|
||||||
expect(goHttpCodeGen.getCode(requestModelGet7, "https"), expectedCode);
|
expect(codeGen.getCode(CodegenLanguage.goHttp, requestModelGet7, "https"),
|
||||||
|
expectedCode);
|
||||||
});
|
});
|
||||||
|
|
||||||
test('GET 8', () {
|
test('GET 8', () {
|
||||||
@ -365,7 +374,8 @@ func main() {
|
|||||||
}
|
}
|
||||||
fmt.Println(string(res))
|
fmt.Println(string(res))
|
||||||
}""";
|
}""";
|
||||||
expect(goHttpCodeGen.getCode(requestModelGet8, "https"), expectedCode);
|
expect(codeGen.getCode(CodegenLanguage.goHttp, requestModelGet8, "https"),
|
||||||
|
expectedCode);
|
||||||
});
|
});
|
||||||
|
|
||||||
test('GET 9', () {
|
test('GET 9', () {
|
||||||
@ -412,7 +422,8 @@ func main() {
|
|||||||
}
|
}
|
||||||
fmt.Println(string(res))
|
fmt.Println(string(res))
|
||||||
}""";
|
}""";
|
||||||
expect(goHttpCodeGen.getCode(requestModelGet9, "https"), expectedCode);
|
expect(codeGen.getCode(CodegenLanguage.goHttp, requestModelGet9, "https"),
|
||||||
|
expectedCode);
|
||||||
});
|
});
|
||||||
|
|
||||||
test('GET 10', () {
|
test('GET 10', () {
|
||||||
@ -456,7 +467,8 @@ func main() {
|
|||||||
fmt.Println(string(res))
|
fmt.Println(string(res))
|
||||||
}""";
|
}""";
|
||||||
expect(
|
expect(
|
||||||
goHttpCodeGen.getCode(
|
codegen.getCode(
|
||||||
|
CodegenLanguage.goHttp,
|
||||||
requestModelGet10,
|
requestModelGet10,
|
||||||
"https",
|
"https",
|
||||||
),
|
),
|
||||||
@ -510,7 +522,9 @@ func main() {
|
|||||||
}
|
}
|
||||||
fmt.Println(string(res))
|
fmt.Println(string(res))
|
||||||
}""";
|
}""";
|
||||||
expect(goHttpCodeGen.getCode(requestModelGet11, "https"), expectedCode);
|
expect(
|
||||||
|
codeGen.getCode(CodegenLanguage.goHttp, requestModelGet11, "https"),
|
||||||
|
expectedCode);
|
||||||
});
|
});
|
||||||
|
|
||||||
test('GET 12', () {
|
test('GET 12', () {
|
||||||
@ -550,7 +564,9 @@ func main() {
|
|||||||
}
|
}
|
||||||
fmt.Println(string(res))
|
fmt.Println(string(res))
|
||||||
}""";
|
}""";
|
||||||
expect(goHttpCodeGen.getCode(requestModelGet12, "https"), expectedCode);
|
expect(
|
||||||
|
codeGen.getCode(CodegenLanguage.goHttp, requestModelGet12, "https"),
|
||||||
|
expectedCode);
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
@ -592,7 +608,9 @@ func main() {
|
|||||||
}
|
}
|
||||||
fmt.Println(string(res))
|
fmt.Println(string(res))
|
||||||
}""";
|
}""";
|
||||||
expect(goHttpCodeGen.getCode(requestModelHead1, "https"), expectedCode);
|
expect(
|
||||||
|
codeGen.getCode(CodegenLanguage.goHttp, requestModelHead1, "https"),
|
||||||
|
expectedCode);
|
||||||
});
|
});
|
||||||
|
|
||||||
test('HEAD 2', () {
|
test('HEAD 2', () {
|
||||||
@ -632,7 +650,8 @@ func main() {
|
|||||||
}
|
}
|
||||||
fmt.Println(string(res))
|
fmt.Println(string(res))
|
||||||
}""";
|
}""";
|
||||||
expect(goHttpCodeGen.getCode(requestModelHead2, "http"), expectedCode);
|
expect(codeGen.getCode(CodegenLanguage.goHttp, requestModelHead2, "http"),
|
||||||
|
expectedCode);
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
@ -678,7 +697,9 @@ func main() {
|
|||||||
}
|
}
|
||||||
fmt.Println(string(res))
|
fmt.Println(string(res))
|
||||||
}''';
|
}''';
|
||||||
expect(goHttpCodeGen.getCode(requestModelPost1, "https"), expectedCode);
|
expect(
|
||||||
|
codeGen.getCode(CodegenLanguage.goHttp, requestModelPost1, "https"),
|
||||||
|
expectedCode);
|
||||||
});
|
});
|
||||||
|
|
||||||
test('POST 2', () {
|
test('POST 2', () {
|
||||||
@ -701,7 +722,12 @@ func main() {
|
|||||||
return
|
return
|
||||||
}
|
}
|
||||||
body := bytes.NewBuffer([]byte(`{
|
body := bytes.NewBuffer([]byte(`{
|
||||||
"text": "I LOVE Flutter"
|
"text": "I LOVE Flutter",
|
||||||
|
"flag": null,
|
||||||
|
"male": true,
|
||||||
|
"female": false,
|
||||||
|
"no": 1.2,
|
||||||
|
"arr": ["null", "true", "false", null]
|
||||||
}`))
|
}`))
|
||||||
req, err := http.NewRequest("POST", url.String(), body)
|
req, err := http.NewRequest("POST", url.String(), body)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
@ -722,7 +748,9 @@ func main() {
|
|||||||
}
|
}
|
||||||
fmt.Println(string(res))
|
fmt.Println(string(res))
|
||||||
}''';
|
}''';
|
||||||
expect(goHttpCodeGen.getCode(requestModelPost2, "https"), expectedCode);
|
expect(
|
||||||
|
codeGen.getCode(CodegenLanguage.goHttp, requestModelPost2, "https"),
|
||||||
|
expectedCode);
|
||||||
});
|
});
|
||||||
|
|
||||||
test('POST 3', () {
|
test('POST 3', () {
|
||||||
@ -769,7 +797,9 @@ func main() {
|
|||||||
}
|
}
|
||||||
fmt.Println(string(res))
|
fmt.Println(string(res))
|
||||||
}''';
|
}''';
|
||||||
expect(goHttpCodeGen.getCode(requestModelPost3, "https"), expectedCode);
|
expect(
|
||||||
|
codeGen.getCode(CodegenLanguage.goHttp, requestModelPost3, "https"),
|
||||||
|
expectedCode);
|
||||||
});
|
});
|
||||||
|
|
||||||
test('POST 4', () {
|
test('POST 4', () {
|
||||||
@ -809,7 +839,9 @@ func main() {
|
|||||||
}
|
}
|
||||||
fmt.Println(string(res))
|
fmt.Println(string(res))
|
||||||
}''';
|
}''';
|
||||||
expect(goHttpCodeGen.getCode(requestModelPost4, "https"), expectedCode);
|
expect(
|
||||||
|
codeGen.getCode(CodegenLanguage.goHttp, requestModelPost4, "https"),
|
||||||
|
expectedCode);
|
||||||
});
|
});
|
||||||
|
|
||||||
test('POST 5', () {
|
test('POST 5', () {
|
||||||
@ -852,7 +884,9 @@ func main() {
|
|||||||
}
|
}
|
||||||
fmt.Println(string(res))
|
fmt.Println(string(res))
|
||||||
}''';
|
}''';
|
||||||
expect(goHttpCodeGen.getCode(requestModelPost5, "https"), expectedCode);
|
expect(
|
||||||
|
codeGen.getCode(CodegenLanguage.goHttp, requestModelPost5, "https"),
|
||||||
|
expectedCode);
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
@ -893,7 +927,8 @@ func main() {
|
|||||||
}
|
}
|
||||||
fmt.Println(string(res))
|
fmt.Println(string(res))
|
||||||
}''';
|
}''';
|
||||||
expect(goHttpCodeGen.getCode(requestModelPost6, "https"), expectedCode);
|
expect(codeGen.getCode(CodegenLanguage.goHttp, requestModelPost6, "https"),
|
||||||
|
expectedCode);
|
||||||
});
|
});
|
||||||
test("POST 7", () {
|
test("POST 7", () {
|
||||||
const expectedCode = r'''package main
|
const expectedCode = r'''package main
|
||||||
@ -958,7 +993,8 @@ func main() {
|
|||||||
}
|
}
|
||||||
fmt.Println(string(res))
|
fmt.Println(string(res))
|
||||||
}''';
|
}''';
|
||||||
expect(goHttpCodeGen.getCode(requestModelPost7, "https"), expectedCode);
|
expect(codeGen.getCode(CodegenLanguage.goHttp, requestModelPost7, "https"),
|
||||||
|
expectedCode);
|
||||||
});
|
});
|
||||||
test("POST 8", () {
|
test("POST 8", () {
|
||||||
const expectedCode = r'''package main
|
const expectedCode = r'''package main
|
||||||
@ -1004,7 +1040,8 @@ func main() {
|
|||||||
}
|
}
|
||||||
fmt.Println(string(res))
|
fmt.Println(string(res))
|
||||||
}''';
|
}''';
|
||||||
expect(goHttpCodeGen.getCode(requestModelPost8, "https"), expectedCode);
|
expect(codeGen.getCode(CodegenLanguage.goHttp, requestModelPost8, "https"),
|
||||||
|
expectedCode);
|
||||||
});
|
});
|
||||||
test("POST 9", () {
|
test("POST 9", () {
|
||||||
const expectedCode = r'''package main
|
const expectedCode = r'''package main
|
||||||
@ -1081,7 +1118,8 @@ func main() {
|
|||||||
}
|
}
|
||||||
fmt.Println(string(res))
|
fmt.Println(string(res))
|
||||||
}''';
|
}''';
|
||||||
expect(goHttpCodeGen.getCode(requestModelPost9, "https"), expectedCode);
|
expect(codeGen.getCode(CodegenLanguage.goHttp, requestModelPost9, "https"),
|
||||||
|
expectedCode);
|
||||||
});
|
});
|
||||||
|
|
||||||
group('PUT Request', () {
|
group('PUT Request', () {
|
||||||
@ -1127,7 +1165,8 @@ func main() {
|
|||||||
}
|
}
|
||||||
fmt.Println(string(res))
|
fmt.Println(string(res))
|
||||||
}''';
|
}''';
|
||||||
expect(goHttpCodeGen.getCode(requestModelPut1, "https"), expectedCode);
|
expect(codeGen.getCode(CodegenLanguage.goHttp, requestModelPut1, "https"),
|
||||||
|
expectedCode);
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
@ -1174,7 +1213,9 @@ func main() {
|
|||||||
}
|
}
|
||||||
fmt.Println(string(res))
|
fmt.Println(string(res))
|
||||||
}''';
|
}''';
|
||||||
expect(goHttpCodeGen.getCode(requestModelPatch1, "https"), expectedCode);
|
expect(
|
||||||
|
codeGen.getCode(CodegenLanguage.goHttp, requestModelPatch1, "https"),
|
||||||
|
expectedCode);
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
@ -1216,7 +1257,9 @@ func main() {
|
|||||||
}
|
}
|
||||||
fmt.Println(string(res))
|
fmt.Println(string(res))
|
||||||
}""";
|
}""";
|
||||||
expect(goHttpCodeGen.getCode(requestModelDelete1, "https"), expectedCode);
|
expect(
|
||||||
|
codeGen.getCode(CodegenLanguage.goHttp, requestModelDelete1, "https"),
|
||||||
|
expectedCode);
|
||||||
});
|
});
|
||||||
|
|
||||||
test('DELETE 2', () {
|
test('DELETE 2', () {
|
||||||
@ -1261,7 +1304,9 @@ func main() {
|
|||||||
}
|
}
|
||||||
fmt.Println(string(res))
|
fmt.Println(string(res))
|
||||||
}''';
|
}''';
|
||||||
expect(goHttpCodeGen.getCode(requestModelDelete2, "https"), expectedCode);
|
expect(
|
||||||
|
codeGen.getCode(CodegenLanguage.goHttp, requestModelDelete2, "https"),
|
||||||
|
expectedCode);
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user