blob: 31aaed19461e5f5a7bd348daefd5e8cc30771209 [file] [log] [blame]
/**
* Licensed to jclouds, Inc. (jclouds) under one or more
* contributor license agreements. See the NOTICE file
* distributed with this work for additional information
* regarding copyright ownership. jclouds licenses this file
* to you under the Apache License, Version 2.0 (the
* "License"); you may not use this file except in compliance
* with the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing,
* software distributed under the License is distributed on an
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
* KIND, either express or implied. See the License for the
* specific language governing permissions and limitations
* under the License.
*/
package org.jclouds.fujitsu.fgcp.services;
import static org.testng.Assert.assertEquals;
import static org.testng.Assert.assertNotNull;
import static org.testng.Assert.assertTrue;
import java.util.Set;
import org.jclouds.fujitsu.fgcp.domain.BuiltinServer;
import org.jclouds.fujitsu.fgcp.domain.PublicIP;
import org.jclouds.fujitsu.fgcp.domain.VDisk;
import org.jclouds.fujitsu.fgcp.domain.VServer;
import org.jclouds.fujitsu.fgcp.domain.VSystem;
import org.jclouds.fujitsu.fgcp.domain.VSystemStatus;
import org.jclouds.http.HttpRequest;
import org.jclouds.http.HttpResponse;
import org.testng.annotations.Test;
/**
* @author Dies Koper
*/
@Test(groups = "unit", testName = "VirtualSystemApiExpectTest", singleThreaded = true)
public class VirtualSystemApiExpectTest extends BaseFGCPRestApiExpectTest {
public void testGet() {
HttpRequest request = buildGETWithQuery("Action=GetVSYSAttributes&vsysId=ABCDEFGH-A123B456CE");
HttpResponse response = HttpResponse
.builder()
.statusCode(200)
.payload(
payloadFromResource("/GetVSYSAttributes-response.xml"))
.build();
VirtualSystemApi api = requestSendsResponse(request, response)
.getVirtualSystemApi();
VSystem system = api.get("ABCDEFGH-A123B456CE");
assertNotNull(system, "system");
}
public void testGetDetails() {
HttpRequest request = buildGETWithQuery("Action=GetVSYSConfiguration&vsysId=ABCDEFGH-A123B456CE");
HttpResponse response = HttpResponse
.builder()
.statusCode(200)
.payload(
payloadFromResource("/GetVSYSConfiguration-response.xml"))
.build();
VirtualSystemApi api = requestSendsResponse(request, response)
.getVirtualSystemApi();
VSystem system = api.getDetails("ABCDEFGH-A123B456CE");
assertNotNull(system, "system");
}
public void testGetStatus() {
HttpRequest request = buildGETWithQuery("Action=GetVSYSStatus"
+ "&vsysId=ABCDEFGH-A123B456CE");
HttpResponse response = HttpResponse.builder().statusCode(200)
.payload(payloadFromResource("/GetVSYSStatus-response.xml"))
.build();
VirtualSystemApi api = requestSendsResponse(request, response)
.getVirtualSystemApi();
assertEquals(api.getStatus("ABCDEFGH-A123B456CE"), VSystemStatus.NORMAL);
}
public void testUpdate() {
HttpRequest request = buildGETWithQuery("Action=UpdateVSYSAttribute"
+ "&vsysId=ABCDEFGH-A123B456CE" + "&attributeValue=new-name"
+ "&attributeName=updateName");
HttpResponse response = HttpResponse
.builder()
.statusCode(200)
.payload(
payloadFromResource("/UpdateVDiskAttribute-response.xml"))
.build();
VirtualSystemApi api = requestSendsResponse(request, response)
.getVirtualSystemApi();
api.update("ABCDEFGH-A123B456CE", "updateName", "new-name");
}
public void testListPublicIPs() {
HttpRequest request = buildGETWithQuery("Action=ListPublicIP"
+ "&vsysId=ABCDEFGH-A123B456CE");
HttpResponse response = HttpResponse
.builder()
.statusCode(200)
.payload(
payloadFromResource("/ListPublicIP_one_vsys-response.xml"))
.build();
VirtualSystemApi api = requestSendsResponse(request, response)
.getVirtualSystemApi();
Set<PublicIP> ips = api.listPublicIPs("ABCDEFGH-A123B456CE");
assertNotNull(ips, "ips");
assertTrue(ips.size() == 2, "Unexpected number of ips: " + ips.size());
assertEquals(ips.iterator().next().getVersion(), PublicIP.Version.IPv4);
}
public void testListServers() {
HttpRequest request = buildGETWithQuery("Action=ListVServer"
+ "&vsysId=ABCDEFGH-A123B456CE");
HttpResponse response = HttpResponse
.builder()
.statusCode(200)
.payload(
payloadFromResource("/ListVServer-response.xml"))
.build();
VirtualSystemApi api = requestSendsResponse(request, response)
.getVirtualSystemApi();
Set<VServer> servers = api.listServers("ABCDEFGH-A123B456CE");
assertNotNull(servers, "servers");
assertEquals(servers.size(), 2);
}
public void testDisks() {
HttpRequest request = buildGETWithQuery("Action=ListVDisk"
+ "&vsysId=ABCDEFGH-A123B456CE");
HttpResponse response = HttpResponse
.builder()
.statusCode(200)
.payload(
payloadFromResource("/ListVDisk-response.xml"))
.build();
VirtualSystemApi api = requestSendsResponse(request, response)
.getVirtualSystemApi();
Set<VDisk> disks = api.listDisks("ABCDEFGH-A123B456CE");
assertNotNull(disks, "disks");
assertEquals(disks.size(), 1);
}
public void testListBuiltinServers() {
HttpRequest request = buildGETWithQuery("Action=ListEFM"
+ "&vsysId=ABCDEFGH-A123B456CE" + "&efmType=FW");
HttpResponse response = HttpResponse
.builder()
.statusCode(200)
.payload(
payloadFromResource("/ListEFM-response.xml"))
.build();
VirtualSystemApi api = requestSendsResponse(request, response)
.getVirtualSystemApi();
Set<BuiltinServer> fws = api.listBuiltinServers("ABCDEFGH-A123B456CE", "FW");
assertNotNull(fws, "fws");
assertEquals(fws.size(), 1);
}
public void testAllocatePublicIP() {
HttpRequest request = buildGETWithQuery("Action=AllocatePublicIP&vsysId=ABCDEFGH-A123B456CE");
HttpResponse response = HttpResponse
.builder()
.statusCode(200)
.payload(
payloadFromResource("/AllocatePublicIP-response.xml"))
.build();
VirtualSystemApi api = requestSendsResponse(request, response)
.getVirtualSystemApi();
api.allocatePublicIP("ABCDEFGH-A123B456CE");
}
public void testCreateBuiltinServer() {
HttpRequest request = buildGETWithQuery("Action=CreateEFM"
+ "&efmType=SLB"
+ "&efmName=web%20load%20balancer"
+ "&networkId=ABCDEFGH-A123B456CE-N-DMZ"
+ "&vsysId=ABCDEFGH-A123B456CE");
HttpResponse response = HttpResponse
.builder()
.statusCode(200)
.payload(
payloadFromResource("/CreateEFM-response.xml"))
.build();
VirtualSystemApi api = requestSendsResponse(request, response)
.getVirtualSystemApi();
String id = api.createBuiltinServer("web load balancer",
"ABCDEFGH-A123B456CE-N-DMZ");
assertEquals(id, "CONTRACT-EFM00001");
}
public void testCreateServer() {
HttpRequest request = buildGETWithQuery("Action=CreateVServer"
+ "&vserverName=vm1"
+ "&diskImageId=IMG_A1B2C3_1234567890ABCD"
+ "&vserverType=economy"
+ "&networkId=ABCDEFGH-A123B456CE-N-DMZ"
+ "&vsysId=ABCDEFGH-A123B456CE");
HttpResponse response = HttpResponse
.builder()
.statusCode(200)
.payload(
payloadFromResource("/CreateVServer-response.xml"))
.build();
VirtualSystemApi api = requestSendsResponse(request, response)
.getVirtualSystemApi();
String id = api.createServer("vm1", "economy", "IMG_A1B2C3_1234567890ABCD",
"ABCDEFGH-A123B456CE-N-DMZ");
assertEquals(id, "ABCDEFGH-A123B456CE-S-0007");
}
public void testCreateDisk() {
HttpRequest request = buildGETWithQuery("Action=CreateVDisk"
+ "&vsysId=ABCDEFGH-A123B456CE"
+ "&size=10"
+ "&vdiskName=disk1");
HttpResponse response = HttpResponse
.builder()
.statusCode(200)
.payload(
payloadFromResource("/CreateVDisk-response.xml"))
.build();
VirtualSystemApi api = requestSendsResponse(request, response)
.getVirtualSystemApi();
String id = api.createDisk("ABCDEFGH-A123B456CE", "disk1", 10);
assertEquals(id, "ABCDEFGH-A123B456CE-S-0006");
}
/*
public void testRegisterAsPrivateImage() {
HttpRequest request = buildGETWithQuery("Action=AllocatePublicIP&vsysId=ABCDEFGH-A123B456CE");
HttpResponse response = HttpResponse
.builder()
.statusCode(200)
.payload(
payloadFromResource("/AllocatePublicIP-response.xml"))
.build();
VirtualSystemApi api = requestSendsResponse(request, response)
.getVirtualSystemApi();
api.registerAsPrivateVSYSDescriptor("ABCDEFGH-A123B456CE");
}
*/
}