CC
diff --git a/src/main/java/pta/de/api/ServiceDistributionCluster.java b/src/main/java/pta/de/api/ServiceDistributionCluster.java index 62ad360..15e1097 100644 --- a/src/main/java/pta/de/api/ServiceDistributionCluster.java +++ b/src/main/java/pta/de/api/ServiceDistributionCluster.java
@@ -20,13 +20,14 @@ private String protocol; @NotEmpty - private int portApp; + private Integer portApp; - private int portHealth; + private Integer portHealth; private String description; - private ServiceDistribution() { + public ServiceDistribution() { + // public default construction } @JsonProperty @@ -90,12 +91,12 @@ } @JsonProperty - public int getPortHealth() { + public Integer getPortHealth() { return portHealth; } @JsonProperty - public void setPortHealth(int portHealth) { + public void setPortHealth(Integer portHealth) { this.portHealth = portHealth; } }
diff --git a/src/test/java/pta/de/api/ServiceDistributionClusterTest.java b/src/test/java/pta/de/api/ServiceDistributionClusterTest.java new file mode 100644 index 0000000..da7d14e --- /dev/null +++ b/src/test/java/pta/de/api/ServiceDistributionClusterTest.java
@@ -0,0 +1,64 @@ +package pta.de.api; + +import com.fasterxml.jackson.databind.ObjectMapper; +import org.junit.Test; + +import java.io.IOException; +import java.util.ArrayList; +import java.util.List; + +import static junit.framework.TestCase.assertEquals; + +public class ServiceDistributionClusterTest { + + private ServiceDistributionCluster.ServiceDistribution createDistribution( + boolean active, String name, String host, String protocol, + Integer portApp, Integer portHealth, String description) { + + ServiceDistributionCluster.ServiceDistribution sd = new ServiceDistributionCluster.ServiceDistribution(); + sd.setActive(true); + sd.setName(name); + sd.setHost(host); + sd.setProtocol(protocol); + sd.setPortApp(portApp); + sd.setPortHealth(portHealth); + sd.setDescription(description); + + return sd; + } + + @Test + public void testPojo() throws IOException { + List<ServiceDistributionCluster.ServiceDistribution> distList = new ArrayList<>(); + distList.add(createDistribution(true, "Hugo", "1.2.3.4", "httpx", + 1000, 2000, "Hugo ist toll")); + distList.add(createDistribution(false, "Bruno Haferkamp", "2.3.4.5", "httpxy", + 10, null, "Bruno ist noch toller")); + ServiceDistributionCluster.ServiceDistribution[] arr + = new ServiceDistributionCluster.ServiceDistribution[distList.size()]; + ServiceDistributionCluster cluster = new ServiceDistributionCluster(); + + cluster.setDistributions(distList.toArray(arr)); + cluster.setClustername("Kleister"); + cluster.setActive(true); + cluster.setDescription("The cluster of kleister!"); + + ObjectMapper om = new ObjectMapper(); + String json = om.writeValueAsString(cluster); + + ServiceDistributionCluster inCluster = om.readValue(json, ServiceDistributionCluster.class); + + assertEquals(cluster.getClustername(), inCluster.getClustername()); + assertEquals(cluster.isActive(), inCluster.isActive()); + assertEquals(cluster.getDescription(), inCluster.getDescription()); + for (int i = 0; i < cluster.getDistributions().length; i++) { + assertEquals(cluster.getDistributions()[i].getName(), inCluster.getDistributions()[i].getName()); + assertEquals(cluster.getDistributions()[i].getHost(), inCluster.getDistributions()[i].getHost()); + assertEquals(cluster.getDistributions()[i].isActive(), inCluster.getDistributions()[i].isActive()); + assertEquals(cluster.getDistributions()[i].getPortApp(), inCluster.getDistributions()[i].getPortApp()); + assertEquals(cluster.getDistributions()[i].getPortHealth(), inCluster.getDistributions()[i].getPortHealth()); + assertEquals(cluster.getDistributions()[i].getDescription(), inCluster.getDistributions()[i].getDescription()); + assertEquals(cluster.getDistributions()[i].getProtocol(), inCluster.getDistributions()[i].getProtocol()); + } + } +}