Loading src/policy/src/main/java/eu/teraflow/policy/Serializer.java +68 −0 Original line number Diff line number Diff line Loading @@ -56,6 +56,7 @@ import eu.teraflow.policy.context.model.Device; import eu.teraflow.policy.context.model.DeviceConfig; import eu.teraflow.policy.context.model.DeviceDriverEnum; import eu.teraflow.policy.context.model.DeviceOperationalStatus; import eu.teraflow.policy.context.model.Empty; import eu.teraflow.policy.context.model.EndPoint; import eu.teraflow.policy.context.model.EndPointId; import eu.teraflow.policy.context.model.Event; Loading Loading @@ -95,11 +96,15 @@ import eu.teraflow.policy.monitoring.model.KpiValue; import eu.teraflow.policy.monitoring.model.KpiValueRange; import eu.teraflow.policy.monitoring.model.StringKpiValue; import eu.teraflow.policy.monitoring.model.SubsDescriptor; import java.util.ArrayList; import java.util.List; import java.util.stream.Collectors; import javax.inject.Singleton; import kpi_sample_types.KpiSampleTypes; import monitoring.Monitoring; import monitoring.Monitoring.AlarmID; import monitoring.Monitoring.KpiId; import monitoring.Monitoring.SubscriptionID; import policy.Policy; import policy.Policy.PolicyRuleId; import policy.PolicyAction; Loading Loading @@ -1538,6 +1543,21 @@ public class Serializer { return new KpiValueRange(minKpiValue, maxKpiValue); } public AlarmID serializeAlarmId(String alarmId) { final var builder = Monitoring.AlarmID.newBuilder(); final var serializedAlarmIdUuid = serializeUuid(alarmId); builder.setAlarmId(serializedAlarmIdUuid); return builder.build(); } public String deserialize(AlarmID serializedAlarmId) { final var serializedAlarmIdUuid = serializedAlarmId.getAlarmId(); return deserialize(serializedAlarmIdUuid); } public Monitoring.AlarmDescriptor serialize(AlarmDescriptor alarmDescriptor) { final var builder = Monitoring.AlarmDescriptor.newBuilder(); Loading Loading @@ -1637,6 +1657,21 @@ public class Serializer { return new SubsDescriptor(kpiId, samplingDurationS, samplingIntervalS, startDate, endDate); } public SubscriptionID serializeSubscriptionIdId(String subscriptionId) { final var builder = Monitoring.SubscriptionID.newBuilder(); final var serializedSubscriptionIdUuid = serializeUuid(subscriptionId); builder.setSubsId(serializedSubscriptionIdUuid); return builder.build(); } public String deserialize(SubscriptionID serializedSubscriptionId) { final var serializedSubscriptionIdUuid = serializedSubscriptionId.getSubsId(); return deserialize(serializedSubscriptionIdUuid); } public PolicyCondition.PolicyRuleCondition serialize(PolicyRuleCondition policyRuleCondition) { final var builder = PolicyCondition.PolicyRuleCondition.newBuilder(); Loading Loading @@ -1908,6 +1943,28 @@ public class Serializer { return new Kpi(kpiId, timestamp, kpiValue); } public List<Monitoring.Kpi> serialize(List<Kpi> kpis) { List<Monitoring.Kpi> serializedKpis = new ArrayList<>(); for (Kpi kpi : kpis) { final var serializedKpi = serialize(kpi); serializedKpis.add(serializedKpi); } return serializedKpis; } public List<Kpi> deserialize(List<Monitoring.Kpi> serializedKpis) { List<Kpi> kpis = new ArrayList<>(); for (Monitoring.Kpi serializedKpi : serializedKpis) { final var kpi = deserialize(serializedKpi); kpis.add(kpi); } return kpis; } public Monitoring.KpiDescriptor serialize(KpiDescriptor kpiDescriptor) { final var builder = Monitoring.KpiDescriptor.newBuilder(); Loading Loading @@ -2130,6 +2187,17 @@ public class Serializer { deviceEndPoints); } public ContextOuterClass.Empty serializeEmpty(Empty empty) { final var builder = ContextOuterClass.Empty.newBuilder(); return builder.build(); } public Empty deserializeEmpty(ContextOuterClass.Empty serializedEmpty) { return new Empty(); } public Uuid serializeUuid(String uuid) { return Uuid.newBuilder().setUuid(uuid).build(); } Loading src/policy/src/main/java/eu/teraflow/policy/context/model/Empty.java 0 → 100644 +24 −0 Original line number Diff line number Diff line /* * Copyright 2021-2023 H2020 TeraFlow (https://www.teraflow-h2020.eu/) * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package eu.teraflow.policy.context.model; public class Empty { public Empty() { // Empty constructor to represent the Empty rpc message of context service } } src/policy/src/test/java/eu/teraflow/policy/SerializerTest.java +157 −2 Original line number Diff line number Diff line Loading @@ -57,6 +57,7 @@ import eu.teraflow.policy.context.model.Device; import eu.teraflow.policy.context.model.DeviceConfig; import eu.teraflow.policy.context.model.DeviceDriverEnum; import eu.teraflow.policy.context.model.DeviceOperationalStatus; import eu.teraflow.policy.context.model.Empty; import eu.teraflow.policy.context.model.EndPoint; import eu.teraflow.policy.context.model.EndPointId; import eu.teraflow.policy.context.model.Event; Loading Loading @@ -2317,6 +2318,35 @@ class SerializerTest { assertThat(numericalOperator).isEqualTo(expectedNumericalOperator); } @Test void shouldSerializeSubscriptionId() { final var subscriptionId = "subscriptionId"; final var subscriptionIdUuid = serializer.serializeUuid(subscriptionId); final var expectedSubscriptionId = Monitoring.SubscriptionID.newBuilder().setSubsId(subscriptionIdUuid).build(); final var serializedSubscriptionId = serializer.serializeSubscriptionIdId(subscriptionId); assertThat(serializedSubscriptionId) .usingRecursiveComparison() .isEqualTo(expectedSubscriptionId); } @Test void shouldDeserializeSubscriptionId() { final var expectedSubscriptionId = "expectedSubscriptionId"; final var serializedSubscriptionIdUuid = serializer.serializeUuid(expectedSubscriptionId); final var serializedSubscriptionId = Monitoring.SubscriptionID.newBuilder().setSubsId(serializedSubscriptionIdUuid).build(); final var subscriptionId = serializer.deserialize(serializedSubscriptionId); assertThat(subscriptionId).isEqualTo(expectedSubscriptionId); } @ParameterizedTest @MethodSource("provideNumericalOperator") void shouldSerializePolicyRuleConditionGivenMultipleNumericalOperators( Loading Loading @@ -2367,7 +2397,7 @@ class SerializerTest { @ParameterizedTest @MethodSource("provideKpiValues") void shouldSerializeKpiValues(KpiValue kpiValue, Monitoring.KpiValue expectedKpiValue) { void shouldSerializeKpiValues(KpiValue<?> kpiValue, Monitoring.KpiValue expectedKpiValue) { final var serializedKpiValue = serializer.serialize(kpiValue); assertThat(serializedKpiValue).isEqualTo(expectedKpiValue); Loading @@ -2376,7 +2406,7 @@ class SerializerTest { @ParameterizedTest @MethodSource("provideKpiValues") void shouldDeserializeKpiValues( KpiValue expectedKpiValue, Monitoring.KpiValue serializedKpiValue) { KpiValue<?> expectedKpiValue, Monitoring.KpiValue serializedKpiValue) { final var kpiValue = serializer.deserialize(serializedKpiValue); assertThat(kpiValue).usingRecursiveComparison().isEqualTo(expectedKpiValue); Loading Loading @@ -2556,6 +2586,32 @@ class SerializerTest { .isEqualTo(expectedKpiValueRange.getKpiMaxValue()); } @Test void shouldSerializeAlarmId() { final var alarmId = "alarmId"; final var alarmIdUuid = serializer.serializeUuid(alarmId); final var expectedAlarmId = Monitoring.AlarmID.newBuilder().setAlarmId(alarmIdUuid).build(); final var serializedAlarmId = serializer.serializeAlarmId(alarmId); assertThat(serializedAlarmId).usingRecursiveComparison().isEqualTo(expectedAlarmId); } @Test void shouldDeserializeAlarmId() { final var expectedAlarmId = "expectedAlarmId"; final var serializedAlarmIdUuid = serializer.serializeUuid(expectedAlarmId); final var serializedAlarmId = Monitoring.KpiId.newBuilder().setKpiId(serializedAlarmIdUuid).build(); final var alarmId = serializer.deserialize(serializedAlarmId); assertThat(alarmId).isEqualTo(expectedAlarmId); } @Test void shouldSerializeAlarmDescriptor() { final var alarmDescription = "alarmDescription"; Loading Loading @@ -3091,6 +3147,84 @@ class SerializerTest { assertThat(kpi).usingRecursiveComparison().isEqualTo(expectedKpi); } @Test void shouldSerializeKpisList() { final var expectedKpiIdA = "expectedKpiIdA"; final var expectedTimestampA = "expectedTimestampA"; final var expectedKpiValueA = new FloatKpiValue(643.45f); final var serializedKpiIdA = serializer.serializeKpiId(expectedKpiIdA); final var serializedKpiValueA = serializer.serialize(expectedKpiValueA); final var kpiA = new Kpi(expectedKpiIdA, expectedTimestampA, expectedKpiValueA); final var expectedKpiIdB = "expectedKpiIdB"; final var expectedTimestampB = "expectedTimestampB"; final var expectedKpiValueB = new IntegerKpiValue(32); final var serializedKpiIdB = serializer.serializeKpiId(expectedKpiIdB); final var serializedKpiValueB = serializer.serialize(expectedKpiValueB); final var kpiB = new Kpi(expectedKpiIdB, expectedTimestampB, expectedKpiValueB); final var kpis = List.of(kpiA, kpiB); final var expectedKpiA = Monitoring.Kpi.newBuilder() .setKpiId(serializedKpiIdA) .setTimestamp(expectedTimestampA) .setKpiValue(serializedKpiValueA) .build(); final var expectedKpiB = Monitoring.Kpi.newBuilder() .setKpiId(serializedKpiIdB) .setTimestamp(expectedTimestampB) .setKpiValue(serializedKpiValueB) .build(); final var expectedKpis = List.of(expectedKpiA, expectedKpiB); final var serializedKpis = serializer.serialize(kpis); assertThat(serializedKpis).usingRecursiveComparison().isEqualTo(expectedKpis); } @Test void shouldDeserializeKpisList() { final var expectedKpiIdA = "expectedKpiIdA"; final var expectedTimestampA = "expectedTimestampA"; final var expectedKpiValueA = new FloatKpiValue(643.45f); final var serializedKpiIdA = serializer.serializeKpiId(expectedKpiIdA); final var serializedKpiValueA = serializer.serialize(expectedKpiValueA); final var expectedKpiA = new Kpi(expectedKpiIdA, expectedTimestampA, expectedKpiValueA); final var expectedKpiIdB = "expectedKpiIdB"; final var expectedTimestampB = "expectedTimestampB"; final var expectedKpiValueB = new IntegerKpiValue(32); final var serializedKpiIdB = serializer.serializeKpiId(expectedKpiIdB); final var serializedKpiValueB = serializer.serialize(expectedKpiValueB); final var expectedKpiB = new Kpi(expectedKpiIdB, expectedTimestampB, expectedKpiValueB); final var expectedKpis = List.of(expectedKpiA, expectedKpiB); final var serializedKpiA = Monitoring.Kpi.newBuilder() .setKpiId(serializedKpiIdA) .setTimestamp(expectedTimestampA) .setKpiValue(serializedKpiValueA) .build(); final var serializedKpiB = Monitoring.Kpi.newBuilder() .setKpiId(serializedKpiIdB) .setTimestamp(expectedTimestampB) .setKpiValue(serializedKpiValueB) .build(); final var serializedKpis = List.of(serializedKpiA, serializedKpiB); final var kpis = serializer.deserialize(serializedKpis); assertThat(kpis).usingRecursiveComparison().isEqualTo(expectedKpis); } @Test void shouldSerializeKpiDescriptor() { final var expectedKpiDescription = "expectedKpiDescription"; Loading Loading @@ -3581,6 +3715,27 @@ class SerializerTest { assertThat(device).usingRecursiveComparison().isEqualTo(expectedDevice); } @Test void shouldSerializeEmpty() { final var empty = new Empty(); final var expectedEmpty = ContextOuterClass.Empty.newBuilder().build(); final var serializeEmpty = serializer.serializeEmpty(empty); assertThat(serializeEmpty).isEqualTo(expectedEmpty); } @Test void shouldDeserializeEmpty() { final var expectedEmpty = new Empty(); final var serializedEmpty = serializer.serializeEmpty(expectedEmpty); final var empty = serializer.deserializeEmpty(serializedEmpty); assertThat(empty).usingRecursiveComparison().isEqualTo(expectedEmpty); } @Test void shouldSerializeUuid() { final var expectedUuid = "uuid"; Loading Loading
src/policy/src/main/java/eu/teraflow/policy/Serializer.java +68 −0 Original line number Diff line number Diff line Loading @@ -56,6 +56,7 @@ import eu.teraflow.policy.context.model.Device; import eu.teraflow.policy.context.model.DeviceConfig; import eu.teraflow.policy.context.model.DeviceDriverEnum; import eu.teraflow.policy.context.model.DeviceOperationalStatus; import eu.teraflow.policy.context.model.Empty; import eu.teraflow.policy.context.model.EndPoint; import eu.teraflow.policy.context.model.EndPointId; import eu.teraflow.policy.context.model.Event; Loading Loading @@ -95,11 +96,15 @@ import eu.teraflow.policy.monitoring.model.KpiValue; import eu.teraflow.policy.monitoring.model.KpiValueRange; import eu.teraflow.policy.monitoring.model.StringKpiValue; import eu.teraflow.policy.monitoring.model.SubsDescriptor; import java.util.ArrayList; import java.util.List; import java.util.stream.Collectors; import javax.inject.Singleton; import kpi_sample_types.KpiSampleTypes; import monitoring.Monitoring; import monitoring.Monitoring.AlarmID; import monitoring.Monitoring.KpiId; import monitoring.Monitoring.SubscriptionID; import policy.Policy; import policy.Policy.PolicyRuleId; import policy.PolicyAction; Loading Loading @@ -1538,6 +1543,21 @@ public class Serializer { return new KpiValueRange(minKpiValue, maxKpiValue); } public AlarmID serializeAlarmId(String alarmId) { final var builder = Monitoring.AlarmID.newBuilder(); final var serializedAlarmIdUuid = serializeUuid(alarmId); builder.setAlarmId(serializedAlarmIdUuid); return builder.build(); } public String deserialize(AlarmID serializedAlarmId) { final var serializedAlarmIdUuid = serializedAlarmId.getAlarmId(); return deserialize(serializedAlarmIdUuid); } public Monitoring.AlarmDescriptor serialize(AlarmDescriptor alarmDescriptor) { final var builder = Monitoring.AlarmDescriptor.newBuilder(); Loading Loading @@ -1637,6 +1657,21 @@ public class Serializer { return new SubsDescriptor(kpiId, samplingDurationS, samplingIntervalS, startDate, endDate); } public SubscriptionID serializeSubscriptionIdId(String subscriptionId) { final var builder = Monitoring.SubscriptionID.newBuilder(); final var serializedSubscriptionIdUuid = serializeUuid(subscriptionId); builder.setSubsId(serializedSubscriptionIdUuid); return builder.build(); } public String deserialize(SubscriptionID serializedSubscriptionId) { final var serializedSubscriptionIdUuid = serializedSubscriptionId.getSubsId(); return deserialize(serializedSubscriptionIdUuid); } public PolicyCondition.PolicyRuleCondition serialize(PolicyRuleCondition policyRuleCondition) { final var builder = PolicyCondition.PolicyRuleCondition.newBuilder(); Loading Loading @@ -1908,6 +1943,28 @@ public class Serializer { return new Kpi(kpiId, timestamp, kpiValue); } public List<Monitoring.Kpi> serialize(List<Kpi> kpis) { List<Monitoring.Kpi> serializedKpis = new ArrayList<>(); for (Kpi kpi : kpis) { final var serializedKpi = serialize(kpi); serializedKpis.add(serializedKpi); } return serializedKpis; } public List<Kpi> deserialize(List<Monitoring.Kpi> serializedKpis) { List<Kpi> kpis = new ArrayList<>(); for (Monitoring.Kpi serializedKpi : serializedKpis) { final var kpi = deserialize(serializedKpi); kpis.add(kpi); } return kpis; } public Monitoring.KpiDescriptor serialize(KpiDescriptor kpiDescriptor) { final var builder = Monitoring.KpiDescriptor.newBuilder(); Loading Loading @@ -2130,6 +2187,17 @@ public class Serializer { deviceEndPoints); } public ContextOuterClass.Empty serializeEmpty(Empty empty) { final var builder = ContextOuterClass.Empty.newBuilder(); return builder.build(); } public Empty deserializeEmpty(ContextOuterClass.Empty serializedEmpty) { return new Empty(); } public Uuid serializeUuid(String uuid) { return Uuid.newBuilder().setUuid(uuid).build(); } Loading
src/policy/src/main/java/eu/teraflow/policy/context/model/Empty.java 0 → 100644 +24 −0 Original line number Diff line number Diff line /* * Copyright 2021-2023 H2020 TeraFlow (https://www.teraflow-h2020.eu/) * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package eu.teraflow.policy.context.model; public class Empty { public Empty() { // Empty constructor to represent the Empty rpc message of context service } }
src/policy/src/test/java/eu/teraflow/policy/SerializerTest.java +157 −2 Original line number Diff line number Diff line Loading @@ -57,6 +57,7 @@ import eu.teraflow.policy.context.model.Device; import eu.teraflow.policy.context.model.DeviceConfig; import eu.teraflow.policy.context.model.DeviceDriverEnum; import eu.teraflow.policy.context.model.DeviceOperationalStatus; import eu.teraflow.policy.context.model.Empty; import eu.teraflow.policy.context.model.EndPoint; import eu.teraflow.policy.context.model.EndPointId; import eu.teraflow.policy.context.model.Event; Loading Loading @@ -2317,6 +2318,35 @@ class SerializerTest { assertThat(numericalOperator).isEqualTo(expectedNumericalOperator); } @Test void shouldSerializeSubscriptionId() { final var subscriptionId = "subscriptionId"; final var subscriptionIdUuid = serializer.serializeUuid(subscriptionId); final var expectedSubscriptionId = Monitoring.SubscriptionID.newBuilder().setSubsId(subscriptionIdUuid).build(); final var serializedSubscriptionId = serializer.serializeSubscriptionIdId(subscriptionId); assertThat(serializedSubscriptionId) .usingRecursiveComparison() .isEqualTo(expectedSubscriptionId); } @Test void shouldDeserializeSubscriptionId() { final var expectedSubscriptionId = "expectedSubscriptionId"; final var serializedSubscriptionIdUuid = serializer.serializeUuid(expectedSubscriptionId); final var serializedSubscriptionId = Monitoring.SubscriptionID.newBuilder().setSubsId(serializedSubscriptionIdUuid).build(); final var subscriptionId = serializer.deserialize(serializedSubscriptionId); assertThat(subscriptionId).isEqualTo(expectedSubscriptionId); } @ParameterizedTest @MethodSource("provideNumericalOperator") void shouldSerializePolicyRuleConditionGivenMultipleNumericalOperators( Loading Loading @@ -2367,7 +2397,7 @@ class SerializerTest { @ParameterizedTest @MethodSource("provideKpiValues") void shouldSerializeKpiValues(KpiValue kpiValue, Monitoring.KpiValue expectedKpiValue) { void shouldSerializeKpiValues(KpiValue<?> kpiValue, Monitoring.KpiValue expectedKpiValue) { final var serializedKpiValue = serializer.serialize(kpiValue); assertThat(serializedKpiValue).isEqualTo(expectedKpiValue); Loading @@ -2376,7 +2406,7 @@ class SerializerTest { @ParameterizedTest @MethodSource("provideKpiValues") void shouldDeserializeKpiValues( KpiValue expectedKpiValue, Monitoring.KpiValue serializedKpiValue) { KpiValue<?> expectedKpiValue, Monitoring.KpiValue serializedKpiValue) { final var kpiValue = serializer.deserialize(serializedKpiValue); assertThat(kpiValue).usingRecursiveComparison().isEqualTo(expectedKpiValue); Loading Loading @@ -2556,6 +2586,32 @@ class SerializerTest { .isEqualTo(expectedKpiValueRange.getKpiMaxValue()); } @Test void shouldSerializeAlarmId() { final var alarmId = "alarmId"; final var alarmIdUuid = serializer.serializeUuid(alarmId); final var expectedAlarmId = Monitoring.AlarmID.newBuilder().setAlarmId(alarmIdUuid).build(); final var serializedAlarmId = serializer.serializeAlarmId(alarmId); assertThat(serializedAlarmId).usingRecursiveComparison().isEqualTo(expectedAlarmId); } @Test void shouldDeserializeAlarmId() { final var expectedAlarmId = "expectedAlarmId"; final var serializedAlarmIdUuid = serializer.serializeUuid(expectedAlarmId); final var serializedAlarmId = Monitoring.KpiId.newBuilder().setKpiId(serializedAlarmIdUuid).build(); final var alarmId = serializer.deserialize(serializedAlarmId); assertThat(alarmId).isEqualTo(expectedAlarmId); } @Test void shouldSerializeAlarmDescriptor() { final var alarmDescription = "alarmDescription"; Loading Loading @@ -3091,6 +3147,84 @@ class SerializerTest { assertThat(kpi).usingRecursiveComparison().isEqualTo(expectedKpi); } @Test void shouldSerializeKpisList() { final var expectedKpiIdA = "expectedKpiIdA"; final var expectedTimestampA = "expectedTimestampA"; final var expectedKpiValueA = new FloatKpiValue(643.45f); final var serializedKpiIdA = serializer.serializeKpiId(expectedKpiIdA); final var serializedKpiValueA = serializer.serialize(expectedKpiValueA); final var kpiA = new Kpi(expectedKpiIdA, expectedTimestampA, expectedKpiValueA); final var expectedKpiIdB = "expectedKpiIdB"; final var expectedTimestampB = "expectedTimestampB"; final var expectedKpiValueB = new IntegerKpiValue(32); final var serializedKpiIdB = serializer.serializeKpiId(expectedKpiIdB); final var serializedKpiValueB = serializer.serialize(expectedKpiValueB); final var kpiB = new Kpi(expectedKpiIdB, expectedTimestampB, expectedKpiValueB); final var kpis = List.of(kpiA, kpiB); final var expectedKpiA = Monitoring.Kpi.newBuilder() .setKpiId(serializedKpiIdA) .setTimestamp(expectedTimestampA) .setKpiValue(serializedKpiValueA) .build(); final var expectedKpiB = Monitoring.Kpi.newBuilder() .setKpiId(serializedKpiIdB) .setTimestamp(expectedTimestampB) .setKpiValue(serializedKpiValueB) .build(); final var expectedKpis = List.of(expectedKpiA, expectedKpiB); final var serializedKpis = serializer.serialize(kpis); assertThat(serializedKpis).usingRecursiveComparison().isEqualTo(expectedKpis); } @Test void shouldDeserializeKpisList() { final var expectedKpiIdA = "expectedKpiIdA"; final var expectedTimestampA = "expectedTimestampA"; final var expectedKpiValueA = new FloatKpiValue(643.45f); final var serializedKpiIdA = serializer.serializeKpiId(expectedKpiIdA); final var serializedKpiValueA = serializer.serialize(expectedKpiValueA); final var expectedKpiA = new Kpi(expectedKpiIdA, expectedTimestampA, expectedKpiValueA); final var expectedKpiIdB = "expectedKpiIdB"; final var expectedTimestampB = "expectedTimestampB"; final var expectedKpiValueB = new IntegerKpiValue(32); final var serializedKpiIdB = serializer.serializeKpiId(expectedKpiIdB); final var serializedKpiValueB = serializer.serialize(expectedKpiValueB); final var expectedKpiB = new Kpi(expectedKpiIdB, expectedTimestampB, expectedKpiValueB); final var expectedKpis = List.of(expectedKpiA, expectedKpiB); final var serializedKpiA = Monitoring.Kpi.newBuilder() .setKpiId(serializedKpiIdA) .setTimestamp(expectedTimestampA) .setKpiValue(serializedKpiValueA) .build(); final var serializedKpiB = Monitoring.Kpi.newBuilder() .setKpiId(serializedKpiIdB) .setTimestamp(expectedTimestampB) .setKpiValue(serializedKpiValueB) .build(); final var serializedKpis = List.of(serializedKpiA, serializedKpiB); final var kpis = serializer.deserialize(serializedKpis); assertThat(kpis).usingRecursiveComparison().isEqualTo(expectedKpis); } @Test void shouldSerializeKpiDescriptor() { final var expectedKpiDescription = "expectedKpiDescription"; Loading Loading @@ -3581,6 +3715,27 @@ class SerializerTest { assertThat(device).usingRecursiveComparison().isEqualTo(expectedDevice); } @Test void shouldSerializeEmpty() { final var empty = new Empty(); final var expectedEmpty = ContextOuterClass.Empty.newBuilder().build(); final var serializeEmpty = serializer.serializeEmpty(empty); assertThat(serializeEmpty).isEqualTo(expectedEmpty); } @Test void shouldDeserializeEmpty() { final var expectedEmpty = new Empty(); final var serializedEmpty = serializer.serializeEmpty(expectedEmpty); final var empty = serializer.deserializeEmpty(serializedEmpty); assertThat(empty).usingRecursiveComparison().isEqualTo(expectedEmpty); } @Test void shouldSerializeUuid() { final var expectedUuid = "uuid"; Loading