package com.vincent.rsf.server.ai.store.support;
|
|
import org.junit.jupiter.api.Test;
|
|
import static org.junit.jupiter.api.Assertions.assertEquals;
|
import static org.junit.jupiter.api.Assertions.assertNotEquals;
|
import static org.junit.jupiter.api.Assertions.assertTrue;
|
|
class AiRedisKeysTest {
|
|
private final AiRedisKeys aiRedisKeys = new AiRedisKeys();
|
|
@Test
|
void shouldBuildStableRuntimeAndToolKeys() {
|
String runtimeKey = aiRedisKeys.buildRuntimeKey(1L, 2L, "home.default", 3L, 4L);
|
String toolKeyA = aiRedisKeys.buildToolResultKey(1L, "req-1", "tool", "{\"a\":1}");
|
String toolKeyB = aiRedisKeys.buildToolResultKey(1L, "req-1", "tool", "{\"a\":2}");
|
|
assertEquals("AI:RUNTIME:1:2:home.default:3:4", runtimeKey);
|
assertTrue(toolKeyA.startsWith("AI:TOOL:RESULT:1:req-1:tool:"));
|
assertNotEquals(toolKeyA, toolKeyB);
|
}
|
|
@Test
|
void shouldUseSentinelTokensForNullableValues() {
|
assertEquals("LATEST", aiRedisKeys.sessionToken(null));
|
assertEquals("DEFAULT", aiRedisKeys.aiParamToken(null));
|
assertEquals("_", aiRedisKeys.safeToken(null));
|
}
|
}
|