diff --git a/application/src/main/java/org/thingsboard/server/controller/RuleEngineController.java b/application/src/main/java/org/thingsboard/server/controller/RuleEngineController.java index 16458e42db..8cda3d2212 100644 --- a/application/src/main/java/org/thingsboard/server/controller/RuleEngineController.java +++ b/application/src/main/java/org/thingsboard/server/controller/RuleEngineController.java @@ -193,7 +193,7 @@ public class RuleEngineController extends BaseController { } private void reply(LocalRequestMetaData rpcRequest, TbMsg response) { - DeferredResult responseWriter = rpcRequest.responseWriter; + DeferredResult responseWriter = rpcRequest.responseWriter(); if (response == null) { logRuleEngineCall(rpcRequest, null, new TimeoutException("Processing timeout detected!")); responseWriter.setResult(new ResponseEntity<>(HttpStatus.REQUEST_TIMEOUT)); @@ -216,7 +216,7 @@ public class RuleEngineController extends BaseController { } private void logRuleEngineCall(LocalRequestMetaData rpcRequest, TbMsg response, Throwable e) { - logRuleEngineCall(rpcRequest.user, rpcRequest.request.getOriginator(), rpcRequest.request.getData(), response, e); + logRuleEngineCall(rpcRequest.user(), rpcRequest.request().getOriginator(), rpcRequest.request().getData(), response, e); } private void logRuleEngineCall(SecurityUser user, EntityId entityId, String request, TbMsg response, Throwable e) { diff --git a/application/src/test/java/org/thingsboard/server/service/ruleengine/DefaultRuleEngineCallServiceTest.java b/application/src/test/java/org/thingsboard/server/service/ruleengine/DefaultRuleEngineCallServiceTest.java index e5dc414b2f..282563574f 100644 --- a/application/src/test/java/org/thingsboard/server/service/ruleengine/DefaultRuleEngineCallServiceTest.java +++ b/application/src/test/java/org/thingsboard/server/service/ruleengine/DefaultRuleEngineCallServiceTest.java @@ -78,25 +78,7 @@ public class DefaultRuleEngineCallServiceTest { } @Test - void givenRequest_whenProcessRestApiCallToRuleEngine_thenPushMsgToRuleEngine() { - long timeout = 100L; - long expTime = System.currentTimeMillis() + timeout; - HashMap metaData = new HashMap<>(); - UUID requestId = UUID.randomUUID(); - metaData.put("serviceId", "core"); - metaData.put("requestUUID", requestId.toString()); - metaData.put("expirationTime", Long.toString(expTime)); - TbMsg msg = TbMsg.newMsg(DataConstants.MAIN_QUEUE_NAME, TbMsgType.REST_API_REQUEST, TENANT_ID, new TbMsgMetaData(metaData), "{\"key\":\"value\"}"); - Consumer anyConsumer = TbMsg::getData; - ruleEngineCallService.processRestApiCallToRuleEngine(TENANT_ID, requestId, msg, true, anyConsumer); - - assertThat(requests.size()).isEqualTo(1); - assertThat(requests.get(requestId)).isEqualTo(anyConsumer); - verify(tbClusterServiceMock).pushMsgToRuleEngine(TENANT_ID, TENANT_ID, msg, true, null); - } - - @Test - void givenSmallTimeout_whenProcessRestApiCallToRuleEngine_thenDoesNotReturnResponse() { + void givenRequest_whenProcessRestApiCallToRuleEngine_thenPushMsgToRuleEngineAndCheckRemovedDueTimeout() { long timeout = 1L; long expTime = System.currentTimeMillis() + timeout; HashMap metaData = new HashMap<>();