|
|
|
@ -17,8 +17,15 @@ package org.thingsboard.server.service.cf.ctx.state; |
|
|
|
|
|
|
|
import org.junit.jupiter.api.BeforeEach; |
|
|
|
import org.junit.jupiter.api.Test; |
|
|
|
import org.thingsboard.script.api.tbel.TbelCfArg; |
|
|
|
import org.thingsboard.script.api.tbel.TbelCfSingleValueArg; |
|
|
|
import org.thingsboard.server.common.data.kv.JsonDataEntry; |
|
|
|
import org.thingsboard.server.common.data.kv.LongDataEntry; |
|
|
|
|
|
|
|
import java.util.ArrayList; |
|
|
|
import java.util.List; |
|
|
|
import java.util.Map; |
|
|
|
|
|
|
|
import static org.assertj.core.api.Assertions.assertThat; |
|
|
|
import static org.assertj.core.api.Assertions.assertThatThrownBy; |
|
|
|
|
|
|
|
@ -73,4 +80,34 @@ public class SingleValueArgumentEntryTest { |
|
|
|
void testUpdateEntryWhenValueWasNotChanged() { |
|
|
|
assertThat(entry.updateEntry(new SingleValueArgumentEntry(ts + 18, new LongDataEntry("key", 11L), 364L))).isTrue(); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
@Test |
|
|
|
void testToTbelCfArgWhenJsonIsObject() { |
|
|
|
entry = new SingleValueArgumentEntry(ts, new JsonDataEntry("key", "{\"test\": 10}"), 370L); |
|
|
|
TbelCfArg tbelCfArg = entry.toTbelCfArg(); |
|
|
|
assertThat(tbelCfArg).isNotNull(); |
|
|
|
assertThat(tbelCfArg).isInstanceOf(TbelCfSingleValueArg.class); |
|
|
|
|
|
|
|
TbelCfSingleValueArg singleValueArg = (TbelCfSingleValueArg) tbelCfArg; |
|
|
|
|
|
|
|
assertThat(singleValueArg.getValue()).isInstanceOf(Map.class); |
|
|
|
Map<String, Integer> expectedMap = Map.of("test", 10); |
|
|
|
assertThat(singleValueArg.getValue()).isEqualTo(expectedMap); |
|
|
|
} |
|
|
|
|
|
|
|
@Test |
|
|
|
void testToTbelCfArgWhenJsonIsArray() { |
|
|
|
entry = new SingleValueArgumentEntry(ts, new JsonDataEntry("key", "[{\"test\": 10}, {\"test2\": 20}]"), 371L); |
|
|
|
TbelCfArg tbelCfArg = entry.toTbelCfArg(); |
|
|
|
assertThat(tbelCfArg).isNotNull(); |
|
|
|
assertThat(tbelCfArg).isInstanceOf(TbelCfSingleValueArg.class); |
|
|
|
|
|
|
|
TbelCfSingleValueArg singleValueArg = (TbelCfSingleValueArg) tbelCfArg; |
|
|
|
|
|
|
|
assertThat(singleValueArg.getValue()).isInstanceOf(List.class); |
|
|
|
List<Map<String, Integer>> expectedList = new ArrayList<>(); |
|
|
|
expectedList.add(Map.of("test", 10)); |
|
|
|
expectedList.add(Map.of("test2", 20)); |
|
|
|
assertThat(singleValueArg.getValue()).isEqualTo(expectedList); |
|
|
|
} |
|
|
|
} |
|
|
|
|