Skip to content
Snippets Groups Projects
Commit a89d8deb authored by Lorenz Boguhn's avatar Lorenz Boguhn Committed by Sören Henning
Browse files

Move test from titan commons

parent 19a56e0b
Branches
Tags
1 merge request!266Move Titan classes to Theodolite
Showing
with 589 additions and 0 deletions
package rocks.theodolite.commons.common.configuration;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertNull;
import org.apache.commons.configuration2.Configuration;
import org.junit.Rule;
import org.junit.Test;
import org.junit.contrib.java.lang.system.EnvironmentVariables;
import rocks.theodolite.commons.commons.configuration.NameResolvingEnvironmentConfiguration;
public class NameResolvingEnvironmentConfigurationTest {
private static final String PROPERTY_FILES_KEY = "my.env.var";
private static final String ENV_VAR_KEY = "MY_ENV_VAR";
private static final String STRING_VALUE = "value";
private static final String STRING_VALUE_2 = "value2";
private static final int INT_VALUE = 7;
@Rule
public final EnvironmentVariables environmentVariables = new EnvironmentVariables();
@Test
public void testHelperLibrary() {
this.environmentVariables.clear("name");
this.environmentVariables.set("name", STRING_VALUE);
assertEquals("value", System.getenv("name"));
}
@Test
public void testGetUsingEnvVarFormat() {
this.environmentVariables.clear(ENV_VAR_KEY);
this.environmentVariables.set(ENV_VAR_KEY, STRING_VALUE);
final Configuration config = new NameResolvingEnvironmentConfiguration();
final String result = config.getString(ENV_VAR_KEY);
assertEquals(STRING_VALUE, result);
}
@Test
public void testGetUsingPropertiesFormat() {
this.environmentVariables.clear(ENV_VAR_KEY);
this.environmentVariables.set(ENV_VAR_KEY, STRING_VALUE);
final Configuration config = new NameResolvingEnvironmentConfiguration();
final String result = config.getString(PROPERTY_FILES_KEY);
assertEquals(STRING_VALUE, result);
}
@Test
public void testGetOfNumber() {
this.environmentVariables.clear(ENV_VAR_KEY);
this.environmentVariables.set(ENV_VAR_KEY, String.valueOf(INT_VALUE));
final Configuration config = new NameResolvingEnvironmentConfiguration();
final int result = config.getInt(PROPERTY_FILES_KEY);
assertEquals(INT_VALUE, result);
}
@Test
public void testGetOfBothExisting() {
this.environmentVariables.clear(ENV_VAR_KEY, PROPERTY_FILES_KEY);
this.environmentVariables.set(ENV_VAR_KEY, STRING_VALUE);
this.environmentVariables.set(PROPERTY_FILES_KEY, STRING_VALUE_2);
final Configuration config = new NameResolvingEnvironmentConfiguration();
final String result = config.getString(PROPERTY_FILES_KEY);
assertEquals(STRING_VALUE_2, result);
}
@Test
public void testGetNonExistingUsingEnvVarFormat() {
this.environmentVariables.clear(ENV_VAR_KEY);
final Configuration config = new NameResolvingEnvironmentConfiguration();
final String result = config.getString(ENV_VAR_KEY);
assertNull(result);
}
@Test
public void testGetNonExistingUsingPropertiesFormat() {
this.environmentVariables.clear(ENV_VAR_KEY);
final Configuration config = new NameResolvingEnvironmentConfiguration();
final String result = config.getString(PROPERTY_FILES_KEY);
assertNull(result);
}
@Test
public void testFormatKeyAsEnvVariable() {
assertEquals(ENV_VAR_KEY, NameResolvingEnvironmentConfiguration.formatKeyAsEnvVariable(PROPERTY_FILES_KEY));
}
}
package rocks.theodolite.commons.model.sensorregistry;
import java.util.List;
import java.util.stream.Collectors;
public final class ExampleSensors {
private static final SensorRegistry REGISTRY;
static {
final MutableSensorRegistry sensorRegistry = new MutableSensorRegistry("root");
final MutableAggregatedSensor topLevel = sensorRegistry.getTopLevelSensor();
final MutableAggregatedSensor comcent = topLevel.addChildAggregatedSensor("comcent");
final MutableAggregatedSensor server1 = comcent.addChildAggregatedSensor("comcent.server1");
final MachineSensor server1pw1 = server1.addChildMachineSensor("comcent.server1.pw1");
final MachineSensor server1pw2 = server1.addChildMachineSensor("comcent.server1.pw2");
final MachineSensor server1pw3 = server1.addChildMachineSensor("comcent.server1.pw3");
final MutableAggregatedSensor server2 = comcent.addChildAggregatedSensor("comcent.server2");
final MachineSensor server2pw1 = server2.addChildMachineSensor("comcent.server2.pw1");
final MachineSensor server2pw2 = server2.addChildMachineSensor("comcent.server2.pw2");
REGISTRY = ImmutableSensorRegistry.copyOf(sensorRegistry);
}
private ExampleSensors() {}
public static List<String> machineSensorNames() {
return REGISTRY.getMachineSensors().stream().map(s -> s.getIdentifier())
.collect(Collectors.toList());
}
public static SensorRegistry registry() {
return REGISTRY;
}
}
package rocks.theodolite.commons.model.sensorregistry;
import static org.junit.Assert.assertFalse;
import static org.junit.Assert.assertTrue;
import org.junit.Test;
public class ImmutableSensorRegistryTest {
@Test
public void testEquals() {
final ImmutableSensorRegistry sensorRegistry1 =
ImmutableSensorRegistry.copyOf(this.getSensorRegistry());
final ImmutableSensorRegistry sensorRegistry2 =
ImmutableSensorRegistry.copyOf(this.getSensorRegistry());
assertFalse(sensorRegistry1 == sensorRegistry2);
assertTrue(sensorRegistry1.equals(sensorRegistry2));
assertTrue(sensorRegistry2.equals(sensorRegistry1));
}
@Test
public void testEqualsWithDifferentNames() {
final ImmutableSensorRegistry sensorRegistry1 =
ImmutableSensorRegistry.copyOf(this.getSensorRegistry());
final ImmutableSensorRegistry sensorRegistry2 =
ImmutableSensorRegistry.copyOf(this.getSensorRegistryWithDifferentNames());
assertFalse(sensorRegistry1 == sensorRegistry2);
assertTrue(sensorRegistry1.equals(sensorRegistry2));
assertTrue(sensorRegistry2.equals(sensorRegistry1));
}
@Test
public void testNotEquals() {
final ImmutableSensorRegistry sensorRegistry1 =
ImmutableSensorRegistry.copyOf(this.getSensorRegistry());
final ImmutableSensorRegistry sensorRegistry2 =
ImmutableSensorRegistry.copyOf(this.getOtherSensorRegistry());
assertFalse(sensorRegistry1 == sensorRegistry2);
assertFalse(sensorRegistry1.equals(sensorRegistry2));
assertFalse(sensorRegistry2.equals(sensorRegistry1));
}
@Test
public void testEqualHashCodes() {
final ImmutableSensorRegistry sensorRegistry1 =
ImmutableSensorRegistry.copyOf(this.getSensorRegistry());
final ImmutableSensorRegistry sensorRegistry2 =
ImmutableSensorRegistry.copyOf(this.getSensorRegistry());
assertFalse(sensorRegistry1 == sensorRegistry2);
assertTrue(sensorRegistry1.hashCode() == sensorRegistry2.hashCode());
}
@Test
public void testEqualHashCodesWithDifferentNames() {
final ImmutableSensorRegistry sensorRegistry1 =
ImmutableSensorRegistry.copyOf(this.getSensorRegistry());
final ImmutableSensorRegistry sensorRegistry2 =
ImmutableSensorRegistry.copyOf(this.getSensorRegistryWithDifferentNames());
assertFalse(sensorRegistry1 == sensorRegistry2);
assertTrue(sensorRegistry1.hashCode() == sensorRegistry2.hashCode());
}
@Test
public void testNotEqualHashCodes() {
final ImmutableSensorRegistry sensorRegistry1 =
ImmutableSensorRegistry.copyOf(this.getSensorRegistry());
final ImmutableSensorRegistry sensorRegistry2 =
ImmutableSensorRegistry.copyOf(this.getOtherSensorRegistry());
assertFalse(sensorRegistry1 == sensorRegistry2);
assertFalse(sensorRegistry1.hashCode() == sensorRegistry2.hashCode());
}
private MutableSensorRegistry getSensorRegistry() {
final MutableSensorRegistry sensorRegistry = new MutableSensorRegistry("root", "Root");
final MutableAggregatedSensor topLevel = sensorRegistry.getTopLevelSensor();
topLevel.addChildMachineSensor("child-1", "Child 1");
final MutableAggregatedSensor aggregatedSensor =
topLevel.addChildAggregatedSensor("child-2", "Child 2");
aggregatedSensor.addChildMachineSensor("grandchild-1", "Grandchild 1");
aggregatedSensor.addChildMachineSensor("grandchild-2", "Grandchild 2");
return sensorRegistry;
}
private MutableSensorRegistry getSensorRegistryWithDifferentNames() {
final MutableSensorRegistry sensorRegistry = new MutableSensorRegistry("root", "Root");
final MutableAggregatedSensor topLevel = sensorRegistry.getTopLevelSensor();
topLevel.addChildMachineSensor("child-1", "Child 1 Alternative");
final MutableAggregatedSensor aggregatedSensor =
topLevel.addChildAggregatedSensor("child-2", "Child 2");
aggregatedSensor.addChildMachineSensor("grandchild-1", "Grandchild 1");
aggregatedSensor.addChildMachineSensor("grandchild-2", "Grandchild 2 Alternative");
return sensorRegistry;
}
private MutableSensorRegistry getOtherSensorRegistry() {
final MutableSensorRegistry sensorRegistry = new MutableSensorRegistry("root", "Root");
final MutableAggregatedSensor topLevel = sensorRegistry.getTopLevelSensor();
topLevel.addChildMachineSensor("child-1", "Child 1");
final MutableAggregatedSensor aggregatedSensor =
topLevel.addChildAggregatedSensor("child-2", "Child 2");
aggregatedSensor.addChildMachineSensor("grandchild-1", "Grandchild 1");
aggregatedSensor.addChildMachineSensor("grandchild-2", "Grandchild 2");
aggregatedSensor.addChildMachineSensor("grandchild-3", "Grandchild 3");
return sensorRegistry;
}
}
package rocks.theodolite.commons.model.sensorregistry;
/**
* Helper class to allow tests in other packages access {@link MachineSensorImpl} class objects.
*/
public final class MaschineSensorImplExposer {
public static final Class<? extends MachineSensor> MACHINE_SENSOR_IMPL_CLASS =
MachineSensorImpl.class;
private MaschineSensorImplExposer() {}
}
package rocks.theodolite.commons.model.sensorregistry;
import static org.junit.Assert.assertFalse;
import static org.junit.Assert.assertTrue;
import java.util.Optional;
import org.junit.Test;
public class MutableSensorRegistryTest {
@Test
public void parentOfTopLevelShouldBeNotPresent() {
final MutableSensorRegistry sensorRegistry = new MutableSensorRegistry("root");
final Optional<AggregatedSensor> parent = sensorRegistry.getTopLevelSensor().getParent();
assertFalse(parent.isPresent());
}
@Test
public void testEquals() {
final MutableSensorRegistry sensorRegistry1 = this.getSensorRegistry();
final MutableSensorRegistry sensorRegistry2 = this.getSensorRegistry();
assertFalse(sensorRegistry1 == sensorRegistry2);
assertTrue(sensorRegistry1.equals(sensorRegistry2));
assertTrue(sensorRegistry2.equals(sensorRegistry1));
}
@Test
public void testEqualsWithDifferentNames() {
final MutableSensorRegistry sensorRegistry1 = this.getSensorRegistry();
final MutableSensorRegistry sensorRegistry2 = this.getSensorRegistryWithDifferentNames();
assertFalse(sensorRegistry1 == sensorRegistry2);
assertTrue(sensorRegistry1.equals(sensorRegistry2));
assertTrue(sensorRegistry2.equals(sensorRegistry1));
}
@Test
public void testNotEquals() {
final MutableSensorRegistry sensorRegistry1 = this.getSensorRegistry();
final MutableSensorRegistry sensorRegistry2 = this.getOtherSensorRegistry();
assertFalse(sensorRegistry1 == sensorRegistry2);
assertFalse(sensorRegistry1.equals(sensorRegistry2));
assertFalse(sensorRegistry2.equals(sensorRegistry1));
}
@Test
public void testEqualHashCodes() {
final MutableSensorRegistry sensorRegistry1 = this.getSensorRegistry();
final MutableSensorRegistry sensorRegistry2 = this.getSensorRegistry();
assertFalse(sensorRegistry1 == sensorRegistry2);
assertTrue(sensorRegistry1.hashCode() == sensorRegistry2.hashCode());
}
@Test
public void testEqualHashCodesWithDifferentNames() {
final MutableSensorRegistry sensorRegistry1 = this.getSensorRegistry();
final MutableSensorRegistry sensorRegistry2 = this.getSensorRegistryWithDifferentNames();
assertFalse(sensorRegistry1 == sensorRegistry2);
assertTrue(sensorRegistry1.hashCode() == sensorRegistry2.hashCode());
}
@Test
public void testNotEqualHashCodes() {
final MutableSensorRegistry sensorRegistry1 = this.getSensorRegistry();
final MutableSensorRegistry sensorRegistry2 = this.getOtherSensorRegistry();
assertFalse(sensorRegistry1 == sensorRegistry2);
assertFalse(sensorRegistry1.hashCode() == sensorRegistry2.hashCode());
}
private MutableSensorRegistry getSensorRegistry() {
final MutableSensorRegistry sensorRegistry = new MutableSensorRegistry("root", "Root");
final MutableAggregatedSensor topLevel = sensorRegistry.getTopLevelSensor();
topLevel.addChildMachineSensor("child-1", "Child 1");
final MutableAggregatedSensor aggregatedSensor =
topLevel.addChildAggregatedSensor("child-2", "Child 2");
aggregatedSensor.addChildMachineSensor("grandchild-1", "Grandchild 1");
aggregatedSensor.addChildMachineSensor("grandchild-2", "Grandchild 2");
return sensorRegistry;
}
private MutableSensorRegistry getSensorRegistryWithDifferentNames() {
final MutableSensorRegistry sensorRegistry = new MutableSensorRegistry("root", "Root");
final MutableAggregatedSensor topLevel = sensorRegistry.getTopLevelSensor();
topLevel.addChildMachineSensor("child-1", "Child 1 Alternative");
final MutableAggregatedSensor aggregatedSensor =
topLevel.addChildAggregatedSensor("child-2", "Child 2");
aggregatedSensor.addChildMachineSensor("grandchild-1", "Grandchild 1");
aggregatedSensor.addChildMachineSensor("grandchild-2", "Grandchild 2 Alternative");
return sensorRegistry;
}
private MutableSensorRegistry getOtherSensorRegistry() {
final MutableSensorRegistry sensorRegistry = new MutableSensorRegistry("root", "Root");
final MutableAggregatedSensor topLevel = sensorRegistry.getTopLevelSensor();
topLevel.addChildMachineSensor("child-1", "Child 1");
final MutableAggregatedSensor aggregatedSensor =
topLevel.addChildAggregatedSensor("child-2", "Child 2");
aggregatedSensor.addChildMachineSensor("grandchild-1", "Grandchild 1");
aggregatedSensor.addChildMachineSensor("grandchild-2", "Grandchild 2");
aggregatedSensor.addChildMachineSensor("grandchild-3", "Grandchild 3");
return sensorRegistry;
}
}
package rocks.theodolite.commons.model.sensorregistry.serialization;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertNull;
import static org.junit.Assert.assertTrue;
import static org.junit.Assert.fail;
import java.util.List;
import org.junit.After;
import org.junit.Before;
import org.junit.Test;
import com.google.common.collect.ImmutableList;
import com.google.common.collect.Lists;
import com.google.gson.Gson;
import com.google.gson.GsonBuilder;
import rocks.theodolite.commons.model.sensorregistry.AggregatedSensor;
import rocks.theodolite.commons.model.sensorregistry.MachineSensor;
import rocks.theodolite.commons.model.sensorregistry.Sensor;
import rocks.theodolite.commons.model.sensorregistry.SensorRegistry;
public class SensorRegistryDeserializerTest {
private Gson gson;
@Before
public void setUp() throws Exception {
this.gson = new GsonBuilder().registerTypeAdapter(SensorRegistry.class, new SensorRegistryDeserializer()).create();
}
@After
public void tearDown() throws Exception {
this.gson = null;
}
@Test
public void testEmptyRegistry() {
final String json = "";
final SensorRegistry registry = this.gson.fromJson(json, SensorRegistry.class);
assertNull(registry);
}
@Test
public void testRegistryOfWrongType() {
final String json = "[{\"identifier\": \"my-id\", \"name\": \"My Name\"}]";
final SensorRegistry registry = this.gson.fromJson(json, SensorRegistry.class);
assertEquals(registry.getTopLevelSensor().getIdentifier(), "");
assertTrue(registry.getTopLevelSensor().getChildren().isEmpty());
}
@Test
public void testRegistryWithMissingIdentifier() {
final String json = "{\"children\": []}";
final SensorRegistry registry = this.gson.fromJson(json, SensorRegistry.class);
assertEquals(registry.getTopLevelSensor().getIdentifier(), "");
assertTrue(registry.getTopLevelSensor().getChildren().isEmpty());
}
@Test
public void testRegistryWithMissingChildren() {
final String json = "{\"identifier\": \"my-root-id\", \"name\": \"My Name\"}";
final SensorRegistry registry = this.gson.fromJson(json, SensorRegistry.class);
assertEquals(registry.getTopLevelSensor().getIdentifier(), "my-root-id");
assertTrue(registry.getTopLevelSensor().getChildren().isEmpty());
}
@Test
public void testRegistryWithZeroChildren() {
final String json = "{\"identifier\": \"my-root-id\", \"name\": \"My Name\", \"children\": []}";
final SensorRegistry registry = this.gson.fromJson(json, SensorRegistry.class);
assertEquals(registry.getTopLevelSensor().getIdentifier(), "my-root-id");
assertTrue(registry.getTopLevelSensor().getChildren().isEmpty());
}
@Test
public void testRegistryWithOneGenerationChildren() {
final String json = "{\"identifier\": \"my-root-id\", \"name\": \"My Name\", \"children\": [{\"identifier\": \"child-id-1\", \"name\": \"Child 1\"}, {\"identifier\": \"child-id-2\", \"name\": \"Child 2\"}, {\"identifier\": \"child-id-3\", \"name\": \"Child 3\"}]}";
final List<String> childIdentifiers = ImmutableList.of("child-id-1", "child-id-2", "child-id-3"); // List.of() in Java <= 9
final SensorRegistry registry = this.gson.fromJson(json, SensorRegistry.class);
final AggregatedSensor topLevelSensor = registry.getTopLevelSensor();
assertEquals(topLevelSensor.getIdentifier(), "my-root-id");
final List<Sensor> childSensors = Lists.newArrayList(topLevelSensor.getChildren());
assertEquals(childSensors.size(), 3);
for (final Sensor sensor : childSensors) {
assertTrue(childIdentifiers.contains(sensor.getIdentifier()));
assertTrue(sensor instanceof MachineSensor);
}
for (final String childIdentifier : childIdentifiers) {
assertTrue(registry.getSensorForIdentifier(childIdentifier).isPresent());
}
}
@Test
public void testRegistryWithCorruptedChild() {
final String json = "{\"identifier\": \"my-root-id\", \"name\": \"My Name\", \"children\": [{\"identifier\": \"child-id-1\", \"name\": \"Child 1\"}, {\"no-identifier\": \"child-id-2\", \"name\": \"Child 2\"}]}";
final List<String> childIdentifiers = ImmutableList.of("child-id-1"); // List.of() in Java <= 9
final SensorRegistry registry = this.gson.fromJson(json, SensorRegistry.class);
final AggregatedSensor topLevelSensor = registry.getTopLevelSensor();
assertEquals(topLevelSensor.getIdentifier(), "my-root-id");
final List<Sensor> childSensors = Lists.newArrayList(topLevelSensor.getChildren());
assertEquals(childSensors.size(), 1);
for (final Sensor sensor : childSensors) {
assertTrue(childIdentifiers.contains(sensor.getIdentifier()));
assertTrue(sensor instanceof MachineSensor);
}
for (final String childIdentifier : childIdentifiers) {
assertTrue(registry.getSensorForIdentifier(childIdentifier).isPresent());
}
}
@Test
public void testRegistryWithArrayAsChild() {
final String json = "{\"identifier\": \"my-root-id\", \"name\": \"My Name\", \"children\": [{\"identifier\": \"child-id-1\", \"name\": \"Child 1\"}, [{\"identifier\": \"child-id-2\", \"name\": \"Child 2\"}]]}";
final List<String> childIdentifiers = ImmutableList.of("child-id-1"); // List.of() in Java <= 9
final SensorRegistry registry = this.gson.fromJson(json, SensorRegistry.class);
final AggregatedSensor topLevelSensor = registry.getTopLevelSensor();
assertEquals(topLevelSensor.getIdentifier(), "my-root-id");
final List<Sensor> childSensors = Lists.newArrayList(topLevelSensor.getChildren());
assertEquals(childSensors.size(), 1);
for (final Sensor sensor : childSensors) {
assertTrue(childIdentifiers.contains(sensor.getIdentifier()));
assertTrue(sensor instanceof MachineSensor);
}
for (final String childIdentifier : childIdentifiers) {
assertTrue(registry.getSensorForIdentifier(childIdentifier).isPresent());
}
}
@Test
public void testRegistryWithTwoGenerationChildren() {
final String json = "{\"identifier\": \"my-root-id\", \"name\": \"My Name\", \"children\": [{\"identifier\": \"child-id-1\", \"name\": \"Child 1\", \"children\": [{\"identifier\": \"child-id-1-1\", \"name\": \"Child 1a\"}, {\"identifier\": \"child-id-1-2\", \"name\": \"Child 1b\"}, {\"identifier\": \"child-id-1-3\", \"name\": \"Child 1c\"}]}, {\"identifier\": \"child-id-2\", \"name\": \"Child 2\"}]}";
final List<String> childIdentifiers = ImmutableList.of("child-id-1", "child-id-2"); // List.of() in Java <= 9
final List<String> grandChildIdentifiers = ImmutableList.of("child-id-1-1", "child-id-1-2", "child-id-1-3"); // List.of() in Java <= 9
final List<String> machineSensorIdentifiers = ImmutableList.of("child-id-2", "child-id-1-1", "child-id-1-2", // List.of() in Java <= 9
"child-id-1-3");
final SensorRegistry registry = this.gson.fromJson(json, SensorRegistry.class);
final AggregatedSensor topLevelSensor = registry.getTopLevelSensor();
assertEquals(topLevelSensor.getIdentifier(), "my-root-id");
final List<Sensor> childSensors = Lists.newArrayList(topLevelSensor.getChildren());
assertEquals(childSensors.size(), 2);
for (final Sensor sensor : childSensors) {
assertTrue(childIdentifiers.contains(sensor.getIdentifier()));
if (sensor.getIdentifier().equals("child-id-2")) {
assertTrue(sensor instanceof MachineSensor);
} else if (sensor.getIdentifier().equals("child-id-1")) {
assertTrue(sensor instanceof AggregatedSensor);
if (sensor instanceof AggregatedSensor) {
final AggregatedSensor aggregatedSensor = (AggregatedSensor) sensor;
final List<Sensor> grandChildSensors = Lists.newArrayList(aggregatedSensor.getChildren());
assertEquals(grandChildSensors.size(), 3);
for (final Sensor grandChildSensor : grandChildSensors) {
assertTrue(grandChildIdentifiers.contains(grandChildSensor.getIdentifier()));
assertTrue(grandChildSensor instanceof MachineSensor);
}
} else {
fail(); // Should never happen because of asserTrue check before
}
} else {
fail("Sensor is neither of type MachineSensor nor AggregatedSensor");
}
}
for (final String identifier : machineSensorIdentifiers) {
assertTrue(registry.getSensorForIdentifier(identifier).isPresent());
}
}
}
package rocks.theodolite.commons.model.sensorregistry.serialization;
import static org.junit.Assert.assertEquals;
import com.google.gson.Gson;
import com.google.gson.GsonBuilder;
import org.junit.After;
import org.junit.Before;
import org.junit.Test;
import rocks.theodolite.commons.model.sensorregistry.MaschineSensorImplExposer;
import rocks.theodolite.commons.model.sensorregistry.MutableAggregatedSensor;
import rocks.theodolite.commons.model.sensorregistry.MutableSensorRegistry;
public class SensorRegistrySerializerTest {
private Gson gson;
@Before
public void setUp() throws Exception {
this.gson = new GsonBuilder()
.registerTypeAdapter(MutableSensorRegistry.class, new SensorRegistrySerializer())
.registerTypeAdapter(MutableAggregatedSensor.class, new AggregatedSensorSerializer())
.registerTypeAdapter(MaschineSensorImplExposer.MACHINE_SENSOR_IMPL_CLASS,
new MachineSensorSerializer())
.create();
}
@After
public void tearDown() throws Exception {
this.gson = null;
}
@Test
public void testEmptySensorRegistry() {
final MutableSensorRegistry sensorRegistry = new MutableSensorRegistry("root", "Root");
final String json = this.gson.toJson(sensorRegistry);
System.out.println(json);
assertEquals(json, "{\"identifier\":\"root\",\"name\":\"Root\",\"children\":[]}");
}
@Test
public void testEmptySensorRegistryWithChildren() {
final MutableSensorRegistry sensorRegistry = new MutableSensorRegistry("root", "Root");
final MutableAggregatedSensor topLevel = sensorRegistry.getTopLevelSensor();
topLevel.addChildMachineSensor("child-1", "Child 1");
topLevel.addChildMachineSensor("child-2");
final String json = this.gson.toJson(sensorRegistry);
System.out.println(json);
assertEquals(json,
"{\"identifier\":\"root\",\"name\":\"Root\",\"children\":[{\"identifier\":\"child-1\",\"name\":\"Child 1\"},{\"identifier\":\"child-2\",\"name\":\"\"}]}");
}
@Test
public void testEmptySensorRegistryWithGrandChildren() {
final MutableSensorRegistry sensorRegistry = new MutableSensorRegistry("root", "Root");
final MutableAggregatedSensor topLevel = sensorRegistry.getTopLevelSensor();
final MutableAggregatedSensor aggregatedSensor =
topLevel.addChildAggregatedSensor("child-1", "Child 1");
aggregatedSensor.addChildMachineSensor("child-1-1", "Child 1a");
aggregatedSensor.addChildMachineSensor("child-1-2", "Child 1b");
topLevel.addChildMachineSensor("child-2", "Child 2");
final String json = this.gson.toJson(sensorRegistry);
System.out.println(json);
assertEquals(json,
"{\"identifier\":\"root\",\"name\":\"Root\",\"children\":[{\"identifier\":\"child-1\",\"name\":\"Child 1\",\"children\":[{\"identifier\":\"child-1-1\",\"name\":\"Child 1a\"},{\"identifier\":\"child-1-2\",\"name\":\"Child 1b\"}]},{\"identifier\":\"child-2\",\"name\":\"Child 2\"}]}");
}
}
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment