You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
common-gcore-resources/src/test/java/org/gcube/common/resources/gcore/HostingNodeTest.java

142 lines
5.0 KiB
Java

package org.gcube.common.resources.gcore;
import static junit.framework.Assert.*;
import static org.gcube.common.resources.gcore.Resources.*;
import static org.gcube.common.resources.gcore.TestUtils.*;
import java.math.BigDecimal;
import java.util.Calendar;
import org.gcube.common.resources.gcore.HostingNode;
import org.junit.Test;
/**
*
* @author Fabio Simeoni
* @author Luca Frosini (ISTI - CNR)
*/
public class HostingNodeTest {
@Test
public void bindNode() throws Exception {
HostingNode node = unmarshal(HostingNode.class, "node.xml");
print(node);
validate(node);
HostingNode clone = unmarshal(HostingNode.class, "node.xml");
assertEquals(node,clone);
}
//helper
private HostingNode minimalNode() {
HostingNode node = new HostingNode();
node.scopes().add("/some/scope");
node.newProfile().infrastructure("infrastructure");
node.profile().newDescription().name("name").uptime("uptime").lastUpdate(Calendar.getInstance());
node.profile().description().newArchitecture().platformType("type").smpSize(30).smtSize(20);
node.profile().description().newOperatingSystem().name("name").version("version").release("release");
node.profile().description().environmentVariables().add().keyAndValue("key", "value");
node.profile().description().newMainMemory().ramAvailable(100).ramSize(200).virtualAvailable(300).virtualSize(350);
node.profile().newSite().location("location").country("it").
domain("domain").latitude("latitude").longitude("longitude");
return node;
}
@Test
public void buildMininimalNode() throws Exception {
HostingNode node = minimalNode();
print(node);
validate(node);
}
@Test
public void buildMaximalNode() throws Exception {
HostingNode node = minimalNode();
node.profile().description().activationTime(Calendar.getInstance());
node.profile().description().platforms().add().name("name").version((short)2);
node.profile().description().newSecurity().authority("auth").
distinguishedName("dn").
expirationDate(Calendar.getInstance());
node.profile().description().processors().add().
family("family").
model("model").
vendor("vendor").modelName("name").
cacheL1(10).cacheL1D(20).cacheL1I(30).cacheL2(40).
bogomips(BigDecimal.valueOf(40000)).
clockSpeedMhz(BigDecimal.valueOf(3000));
node.profile().description().processors().add().
family("family2").
model("model2").
vendor("vendor2").modelName("name2").
cacheL1(10).cacheL1D(20).cacheL1I(30).cacheL2(40).
bogomips(BigDecimal.valueOf(40000)).
clockSpeedMhz(BigDecimal.valueOf(3000));
node.profile().description().networkAdapters().add().
inboundIP("inbound").
outboundIP("outbound").
ipAddress("address").mtu(10).name("name");
node.profile().description().networkAdapters().add().
inboundIP("inbound2").
outboundIP("outbound2").
ipAddress("address2").mtu(10).name("name2");
node.profile().description().newBenchmark().sf(10).si(20);
node.profile().description().storageDevices().add().name("name").size(10).transferRate(10).type("type");
node.profile().description().storageDevices().add().name("name2").size(10).transferRate(10).type("type2");
node.profile().description().storagePartitions().add().name("name").readRate(10).writeRate(20).size("size");
node.profile().description().storagePartitions().add().name("name2").readRate(10).writeRate(20).size("size2");
node.profile().description().localFileSystems().add().name("name").size(10).readOnly(true).root("root").type("type");
node.profile().description().localFileSystems().add().name("name2").size(10).readOnly(true).root("root2").type("type2");
node.profile().description().remoteFileSystems().add().name("name").size(10).readOnly(true).root("root").type("type");
node.profile().description().remoteFileSystems().add().name("name2").size(10).readOnly(true).root("root2").type("type2");
node.profile().description().devicePartitions().add().device("name").name("name");
node.profile().description().devicePartitions().add().device("name2").name("name2");
node.profile().description().fileSystemPartitions().add().fsName("name").storageName("name");
node.profile().description().fileSystemPartitions().add().fsName("name2").storageName("name2");
node.profile().description().newLoad().lastMin(4.5).last15Mins(20.6).last5Mins(5.6);
node.profile().description().newHistoricalLoad().lastDay(67).lastHour(15.3).lastWeek(150.6);
node.profile().description().localAvailableSpace(new Long(100));
node.profile().packages().add().name("name").serviceVersion("1.0.0").packageVersion("version").serviceClass("class").serviceName("name");
node.profile().packages().add().name("name").serviceVersion("2.0.1").packageVersion("version2").serviceClass("class2").serviceName("name2");
print(node);
validate(node);
}
}