Skip to content

Commit c68757e

Browse files
millotpFluf22
authored andcommitted
refacto again
1 parent d519721 commit c68757e

File tree

8 files changed

+56
-84
lines changed

8 files changed

+56
-84
lines changed

generators/src/main/java/com/algolia/codegen/cts/tests/TestsClient.java

Lines changed: 1 addition & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -138,32 +138,7 @@ public void run(Map<String, CodegenModel> models, Map<String, CodegenOperation>
138138
// default to true because most api calls are asynchronous
139139
testOut.put("isAsyncMethod", (boolean) ope.vendorExtensions.getOrDefault("x-asynchronous-helper", true));
140140

141-
if (step.requestOptions != null) {
142-
stepOut.put("hasRequestOptions", true);
143-
Map<String, Object> requestOptions = new HashMap<>();
144-
if (step.requestOptions.queryParameters != null) {
145-
Map<String, Object> queryParameters = new HashMap<>();
146-
paramsType.enhanceParameters(step.requestOptions.queryParameters, queryParameters);
147-
requestOptions.put("queryParameters", queryParameters);
148-
}
149-
if (step.requestOptions.headers != null) {
150-
Map<String, Object> headers = new HashMap<>();
151-
// convert the headers to an acceptable type
152-
paramsType.enhanceParameters(new HashMap<String, Object>(step.requestOptions.headers), headers);
153-
requestOptions.put("headers", headers);
154-
}
155-
if (
156-
step.requestOptions.readTimeout != null ||
157-
step.requestOptions.writeTimeout != null ||
158-
step.requestOptions.connectTimeout != null
159-
) {
160-
stepOut.put("hasTimeouts", true);
161-
}
162-
requestOptions.put("readTimeout", step.requestOptions.readTimeout);
163-
requestOptions.put("writeTimeout", step.requestOptions.writeTimeout);
164-
requestOptions.put("connectTimeout", step.requestOptions.connectTimeout);
165-
stepOut.put("requestOptions", requestOptions);
166-
}
141+
addRequestOptions(paramsType, step.requestOptions, stepOut);
167142

168143
methodCount++;
169144
}

generators/src/main/java/com/algolia/codegen/cts/tests/TestsGenerator.java

Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,8 @@
33
import com.algolia.codegen.cts.manager.CTSManager;
44
import com.algolia.codegen.exceptions.CTSException;
55
import com.algolia.codegen.utils.*;
6+
import com.fasterxml.jackson.core.JsonProcessingException;
7+
import com.fasterxml.jackson.databind.JsonMappingException;
68
import io.swagger.v3.core.util.Json;
79
import java.io.File;
810
import java.nio.file.Files;
@@ -98,4 +100,33 @@ private String injectVariables(String json) {
98100
.replace("${{clientPascalCase}}", Helpers.capitalize(Helpers.camelize(client)))
99101
.replace("\"${{nowRounded}}\"", String.valueOf(Math.round(System.currentTimeMillis() / threeDays) * threeDays));
100102
}
103+
104+
protected void addRequestOptions(ParametersWithDataType paramsType, RequestOptions req, Map<String, Object> output)
105+
throws JsonMappingException, JsonProcessingException {
106+
if (req != null) {
107+
output.put("hasRequestOptions", true);
108+
Map<String, Object> requestOptions = new HashMap<>();
109+
if (req.queryParameters != null) {
110+
Map<String, Object> queryParameters = new HashMap<>();
111+
paramsType.enhanceParameters(req.queryParameters, queryParameters);
112+
requestOptions.put("queryParameters", queryParameters);
113+
}
114+
if (req.headers != null) {
115+
Map<String, Object> headers = new HashMap<>();
116+
// convert the headers to an acceptable type
117+
paramsType.enhanceParameters(new HashMap<String, Object>(req.headers), headers);
118+
requestOptions.put("headers", headers);
119+
}
120+
Map<String, Object> timeouts = null;
121+
if (req.readTimeout != null || req.writeTimeout != null || req.connectTimeout != null) {
122+
timeouts = new HashMap<>();
123+
if (req.readTimeout != null) timeouts.put("read", req.readTimeout);
124+
if (req.writeTimeout != null) timeouts.put("write", req.writeTimeout);
125+
if (req.connectTimeout != null) timeouts.put("connect", req.connectTimeout);
126+
paramsType.enhanceParameters(timeouts, timeouts);
127+
}
128+
requestOptions.put("timeouts", timeouts);
129+
output.put("requestOptions", requestOptions);
130+
}
131+
}
101132
}

generators/src/main/java/com/algolia/codegen/cts/tests/TestsRequest.java

Lines changed: 1 addition & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -156,30 +156,7 @@ public void run(Map<String, CodegenModel> models, Map<String, CodegenOperation>
156156
test.put("hasParams", ope.hasParams);
157157
test.put("isHelper", isHelper);
158158

159-
if (req.requestOptions != null) {
160-
test.put("hasRequestOptions", true);
161-
Map<String, Object> requestOptions = new HashMap<>();
162-
if (req.requestOptions.queryParameters != null) {
163-
Map<String, Object> queryParameters = new HashMap<>();
164-
paramsType.enhanceParameters(req.requestOptions.queryParameters, queryParameters);
165-
requestOptions.put("queryParameters", queryParameters);
166-
}
167-
if (req.requestOptions.headers != null) {
168-
Map<String, Object> headers = new HashMap<>();
169-
// convert the headers to an acceptable type
170-
paramsType.enhanceParameters(new HashMap<String, Object>(req.requestOptions.headers), headers);
171-
requestOptions.put("headers", headers);
172-
}
173-
if (
174-
req.requestOptions.readTimeout != null || req.requestOptions.writeTimeout != null || req.requestOptions.connectTimeout != null
175-
) {
176-
test.put("hasTimeouts", true);
177-
}
178-
requestOptions.put("readTimeout", req.requestOptions.readTimeout);
179-
requestOptions.put("writeTimeout", req.requestOptions.writeTimeout);
180-
requestOptions.put("connectTimeout", req.requestOptions.connectTimeout);
181-
test.put("requestOptions", requestOptions);
182-
}
159+
addRequestOptions(paramsType, req.requestOptions, test);
183160

184161
// Determines whether the endpoint is expected to return a response payload deserialized
185162
// and therefore a variable to store it into.

templates/csharp/tests/method.mustache

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -5,14 +5,14 @@
55
{{#requestOptions.headers.parametersWithDataType}}
66
.AddExtraHeader("{{{key}}}", "{{{value}}}")
77
{{/requestOptions.headers.parametersWithDataType}}
8-
{{#requestOptions.connectTimeout}}
9-
.SetConnectTimeout(TimeSpan.FromMilliseconds({{requestOptions.connectTimeout}}))
10-
{{/requestOptions.connectTimeout}}
11-
{{#requestOptions.readTimeout}}
12-
.SetReadTimeout(TimeSpan.FromMilliseconds({{requestOptions.readTimeout}}))
13-
{{/requestOptions.readTimeout}}
14-
{{#requestOptions.writeTimeout}}
15-
.SetWriteTimeout(TimeSpan.FromMilliseconds({{requestOptions.writeTimeout}}))
16-
{{/requestOptions.writeTimeout}}
8+
{{#requestOptions.timeouts.connect}}
9+
.SetConnectTimeout(TimeSpan.FromMilliseconds({{requestOptions.timeouts.connect}}))
10+
{{/requestOptions.timeouts.connect}}
11+
{{#requestOptions.timeouts.read}}
12+
.SetReadTimeout(TimeSpan.FromMilliseconds({{requestOptions.timeouts.read}}))
13+
{{/requestOptions.timeouts.read}}
14+
{{#requestOptions.timeouts.write}}
15+
.SetWriteTimeout(TimeSpan.FromMilliseconds({{requestOptions.timeouts.write}}))
16+
{{/requestOptions.timeouts.write}}
1717
.Build()
1818
{{/hasRequestOptions}})

templates/java/tests/method.mustache

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -5,13 +5,13 @@ client.{{method}}({{#parametersWithDataType}}{{> tests/generateParams}}{{^-last}
55
{{#requestOptions.headers.parametersWithDataType}}
66
.addExtraHeader("{{{key}}}", "{{{value}}}")
77
{{/requestOptions.headers.parametersWithDataType}}
8-
{{#requestOptions.readTimeout}}
9-
.setReadTimeout(Duration.ofMillis({{requestOptions.readTimeout}}L))
10-
{{/requestOptions.readTimeout}}
11-
{{#requestOptions.connectTimeout}}
12-
.setConnectTimeout(Duration.ofMillis({{requestOptions.connectTimeout}}L))
13-
{{/requestOptions.connectTimeout}}
14-
{{#requestOptions.writeTimeout}}
15-
.setWriteTimeout(Duration.ofMillis({{requestOptions.writeTimeout}}L))
16-
{{/requestOptions.writeTimeout}}
8+
{{#requestOptions.timeouts.read}}
9+
.setReadTimeout(Duration.ofMillis({{requestOptions.timeouts.read}}L))
10+
{{/requestOptions.timeouts.read}}
11+
{{#requestOptions.timeouts.connect}}
12+
.setConnectTimeout(Duration.ofMillis({{requestOptions.timeouts.connect}}L))
13+
{{/requestOptions.timeouts.connect}}
14+
{{#requestOptions.timeouts.write}}
15+
.setWriteTimeout(Duration.ofMillis({{requestOptions.timeouts.write}}L))
16+
{{/requestOptions.timeouts.write}}
1717
{{/hasRequestOptions}})

templates/javascript/tests/method.mustache

Lines changed: 3 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -5,19 +5,9 @@
55
{{#requestOptions.headers.parameters}}
66
headers: {{{.}}},
77
{{/requestOptions.headers.parameters}}
8-
{{#hasTimeouts}}
9-
timeouts: {
10-
{{#requestOptions.connectTimeout}}
11-
connect: {{{.}}},
12-
{{/requestOptions.connectTimeout}}
13-
{{#requestOptions.readTimeout}}
14-
read: {{{.}}},
15-
{{/requestOptions.readTimeout}}
16-
{{#requestOptions.writeTimeout}}
17-
write: {{{.}}},
18-
{{/requestOptions.writeTimeout}}
19-
}
20-
{{/hasTimeouts}}
8+
{{#requestOptions.timeouts.parameters}}
9+
timeouts: {{{.}}}
10+
{{/requestOptions.timeouts.parameters}}
2111
}
2212
{{/hasRequestOptions}}
2313
)
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
{{^isSyncClient}}await {{/isSyncClient}}_client.{{#lambda.snakecase}}{{{method}}}{{/lambda.snakecase}}{{#useEchoRequester}}_with_http_info{{/useEchoRequester}}({{#parametersWithDataType}}{{> tests/generateParams}}{{/parametersWithDataType}}{{#hasRequestOptions}} request_options={ {{#requestOptions.headers.parameters}}"headers":loads("""{{{.}}}"""),{{/requestOptions.headers.parameters}}{{#requestOptions.queryParameters.parameters}}"query_parameters":loads("""{{{.}}}"""),{{/requestOptions.queryParameters.parameters}} }{{/hasRequestOptions}})
1+
{{^isSyncClient}}await {{/isSyncClient}}_client.{{#lambda.snakecase}}{{{method}}}{{/lambda.snakecase}}{{#useEchoRequester}}_with_http_info{{/useEchoRequester}}({{#parametersWithDataType}}{{> tests/generateParams}}{{/parametersWithDataType}}{{#hasRequestOptions}} request_options={ {{#requestOptions.headers.parameters}}"headers":loads("""{{{.}}}"""),{{/requestOptions.headers.parameters}}{{#requestOptions.queryParameters.parameters}}"query_parameters":loads("""{{{.}}}"""),{{/requestOptions.queryParameters.parameters}}{{#requestOptions.timeouts.parameters}}"timeouts":loads("""{{{.}}}"""),{{/requestOptions.timeouts.parameters}} }{{/hasRequestOptions}})

tests/CTS/client/ingestion/api.json

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -112,13 +112,12 @@
112112
}
113113
},
114114
"requestOptions": {
115-
"connectTimeout": 1234,
116115
"writeTimeout": 3456
117116
},
118117
"expected": {
119118
"type": "timeouts",
120119
"match": {
121-
"connectTimeout": 1234,
120+
"connectTimeout": 180000,
122121
"responseTimeout": 3456
123122
}
124123
}

0 commit comments

Comments
 (0)