Repository navigation
Expand file tree
/
Copy pathOpenCodeHttpClientConfigTest.java
More file actions
89 lines (80 loc) · 3.89 KB
/
Copy pathOpenCodeHttpClientConfigTest.java
File metadata and controls
89 lines (80 loc) · 3.89 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
package io.github.easy4j.opencode;
import org.junit.jupiter.api.Test;
import static org.junit.jupiter.api.Assertions.*;
/**
* Tests for {@link OpenCodeHttpClientConfig}.
*/
class OpenCodeHttpClientConfigTest {
@Test
void shouldHaveCorrectDefaults() {
OpenCodeHttpClientConfig config = new OpenCodeHttpClientConfig();
assertEquals(HttpResponseMode.BLOCKING, config.getMode());
assertTrue(config.isEnabled());
assertFalse(config.isStartupCheckEnabled());
assertFalse(config.isFailFastOnUnavailable());
assertEquals("http://localhost:4096", config.getServerUrl());
assertEquals("opencode", config.getUsername());
assertNull(config.getPassword());
assertEquals(15_000, config.getConnectTimeoutMillis());
assertEquals(300_000, config.getReadTimeoutMillis());
assertEquals(120_000, config.getWriteTimeoutMillis());
assertEquals(0, config.getCallTimeoutMillis());
assertEquals(32, config.getMaxIdleConnections());
assertEquals(300_000L, config.getKeepAliveDurationMillis());
assertEquals(128, config.getMaxRequests());
assertEquals(128, config.getMaxRequestsPerHost());
assertEquals(32, config.getStreamCorePoolSize());
assertEquals(32, config.getStreamMaxPoolSize());
assertEquals(128, config.getStreamQueueCapacity());
assertEquals(60_000L, config.getStreamKeepAliveMillis());
assertEquals(1_024, config.getStreamEventQueueCapacity());
assertTrue(config.isRetryOnConnectionFailure());
assertTrue(config.isVerifySsl());
assertNull(config.getDefaultModel());
assertNull(config.getDefaultAgent());
}
@Test
void shouldResolvePasswordWhenPresent() {
OpenCodeHttpClientConfig config = new OpenCodeHttpClientConfig();
config.setPassword("secret");
assertEquals("secret", config.resolvePassword());
}
@Test
void shouldResolveEmptyPasswordWhenNull() {
OpenCodeHttpClientConfig config = new OpenCodeHttpClientConfig();
assertNull(config.getPassword());
assertEquals("", config.resolvePassword());
}
@Test
void shouldKeepLegacySseEventQueueAlias() {
OpenCodeHttpClientConfig config = new OpenCodeHttpClientConfig();
config.setSseEventQueueCapacity(17);
assertEquals(17, config.getStreamEventQueueCapacity());
}
@Test
void aliasesShareCanonicalState() {
OpenCodeHttpClientConfig config = new OpenCodeHttpClientConfig();
config.setServerUrl("http://legacy:4096");
assertEquals("http://legacy:4096", config.getBaseUrl());
config.setBaseUrl("http://canonical:4096");
assertEquals("http://canonical:4096", config.getServerUrl());
config.setStreamEventQueueCapacity(23);
assertEquals(23, config.getSseEventQueueCapacity());
config.setSseEventQueueCapacity(31);
assertEquals(31, config.getStreamEventQueueCapacity());
}
@Test
void jsonBindsBothPropertyNamesAndRoundTrips() throws Exception {
com.fasterxml.jackson.databind.ObjectMapper mapper = new com.fasterxml.jackson.databind.ObjectMapper();
for (String names : new String[]{"serverUrl,sseEventQueueCapacity", "baseUrl,streamEventQueueCapacity"}) {
String[] properties = names.split(",");
String json = "{\"" + properties[0] + "\":\"http://json:4096\",\"" + properties[1] + "\":37}";
OpenCodeHttpClientConfig config = mapper.readValue(json, OpenCodeHttpClientConfig.class);
assertEquals("http://json:4096", config.getBaseUrl());
assertEquals(config.getBaseUrl(), config.getServerUrl());
assertEquals(37, config.getStreamEventQueueCapacity());
assertEquals(37, config.getSseEventQueueCapacity());
assertEquals(config, mapper.readValue(mapper.writeValueAsString(config), OpenCodeHttpClientConfig.class));
}
}
}