Skip to content

Commit 862f289

Browse files
committed
test(protocol): require full raw-node parity on 1.0.x
1 parent 133031d commit 862f289

1 file changed

Lines changed: 39 additions & 0 deletions

File tree

src/test/java/io/github/easy4j/kimi/model/KimiProtocolRawTypedParityTest.java

Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -48,4 +48,43 @@ void shouldParseTypedPromptResultFromRawNodeWithSameFacts() throws Exception {
4848
assertEquals(raw.path("usage").path("totalTokens").asLong(),
4949
typed.getUsage().getTotalTokens());
5050
}
51+
@Test
52+
void shouldParseDescriptorAndSessionModelsFromCallerOwnedRawNodes() throws Exception {
53+
// Exercise every remaining raw-node overload on Jackson 3.
54+
JsonNode sessionRaw = JsonMapper.builder().build().readTree(
55+
"{\"sessionId\":\"s2\",\"model\":\"kimi-k2\",\"mode\":\"code\",\"future\":1}");
56+
JsonNode toolRaw = JsonMapper.builder().build().readTree(
57+
"{\"id\":\"call_2\",\"name\":\"search\",\"arguments\":{\"q\":\"x\"},\"future\":2}");
58+
JsonNode errorRaw = JsonMapper.builder().build().readTree(
59+
"{\"code\":40001,\"message\":\"bad\",\"data\":{\"x\":1},\"future\":3}");
60+
JsonNode modelRaw = JsonMapper.builder().build().readTree(
61+
"{\"id\":\"kimi-k2\",\"name\":\"Kimi K2\",\"future\":4}");
62+
JsonNode modeRaw = JsonMapper.builder().build().readTree(
63+
"{\"id\":\"code\",\"name\":\"Code\",\"future\":5}");
64+
JsonNode providerRaw = JsonMapper.builder().build().readTree(
65+
"{\"id\":\"moonshot\",\"name\":\"Moonshot\",\"future\":6}");
66+
67+
KimiSession session = mapper.readSession(sessionRaw);
68+
KimiToolCall tool = mapper.readToolCall(toolRaw);
69+
KimiError error = mapper.readError(errorRaw);
70+
KimiModel model = mapper.readModel(modelRaw);
71+
KimiMode mode = mapper.readMode(modeRaw);
72+
KimiProvider provider = mapper.readProvider(providerRaw);
73+
74+
assertEquals("s2", session.getId());
75+
assertEquals(1, session.getExtensions().get("future").asInt());
76+
assertEquals("search", tool.getName());
77+
assertEquals(2, tool.getExtensions().get("future").asInt());
78+
assertEquals(40001, error.getCode().asInt());
79+
assertEquals(3, error.getExtensions().get("future").asInt());
80+
assertEquals(4, model.getExtensions().get("future").asInt());
81+
assertEquals(5, mode.getExtensions().get("future").asInt());
82+
assertEquals(6, provider.getExtensions().get("future").asInt());
83+
84+
sessionRaw.withObject("/").put("future", 99);
85+
toolRaw.withObject("/").put("future", 99);
86+
assertEquals(1, session.getExtensions().get("future").asInt());
87+
assertEquals(2, tool.getExtensions().get("future").asInt());
88+
}
89+
5190
}

0 commit comments

Comments
 (0)