blob: d488d592c735211d34686af3cb7ff44037177e38 [file] [log] [blame]
/**
******************************************************************************
* Copyright © 2018 PTA GmbH.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
*
* http://www.eclipse.org/legal/epl-v10.html
*
******************************************************************************
*/
package org.eclipse.openk.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 urlPath, String protocol,
Integer portApp, Integer portHealth, String description) {
ServiceDistributionCluster.ServiceDistribution sd = new ServiceDistributionCluster.ServiceDistribution();
sd.setActive(true);
sd.setName(name);
sd.setHost(host);
sd.setUrlPath(urlPath);
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", "19/eleven", "httpx",
1000, 2000, "Hugo ist toll"));
distList.add(createDistribution(false, "Bruno Haferkamp", "2.3.4.5", "seven/of/nine", "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].getUrlPath(), inCluster.getDistributions()[i].getUrlPath());
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());
}
}
}