blob: 277a449fe658f995841cde4f989ba778ac212f5e [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.Map;
import java.util.Set;
import org.jclouds.fujitsu.fgcp.domain.AddressRange;
import org.jclouds.fujitsu.fgcp.domain.DiskImage;
import org.jclouds.fujitsu.fgcp.domain.EventLog;
import org.jclouds.fujitsu.fgcp.domain.PublicIP;
import org.jclouds.fujitsu.fgcp.domain.ServerType;
import org.jclouds.fujitsu.fgcp.domain.VSystem;
import org.jclouds.http.HttpRequest;
import org.jclouds.http.HttpResponse;
import org.testng.annotations.Test;
/**
* @author Dies Koper
*/
@Test(groups = "unit", testName = "VirtualDCApiExpectTest", singleThreaded = true)
public class VirtualDCApiExpectTest extends BaseFGCPRestApiExpectTest {
public void testListVirtualSystems() {
HttpRequest request = buildGETWithQuery("Action=ListVSYS");
HttpResponse response = HttpResponse.builder()
.statusCode(200)
.payload(payloadFromResource("/ListVSYS-response.xml"))
.build();
VirtualDCApi api = requestSendsResponse(request, response).getVirtualDCApi();
Set<VSystem> vsysSet = api.listVirtualSystems();
assertEquals(vsysSet.size(), 2);
}
public void testCreateVirtualSystem() {
HttpRequest request = buildGETWithQuery("Action=CreateVSYS&vsysDescriptorId=myDescId&vsysName=myVSYS");
HttpResponse response = HttpResponse.builder()
.statusCode(200)
.payload(payloadFromResource("/CreateVSYS-response.xml"))
.build();
VirtualDCApi api = requestSendsResponse(request, response)
.getVirtualDCApi();
String vsysId = api.createVirtualSystem("myDescId", "myVSYS");
assertEquals(vsysId, "CONTRACT-VSYS00001", "vsysId: " + vsysId);
}
public void testListServerTypes() {
HttpRequest request = buildGETWithQuery("Action=ListServerType&diskImageId=dummy");
HttpResponse response = HttpResponse.builder()
.statusCode(200)
.payload(payloadFromResource("/ListServerType-response.xml"))
.build();
VirtualDCApi api = requestSendsResponse(request, response)
.getVirtualDCApi();
Set<ServerType> serverTypes = api.listServerTypes();
assertNotNull(serverTypes, "serverTypes");
assertEquals(serverTypes.size(), 4,
"Unexpected number of server types: " + serverTypes.size());
}
public void testListPublicIPs() {
HttpRequest request = buildGETWithQuery("Action=ListPublicIP");
HttpResponse response = HttpResponse.builder()
.statusCode(200)
.payload(payloadFromResource("/ListPublicIP-response.xml"))
.build();
VirtualDCApi api = requestSendsResponse(request, response)
.getVirtualDCApi();
Map<PublicIP, String> ips = api.listPublicIPs();
assertNotNull(ips, "ips");
assertEquals(ips.size(), 2, "Unexpected number of ips: " + ips.size());
assertEquals(ips.keySet().size(), 2, "Unexpected number of ips: " + ips.size());
assertTrue(ips.containsValue("ABCDEFGH-A123B456CE"), "missing system id");
assertEquals(ips.keySet().iterator().next().getVersion(), PublicIP.Version.IPv4);
}
public void testListDiskImages() {
HttpRequest request = buildGETWithQuery("Action=ListDiskImage");
HttpResponse response = HttpResponse.builder()
.statusCode(200)
.payload(payloadFromResource("/ListDiskImages-response.xml"))
.build();
VirtualDCApi api = requestSendsResponse(request, response)
.getVirtualDCApi();
Set<DiskImage> images = api.listDiskImages();
assertNotNull(images, "images");
assertTrue(images.size() > 5, "Unexpected number of images: " + images.size());
}
public void testListDiskImage() {
HttpRequest request = buildGETWithQuery("Action=ListDiskImage&vsysDescriptorId=IMG_A1B2C3_1234567890ABCD");
HttpResponse response = HttpResponse.builder()
.statusCode(200)
.payload(payloadFromResource("/ListDiskImage-response.xml"))
.build();
VirtualDCApi api = requestSendsResponse(request, response)
.getVirtualDCApi();
Set<DiskImage> images = api.listDiskImages(null, "IMG_A1B2C3_1234567890ABCD");
assertNotNull(images, "images");
assertTrue(images.size() == 1, "Unexpected number of images: " + images.size());
}
public void testGetAddressRange() {
HttpRequest request = buildGETWithQuery("Action=GetAddressRange");
HttpResponse response = HttpResponse.builder()
.statusCode(200)
.payload(payloadFromResource("/GetAddressRange-response.xml"))
.build();
VirtualDCApi api = requestSendsResponse(request, response)
.getVirtualDCApi();
Set<AddressRange> range = api.getAddressRange();
assertNotNull(range);
assertEquals(range.size(), 1);
}
public void testAddAddressRange() {
HttpRequest request = buildGETWithQuery("Action=AddAddressRange"
+ "&pipFrom=192.168.0.0"
+ "&pipTo=192.168.30.0");
HttpResponse response = HttpResponse.builder()
.statusCode(200)
.payload(payloadFromResource("/AddAddressRange-response.xml"))
.build();
VirtualDCApi api = requestSendsResponse(request, response)
.getVirtualDCApi();
api.addAddressRange("192.168.0.0", "192.168.30.0");
}
public void testDeleteAddressRange() {
HttpRequest request = buildGETWithQuery("Action=DeleteAddressRange"
+ "&pipFrom=192.168.0.0"
+ "&pipTo=192.168.30.0");
HttpResponse response = HttpResponse.builder()
.statusCode(200)
.payload(payloadFromResource("/DeleteAddressRange-response.xml"))
.build();
VirtualDCApi api = requestSendsResponse(request, response)
.getVirtualDCApi();
api.deleteAddressRange("192.168.0.0", "192.168.30.0");
}
public void testCreateAddressPool() {
HttpRequest request = buildGETWithQuery("Action=CreateAddressPool"
+ "&pipFrom=192.168.0.0"
+ "&pipTo=192.168.30.0");
HttpResponse response = HttpResponse.builder()
.statusCode(200)
.payload(payloadFromResource("/CreateAddressPool-response.xml"))
.build();
VirtualDCApi api = requestSendsResponse(request, response)
.getVirtualDCApi();
api.createAddressPool("192.168.0.0", "192.168.30.0");
}
public void testGetEventLog() {
HttpRequest request = buildGETWithQuery("Action=GetEventLog");
HttpResponse response = HttpResponse.builder()
.statusCode(200)
.payload(payloadFromResource("/GetEventLog-response.xml"))
.build();
VirtualDCApi api = requestSendsResponse(request, response)
.getVirtualDCApi();
Set<EventLog> logs = api.getEventLogs();
assertNotNull(logs);
//TODO: get one with several
// assertEquals(logs.size(), 1);
}
}