diff --git a/rule-engine/rule-engine-components/src/main/java/org/thingsboard/rule/engine/transform/TbChangeOriginatorNode.java b/rule-engine/rule-engine-components/src/main/java/org/thingsboard/rule/engine/transform/TbChangeOriginatorNode.java index 747ec345d9..f6f33d30c0 100644 --- a/rule-engine/rule-engine-components/src/main/java/org/thingsboard/rule/engine/transform/TbChangeOriginatorNode.java +++ b/rule-engine/rule-engine-components/src/main/java/org/thingsboard/rule/engine/transform/TbChangeOriginatorNode.java @@ -114,7 +114,7 @@ public class TbChangeOriginatorNode extends TbAbstractTransformNode knownSources = Sets.newHashSet(CUSTOMER_SOURCE, TENANT_SOURCE, RELATED_SOURCE, ALARM_ORIGINATOR_SOURCE, ENTITY_SOURCE); if (!knownSources.contains(conf.getOriginatorSource())) { - log.error("Unsupported source type '[{}]'! Only {} types are allowed.", conf.getOriginatorSource(), supportedOriginatorSourcesStr); + log.error("Unsupported source type '{}'! Only {} types are allowed.", conf.getOriginatorSource(), supportedOriginatorSourcesStr); throw new IllegalArgumentException("Unsupported source type '" + conf.getOriginatorSource() + "'! Only " + supportedOriginatorSourcesStr + " types are allowed."); } @@ -128,11 +128,11 @@ public class TbChangeOriginatorNode extends TbAbstractTransformNode msgCaptor = ArgumentCaptor.forClass(TbMsg.class); - ArgumentCaptor originatorCaptor = ArgumentCaptor.forClass(EntityId.class); - then(ctxMock).should().transformMsgOriginator(msgCaptor.capture(), originatorCaptor.capture()); - - assertThat(originatorCaptor.getValue()).isEqualTo(CUSTOMER_ID); - } - @Test public void verifyDefaultConfig() { var config = new TbChangeOriginatorNodeConfiguration().defaultConfiguration(); @@ -222,6 +195,7 @@ public class TbChangeOriginatorNodeTest { node.onMsg(ctxMock, msg); then(deviceServiceMock).should().findDeviceById(TENANT_ID, DEVICE_ID); + then(ctxMock).should().transformMsgOriginator(msg, CUSTOMER_ID); ArgumentCaptor actualMsg = ArgumentCaptor.forClass(TbMsg.class); then(ctxMock).should().tellSuccess(actualMsg.capture()); assertThat(actualMsg.getValue()).usingRecursiveComparison().ignoringFields("ctx").isEqualTo(expectedMsg); @@ -241,6 +215,7 @@ public class TbChangeOriginatorNodeTest { node.init(ctxMock, new TbNodeConfiguration(JacksonUtil.valueToTree(config))); node.onMsg(ctxMock, msg); + then(ctxMock).should().transformMsgOriginator(msg, TENANT_ID); ArgumentCaptor actualMsg = ArgumentCaptor.forClass(TbMsg.class); then(ctxMock).should().tellSuccess(actualMsg.capture()); assertThat(actualMsg.getValue()).usingRecursiveComparison().ignoringFields("ctx").isEqualTo(expectedMsg); @@ -297,6 +272,7 @@ public class TbChangeOriginatorNodeTest { node.onMsg(ctxMock, msg); then(alarmServiceMock).should().findAlarmByIdAsync(TENANT_ID, alarmId); + then(ctxMock).should().transformMsgOriginator(msg, DEVICE_ID); ArgumentCaptor actualMsg = ArgumentCaptor.forClass(TbMsg.class); then(ctxMock).should().tellSuccess(actualMsg.capture()); assertThat(actualMsg.getValue()).usingRecursiveComparison().ignoringFields("ctx").isEqualTo(expectedMsg); @@ -323,6 +299,7 @@ public class TbChangeOriginatorNodeTest { String expectedEntityName = TbNodeUtils.processPattern(entityNamePattern, msg); then(assetServiceMock).should().findAssetByTenantIdAndName(TENANT_ID, expectedEntityName); + then(ctxMock).should().transformMsgOriginator(msg, ASSET_ID); ArgumentCaptor actualMsg = ArgumentCaptor.forClass(TbMsg.class); then(ctxMock).should().tellSuccess(actualMsg.capture()); assertThat(actualMsg.getValue()).usingRecursiveComparison().ignoringFields("ctx").isEqualTo(expectedMsg); @@ -356,7 +333,7 @@ public class TbChangeOriginatorNodeTest { ArgumentCaptor throwable = ArgumentCaptor.forClass(Throwable.class); then(ctxMock).should().tellFailure(eq(msg), throwable.capture()); - assertThat(throwable.getValue()).isInstanceOf(IllegalStateException.class).hasMessage("Failed to found ASSET entity by name: 'test-asset'!"); + assertThat(throwable.getValue()).isInstanceOf(IllegalStateException.class).hasMessage("Failed to found asset with name 'test-asset'!"); } }