Preserve active leases and align flow recovery rounds
Local review candidate only. Explicitly selected inherited prerequisites and prior repair patches; unrelated WIP and independent MQ fixes are excluded. No push or deployment authorized.
This commit is contained in:
@@ -287,4 +287,26 @@ class FlowCenterClientFacadeTest {
|
||||
() -> c.listFlows(3L));
|
||||
assertTrue(ex.getMessage().contains("流程中心未接入"), ex.getMessage());
|
||||
}
|
||||
@Test
|
||||
void v2ResultRetainsBranchRoundAndRealTerminalStatus() {
|
||||
com.yunhai.svchall.model.FcApplyModels.FlowOutbound outbound = new com.yunhai.svchall.model.FcApplyModels.FlowOutbound();
|
||||
outbound.setBizId("42"); outbound.setRequestToken("token-1");
|
||||
when(openCall.post(eq(TARGET), eq("/oapi/flow/apply/v2"), anyMap(), any(), eq(com.fasterxml.jackson.databind.JsonNode.class)))
|
||||
.thenReturn(objectMapper.createObjectNode().put("instanceId", 555).put("duplicated", true)
|
||||
.put("branch", "SAME_REQUEST").put("applyRound", 1).put("status", 30).put("version", 4));
|
||||
FlowClient.ApplyResult result = client().applyWithIdentity(3L, outbound);
|
||||
assertEquals("SAME_REQUEST", result.getBranch()); assertEquals(Integer.valueOf(1), result.getApplyRound());
|
||||
assertEquals(Integer.valueOf(30), result.getStatus()); assertEquals(Integer.valueOf(4), result.getVersion());
|
||||
assertEquals(Long.valueOf(555), result.getInstanceId());
|
||||
}
|
||||
|
||||
@Test
|
||||
void v2DoesNotTruncateFractionalRound() {
|
||||
com.yunhai.svchall.model.FcApplyModels.FlowOutbound outbound = new com.yunhai.svchall.model.FcApplyModels.FlowOutbound();
|
||||
outbound.setBizId("42"); outbound.setRequestToken("token-1");
|
||||
when(openCall.post(eq(TARGET), eq("/oapi/flow/apply/v2"), anyMap(), any(), eq(com.fasterxml.jackson.databind.JsonNode.class)))
|
||||
.thenReturn(objectMapper.createObjectNode().put("instanceId", 555).put("branch", "RESTARTED").put("applyRound", 2.5));
|
||||
assertThrows(com.yunhai.platform.apistd.BizException.class, () -> client().applyWithIdentity(3L, outbound));
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user