blob: 0d7a191fa55ccc443121fafbdf110241bd139c1a [file] [log] [blame]
/*
*******************************************************************************
* Copyright (c) 2018 Contributors to the Eclipse Foundation
*
* See the NOTICE file(s) distributed with this work for additional
* information regarding copyright ownership.
*
* This program and the accompanying materials are made available under the
* terms of the Eclipse Public License v. 2.0 which is available at
* http://www.eclipse.org/legal/epl-2.0.
*
* SPDX-License-Identifier: EPL-2.0
*******************************************************************************
*/
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 healthUrlPath, 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);
if( healthUrlPath != null) {
sd.setHealthUrlPath(healthUrlPath);
}
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",
"healthy","httpx",
1000, 2000, "Hugo ist toll"));
distList.add(createDistribution(false, "Bruno Haferkamp", "2.3.4.5", "seven/of/nine", "httpxy",
null,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());
}
}
}