http://git-wip-us.apache.org/repos/asf/jclouds-labs/blob/1b689dc1/abiquo/src/test/java/org/jclouds/abiquo/features/EnterpriseApiTest.java
----------------------------------------------------------------------
diff --git 
a/abiquo/src/test/java/org/jclouds/abiquo/features/EnterpriseApiTest.java 
b/abiquo/src/test/java/org/jclouds/abiquo/features/EnterpriseApiTest.java
deleted file mode 100644
index dd65b4d..0000000
--- a/abiquo/src/test/java/org/jclouds/abiquo/features/EnterpriseApiTest.java
+++ /dev/null
@@ -1,603 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF 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.abiquo.features;
-
-import static org.jclouds.abiquo.domain.DomainUtils.withHeader;
-import static org.jclouds.reflect.Reflection2.method;
-
-import java.io.IOException;
-
-import org.jclouds.Fallbacks.NullOnNotFoundOr404;
-import org.jclouds.abiquo.domain.EnterpriseResources;
-import org.jclouds.abiquo.domain.InfrastructureResources;
-import org.jclouds.fallbacks.MapHttp4xxCodesToExceptions;
-import org.jclouds.http.functions.ParseXMLWithJAXB;
-import org.jclouds.http.functions.ReleasePayloadAndReturn;
-import org.jclouds.reflect.Invocation;
-import org.jclouds.rest.internal.GeneratedHttpRequest;
-import org.testng.annotations.Test;
-
-import com.abiquo.am.model.TemplatesStateDto;
-import com.abiquo.server.core.appslibrary.DatacenterRepositoryDto;
-import com.abiquo.server.core.appslibrary.TemplateDefinitionListDto;
-import com.abiquo.server.core.appslibrary.TemplateDefinitionListsDto;
-import com.abiquo.server.core.cloud.VirtualAppliancesDto;
-import com.abiquo.server.core.cloud.VirtualDatacentersDto;
-import com.abiquo.server.core.cloud.VirtualMachinesWithNodeExtendedDto;
-import com.abiquo.server.core.enterprise.DatacenterLimitsDto;
-import com.abiquo.server.core.enterprise.DatacentersLimitsDto;
-import com.abiquo.server.core.enterprise.EnterpriseDto;
-import com.abiquo.server.core.enterprise.EnterprisePropertiesDto;
-import com.abiquo.server.core.enterprise.UserDto;
-import com.abiquo.server.core.infrastructure.DatacenterDto;
-import com.abiquo.server.core.infrastructure.DatacentersDto;
-import com.abiquo.server.core.infrastructure.MachinesDto;
-import com.abiquo.server.core.infrastructure.network.VLANNetworksDto;
-import com.google.common.collect.ImmutableList;
-import com.google.common.reflect.Invokable;
-
-/**
- * Tests annotation parsing of {@code ConfigApi}
- */
-@Test(groups = "unit", testName = "EnterpriseApiTest")
-public class EnterpriseApiTest extends BaseAbiquoApiTest<EnterpriseApi> {
-   /*********************** Enterprise ********************** */
-
-   public void testCreateEnterprise() throws SecurityException, 
NoSuchMethodException, IOException {
-      Invokable<?, ?> method = method(EnterpriseApi.class, "createEnterprise", 
EnterpriseDto.class);
-      GeneratedHttpRequest request = processor.apply(Invocation.create(method,
-            ImmutableList.<Object> of(EnterpriseResources.enterprisePost())));
-
-      assertRequestLineEquals(request, "POST 
http://localhost/api/admin/enterprises HTTP/1.1");
-      assertNonPayloadHeadersEqual(request, "Accept: " + 
EnterpriseDto.BASE_MEDIA_TYPE + "\n");
-      assertPayloadEquals(request, 
withHeader(EnterpriseResources.enterprisePostPayload()), EnterpriseDto.class,
-            EnterpriseDto.BASE_MEDIA_TYPE, false);
-
-      assertResponseParserClassEquals(method, request, ParseXMLWithJAXB.class);
-      assertSaxResponseParserClassEquals(method, null);
-      assertFallbackClassEquals(method, null);
-
-      checkFilters(request);
-   }
-
-   public void testGetEnterprise() throws SecurityException, 
NoSuchMethodException, IOException {
-      Invokable<?, ?> method = method(EnterpriseApi.class, "getEnterprise", 
Integer.class);
-      GeneratedHttpRequest request = processor.apply(Invocation.create(method, 
ImmutableList.<Object> of(1)));
-
-      assertRequestLineEquals(request, "GET 
http://localhost/api/admin/enterprises/1 HTTP/1.1");
-      assertNonPayloadHeadersEqual(request, "Accept: " + 
EnterpriseDto.BASE_MEDIA_TYPE + "\n");
-      assertPayloadEquals(request, null, null, false);
-
-      assertResponseParserClassEquals(method, request, ParseXMLWithJAXB.class);
-      assertSaxResponseParserClassEquals(method, null);
-      assertFallbackClassEquals(method, NullOnNotFoundOr404.class);
-
-      checkFilters(request);
-   }
-
-   public void testUpdateEnterprise() throws SecurityException, 
NoSuchMethodException, IOException {
-      Invokable<?, ?> method = method(EnterpriseApi.class, "updateEnterprise", 
EnterpriseDto.class);
-      GeneratedHttpRequest request = processor.apply(Invocation.create(method,
-            ImmutableList.<Object> of(EnterpriseResources.enterprisePut())));
-
-      assertRequestLineEquals(request, "PUT 
http://localhost/api/admin/enterprises/1 HTTP/1.1");
-      assertNonPayloadHeadersEqual(request, "Accept: " + 
EnterpriseDto.BASE_MEDIA_TYPE + "\n");
-      assertPayloadEquals(request, 
withHeader(EnterpriseResources.enterprisePutPayload()), EnterpriseDto.class,
-            EnterpriseDto.BASE_MEDIA_TYPE, false);
-
-      assertResponseParserClassEquals(method, request, ParseXMLWithJAXB.class);
-      assertSaxResponseParserClassEquals(method, null);
-      assertFallbackClassEquals(method, null);
-
-      checkFilters(request);
-   }
-
-   public void testDeleteEnterprise() throws SecurityException, 
NoSuchMethodException {
-      Invokable<?, ?> method = method(EnterpriseApi.class, "deleteEnterprise", 
EnterpriseDto.class);
-      GeneratedHttpRequest request = processor.apply(Invocation.create(method,
-            ImmutableList.<Object> of(EnterpriseResources.enterprisePut())));
-
-      assertRequestLineEquals(request, "DELETE 
http://localhost/api/admin/enterprises/1 HTTP/1.1");
-      assertNonPayloadHeadersEqual(request, "");
-      assertPayloadEquals(request, null, null, false);
-
-      assertResponseParserClassEquals(method, request, 
ReleasePayloadAndReturn.class);
-      assertSaxResponseParserClassEquals(method, null);
-      assertFallbackClassEquals(method, null);
-
-      checkFilters(request);
-   }
-
-   public void testListAllowedDatacenters() throws SecurityException, 
NoSuchMethodException, IOException {
-      Invokable<?, ?> method = method(EnterpriseApi.class, 
"listAllowedDatacenters", Integer.class);
-      GeneratedHttpRequest request = processor.apply(Invocation.create(method, 
ImmutableList.<Object> of(1)));
-
-      assertRequestLineEquals(request, "GET 
http://localhost/api/admin/datacenters?idEnterprise=1 HTTP/1.1");
-      assertNonPayloadHeadersEqual(request, "Accept: " + 
DatacentersDto.BASE_MEDIA_TYPE + "\n");
-      assertPayloadEquals(request, null, null, false);
-
-      assertResponseParserClassEquals(method, request, ParseXMLWithJAXB.class);
-      assertSaxResponseParserClassEquals(method, null);
-      assertFallbackClassEquals(method, null);
-
-      checkFilters(request);
-   }
-
-   public void testListVirtualDatacentersFromEnterprise() throws 
SecurityException, NoSuchMethodException, IOException {
-      Invokable<?, ?> method = method(EnterpriseApi.class, 
"listVirtualDatacenters", EnterpriseDto.class);
-      GeneratedHttpRequest request = processor.apply(Invocation.create(method,
-            ImmutableList.<Object> of(EnterpriseResources.enterprisePut())));
-
-      assertRequestLineEquals(request,
-            "GET 
http://localhost/api/admin/enterprises/1/action/virtualdatacenters HTTP/1.1");
-      assertNonPayloadHeadersEqual(request, "Accept: " + 
VirtualDatacentersDto.BASE_MEDIA_TYPE + "\n");
-      assertPayloadEquals(request, null, null, false);
-
-      assertResponseParserClassEquals(method, request, ParseXMLWithJAXB.class);
-      assertSaxResponseParserClassEquals(method, null);
-      assertFallbackClassEquals(method, null);
-
-      checkFilters(request);
-   }
-
-   /*********************** Enterprise Properties ********************** */
-
-   public void testGetEnterpriseProperties() throws SecurityException, 
NoSuchMethodException, IOException {
-      Invokable<?, ?> method = method(EnterpriseApi.class, 
"getEnterpriseProperties", EnterpriseDto.class);
-      GeneratedHttpRequest request = processor.apply(Invocation.create(method,
-            ImmutableList.<Object> of(EnterpriseResources.enterprisePut())));
-
-      assertRequestLineEquals(request, "GET 
http://localhost/api/admin/enterprises/1/properties HTTP/1.1");
-      assertNonPayloadHeadersEqual(request, "Accept: " + 
EnterprisePropertiesDto.BASE_MEDIA_TYPE + "\n");
-      assertPayloadEquals(request, null, null, false);
-
-      assertResponseParserClassEquals(method, request, ParseXMLWithJAXB.class);
-      assertSaxResponseParserClassEquals(method, null);
-      assertFallbackClassEquals(method, MapHttp4xxCodesToExceptions.class);
-
-      checkFilters(request);
-   }
-
-   public void testUpdateEnterpriseProperties() throws SecurityException, 
NoSuchMethodException, IOException {
-      Invokable<?, ?> method = method(EnterpriseApi.class, 
"updateEnterpriseProperties", EnterprisePropertiesDto.class);
-      GeneratedHttpRequest request = processor.apply(Invocation.create(method,
-            ImmutableList.<Object> 
of(EnterpriseResources.enterprisePropertiesPut())));
-
-      assertRequestLineEquals(request, "PUT 
http://localhost/api/admin/enterprises/1/properties HTTP/1.1");
-      assertNonPayloadHeadersEqual(request, "Accept: " + 
EnterprisePropertiesDto.BASE_MEDIA_TYPE + "\n");
-      assertPayloadEquals(request, 
withHeader(EnterpriseResources.enterprisePropertiesPutPayload()),
-            EnterprisePropertiesDto.class, 
EnterprisePropertiesDto.BASE_MEDIA_TYPE, false);
-
-      assertResponseParserClassEquals(method, request, ParseXMLWithJAXB.class);
-      assertSaxResponseParserClassEquals(method, null);
-      assertFallbackClassEquals(method, null);
-
-      checkFilters(request);
-   }
-
-   /*********************** Enterprise Limits ********************** */
-
-   public void testCreateLimits() throws SecurityException, 
NoSuchMethodException, IOException {
-      EnterpriseDto enterprise = EnterpriseResources.enterprisePut();
-      DatacenterDto datacenter = InfrastructureResources.datacenterPut();
-      DatacenterLimitsDto limits = EnterpriseResources.datacenterLimitsPost();
-
-      Invokable<?, ?> method = method(EnterpriseApi.class, "createLimits", 
EnterpriseDto.class, DatacenterDto.class,
-            DatacenterLimitsDto.class);
-      GeneratedHttpRequest request = processor.apply(Invocation.create(method,
-            ImmutableList.<Object> of(enterprise, datacenter, limits)));
-
-      String limitsUri = enterprise.searchLink("limits").getHref();
-      String requestURI = String.format("POST %s?datacenter=%d HTTP/1.1", 
limitsUri, datacenter.getId());
-
-      assertRequestLineEquals(request, requestURI);
-      assertNonPayloadHeadersEqual(request, "Accept: " + 
DatacenterLimitsDto.BASE_MEDIA_TYPE + "\n");
-      assertPayloadEquals(request, 
withHeader(EnterpriseResources.datacenterLimitsPostPayload()),
-            DatacenterLimitsDto.class, DatacenterLimitsDto.BASE_MEDIA_TYPE, 
false);
-
-      assertResponseParserClassEquals(method, request, ParseXMLWithJAXB.class);
-      assertSaxResponseParserClassEquals(method, null);
-      assertFallbackClassEquals(method, null);
-
-      checkFilters(request);
-   }
-
-   public void testGetLimits() throws SecurityException, 
NoSuchMethodException, IOException {
-      EnterpriseDto enterprise = EnterpriseResources.enterprisePut();
-      DatacenterDto datacenter = InfrastructureResources.datacenterPut();
-
-      Invokable<?, ?> method = method(EnterpriseApi.class, "getLimits", 
EnterpriseDto.class, DatacenterDto.class);
-      GeneratedHttpRequest request = processor.apply(Invocation.create(method,
-            ImmutableList.<Object> of(enterprise, datacenter)));
-
-      String limitsUri = enterprise.searchLink("limits").getHref();
-      String requestURI = String.format("GET %s?datacenter=%d HTTP/1.1", 
limitsUri, datacenter.getId());
-
-      assertRequestLineEquals(request, requestURI);
-      assertNonPayloadHeadersEqual(request, "Accept: " + 
DatacentersLimitsDto.BASE_MEDIA_TYPE + "\n");
-      assertPayloadEquals(request, null, null, false);
-
-      assertResponseParserClassEquals(method, request, ParseXMLWithJAXB.class);
-      assertSaxResponseParserClassEquals(method, null);
-      assertFallbackClassEquals(method, NullOnNotFoundOr404.class);
-
-      checkFilters(request);
-   }
-
-   public void testUpdateLimits() throws SecurityException, 
NoSuchMethodException, IOException {
-      EnterpriseDto enterprise = EnterpriseResources.enterprisePut();
-
-      Invokable<?, ?> method = method(EnterpriseApi.class, "updateLimits", 
DatacenterLimitsDto.class);
-      GeneratedHttpRequest request = processor.apply(Invocation.create(method,
-            ImmutableList.<Object> 
of(EnterpriseResources.datacenterLimitsPut(enterprise))));
-
-      assertRequestLineEquals(request, "PUT 
http://localhost/api/admin/enterprises/1/limits/1 HTTP/1.1");
-      assertNonPayloadHeadersEqual(request, "Accept: " + 
DatacenterLimitsDto.BASE_MEDIA_TYPE + "\n");
-      assertPayloadEquals(request, 
withHeader(EnterpriseResources.datacenterLimitsPutPayload(enterprise)),
-            DatacenterLimitsDto.class, DatacenterLimitsDto.BASE_MEDIA_TYPE, 
false);
-
-      assertResponseParserClassEquals(method, request, ParseXMLWithJAXB.class);
-      assertSaxResponseParserClassEquals(method, null);
-      assertFallbackClassEquals(method, null);
-
-      checkFilters(request);
-   }
-
-   public void testDeleteLimits() throws SecurityException, 
NoSuchMethodException {
-      EnterpriseDto enterprise = EnterpriseResources.enterprisePut();
-
-      Invokable<?, ?> method = method(EnterpriseApi.class, "deleteLimits", 
DatacenterLimitsDto.class);
-      GeneratedHttpRequest request = processor.apply(Invocation.create(method,
-            ImmutableList.<Object> 
of(EnterpriseResources.datacenterLimitsPut(enterprise))));
-
-      assertRequestLineEquals(request, "DELETE 
http://localhost/api/admin/enterprises/1/limits/1 HTTP/1.1");
-      assertNonPayloadHeadersEqual(request, "");
-      assertPayloadEquals(request, null, null, false);
-
-      assertResponseParserClassEquals(method, request, 
ReleasePayloadAndReturn.class);
-      assertSaxResponseParserClassEquals(method, null);
-      assertFallbackClassEquals(method, null);
-
-      checkFilters(request);
-   }
-
-   public void testListLimitsEnterprise() throws SecurityException, 
NoSuchMethodException, IOException {
-      Invokable<?, ?> method = method(EnterpriseApi.class, "listLimits", 
EnterpriseDto.class);
-      GeneratedHttpRequest request = processor.apply(Invocation.create(method,
-            ImmutableList.<Object> of(EnterpriseResources.enterprisePut())));
-
-      assertRequestLineEquals(request, "GET 
http://localhost/api/admin/enterprises/1/limits HTTP/1.1");
-      assertNonPayloadHeadersEqual(request, "Accept: " + 
DatacentersLimitsDto.BASE_MEDIA_TYPE + "\n");
-      assertPayloadEquals(request, null, null, false);
-
-      assertResponseParserClassEquals(method, request, ParseXMLWithJAXB.class);
-      assertSaxResponseParserClassEquals(method, null);
-      assertFallbackClassEquals(method, null);
-
-      checkFilters(request);
-   }
-
-   /*********************** User ***********************/
-
-   public void testGetUser() throws SecurityException, NoSuchMethodException, 
IOException {
-      Invokable<?, ?> method = method(EnterpriseApi.class, "getUser", 
EnterpriseDto.class, Integer.class);
-      GeneratedHttpRequest request = processor.apply(Invocation.create(method,
-            ImmutableList.<Object> of(EnterpriseResources.enterprisePut(), 
1)));
-
-      assertRequestLineEquals(request, "GET 
http://localhost/api/admin/enterprises/1/users/1 HTTP/1.1");
-      assertNonPayloadHeadersEqual(request, "Accept: " + 
UserDto.BASE_MEDIA_TYPE + "\n");
-      assertPayloadEquals(request, null, null, false);
-
-      assertResponseParserClassEquals(method, request, ParseXMLWithJAXB.class);
-      assertSaxResponseParserClassEquals(method, null);
-      assertFallbackClassEquals(method, NullOnNotFoundOr404.class);
-
-      checkFilters(request);
-   }
-
-   public void testCreateUser() throws SecurityException, 
NoSuchMethodException, IOException {
-      EnterpriseDto enterprise = EnterpriseResources.enterprisePut();
-      UserDto user = EnterpriseResources.userPost();
-
-      Invokable<?, ?> method = method(EnterpriseApi.class, "createUser", 
EnterpriseDto.class, UserDto.class);
-      GeneratedHttpRequest request = processor.apply(Invocation.create(method,
-            ImmutableList.<Object> of(enterprise, user)));
-
-      assertRequestLineEquals(request, "POST 
http://localhost/api/admin/enterprises/1/users HTTP/1.1");
-      assertNonPayloadHeadersEqual(request, "Accept: " + 
UserDto.BASE_MEDIA_TYPE + "\n");
-      assertPayloadEquals(request, 
withHeader(EnterpriseResources.userPostPayload()), UserDto.class,
-            UserDto.BASE_MEDIA_TYPE, false);
-
-      assertResponseParserClassEquals(method, request, ParseXMLWithJAXB.class);
-      assertSaxResponseParserClassEquals(method, null);
-      assertFallbackClassEquals(method, null);
-
-      checkFilters(request);
-   }
-
-   public void testUpdateUser() throws SecurityException, 
NoSuchMethodException, IOException {
-      Invokable<?, ?> method = method(EnterpriseApi.class, "updateUser", 
UserDto.class);
-      GeneratedHttpRequest request = processor.apply(Invocation.create(method,
-            ImmutableList.<Object> of(EnterpriseResources.userPut())));
-
-      assertRequestLineEquals(request, "PUT 
http://localhost/api/admin/enterprises/1/users/1 HTTP/1.1");
-      assertNonPayloadHeadersEqual(request, "Accept: " + 
UserDto.BASE_MEDIA_TYPE + "\n");
-      assertPayloadEquals(request, 
withHeader(EnterpriseResources.userPutPayload()), UserDto.class,
-            UserDto.BASE_MEDIA_TYPE, false);
-
-      assertResponseParserClassEquals(method, request, ParseXMLWithJAXB.class);
-      assertSaxResponseParserClassEquals(method, null);
-      assertFallbackClassEquals(method, null);
-
-      checkFilters(request);
-   }
-
-   public void testDeleteUser() throws SecurityException, 
NoSuchMethodException {
-      Invokable<?, ?> method = method(EnterpriseApi.class, "deleteUser", 
UserDto.class);
-      GeneratedHttpRequest request = processor.apply(Invocation.create(method,
-            ImmutableList.<Object> of(EnterpriseResources.userPut())));
-
-      assertRequestLineEquals(request, "DELETE 
http://localhost/api/admin/enterprises/1/users/1 HTTP/1.1");
-      assertNonPayloadHeadersEqual(request, "");
-      assertPayloadEquals(request, null, null, false);
-
-      assertResponseParserClassEquals(method, request, 
ReleasePayloadAndReturn.class);
-      assertSaxResponseParserClassEquals(method, null);
-      assertFallbackClassEquals(method, null);
-
-      checkFilters(request);
-   }
-
-   public void testListVirtualMachinesByUser() throws SecurityException, 
NoSuchMethodException, IOException {
-      Invokable<?, ?> method = method(EnterpriseApi.class, 
"listVirtualMachines", UserDto.class);
-      GeneratedHttpRequest request = processor.apply(Invocation.create(method,
-            ImmutableList.<Object> of(EnterpriseResources.userPut())));
-
-      assertRequestLineEquals(request,
-            "GET 
http://localhost/api/admin/enterprises/1/users/1/action/virtualmachines 
HTTP/1.1");
-      assertNonPayloadHeadersEqual(request, "Accept: " + 
VirtualMachinesWithNodeExtendedDto.BASE_MEDIA_TYPE + "\n");
-      assertPayloadEquals(request, null, null, false);
-
-      assertResponseParserClassEquals(method, request, ParseXMLWithJAXB.class);
-      assertSaxResponseParserClassEquals(method, null);
-      assertFallbackClassEquals(method, null);
-
-      checkFilters(request);
-   }
-
-   /*********************** Datacenter Repository ********************** */
-
-   public void testGetDatacenterRepository() throws SecurityException, 
NoSuchMethodException, IOException {
-      Invokable<?, ?> method = method(EnterpriseApi.class, 
"getDatacenterRepository", EnterpriseDto.class,
-            Integer.class);
-      GeneratedHttpRequest request = processor.apply(Invocation.create(method, 
ImmutableList.<Object> of(
-            EnterpriseResources.enterprisePut(), 
InfrastructureResources.datacenterPut().getId())));
-
-      assertRequestLineEquals(request, "GET 
http://localhost/api/admin/enterprises/1/datacenterrepositories/1 HTTP/1.1");
-      assertNonPayloadHeadersEqual(request, "Accept: " + 
DatacenterRepositoryDto.BASE_MEDIA_TYPE + "\n");
-      assertPayloadEquals(request, null, null, false);
-
-      assertResponseParserClassEquals(method, request, ParseXMLWithJAXB.class);
-      assertSaxResponseParserClassEquals(method, null);
-      assertFallbackClassEquals(method, NullOnNotFoundOr404.class);
-
-      checkFilters(request);
-   }
-
-   public void testRefreshTemplateRepository() throws SecurityException, 
NoSuchMethodException, IOException {
-      Invokable<?, ?> method = method(EnterpriseApi.class, 
"refreshTemplateRepository", Integer.class, Integer.class);
-      GeneratedHttpRequest request = processor.apply(Invocation.create(method, 
ImmutableList.<Object> of(
-            EnterpriseResources.enterprisePut().getId(), 
InfrastructureResources.datacenterPut().getId())));
-
-      assertRequestLineEquals(request,
-            "PUT 
http://localhost/api/admin/enterprises/1/datacenterrepositories/1/actions/refresh
 HTTP/1.1");
-      assertNonPayloadHeadersEqual(request, "");
-      assertPayloadEquals(request, null, null, false);
-
-      assertResponseParserClassEquals(method, request, 
ReleasePayloadAndReturn.class);
-      assertSaxResponseParserClassEquals(method, null);
-      assertFallbackClassEquals(method, null);
-
-      checkFilters(request);
-   }
-
-   /*********************** External Network ********************** */
-
-   public void testListExternalNetworks() throws SecurityException, 
NoSuchMethodException, IOException {
-      Invokable<?, ?> method = method(EnterpriseApi.class, 
"listExternalNetworks", EnterpriseDto.class);
-      GeneratedHttpRequest request = processor.apply(Invocation.create(method,
-            ImmutableList.<Object> of(EnterpriseResources.enterprisePut())));
-
-      assertRequestLineEquals(request, "GET 
http://localhost/api/admin/enterprises/1/action/externalnetworks HTTP/1.1");
-      assertNonPayloadHeadersEqual(request, "Accept: " + 
VLANNetworksDto.BASE_MEDIA_TYPE + "\n");
-      assertPayloadEquals(request, null, null, false);
-
-      assertResponseParserClassEquals(method, request, ParseXMLWithJAXB.class);
-      assertSaxResponseParserClassEquals(method, null);
-      assertFallbackClassEquals(method, null);
-
-      checkFilters(request);
-   }
-
-   /*********************** Cloud ********************** */
-
-   public void testListVirtualMachines() throws SecurityException, 
NoSuchMethodException, IOException {
-      Invokable<?, ?> method = method(EnterpriseApi.class, 
"listVirtualMachines", EnterpriseDto.class);
-      GeneratedHttpRequest request = processor.apply(Invocation.create(method,
-            ImmutableList.<Object> of(EnterpriseResources.enterprisePut())));
-
-      assertRequestLineEquals(request, "GET 
http://localhost/api/admin/enterprises/1/action/virtualmachines HTTP/1.1");
-      assertNonPayloadHeadersEqual(request, "Accept: " + 
VirtualMachinesWithNodeExtendedDto.BASE_MEDIA_TYPE + "\n");
-      assertPayloadEquals(request, null, null, false);
-
-      assertResponseParserClassEquals(method, request, ParseXMLWithJAXB.class);
-      assertSaxResponseParserClassEquals(method, null);
-      assertFallbackClassEquals(method, null);
-
-      checkFilters(request);
-   }
-
-   public void testListVirtualAppliances() throws SecurityException, 
NoSuchMethodException, IOException {
-      Invokable<?, ?> method = method(EnterpriseApi.class, 
"listVirtualAppliances", EnterpriseDto.class);
-      GeneratedHttpRequest request = processor.apply(Invocation.create(method,
-            ImmutableList.<Object> of(EnterpriseResources.enterprisePut())));
-
-      assertRequestLineEquals(request, "GET 
http://localhost/api/admin/enterprises/1/action/virtualappliances HTTP/1.1");
-      assertNonPayloadHeadersEqual(request, "Accept: " + 
VirtualAppliancesDto.BASE_MEDIA_TYPE + "\n");
-      assertPayloadEquals(request, null, null, false);
-
-      assertResponseParserClassEquals(method, request, ParseXMLWithJAXB.class);
-      assertSaxResponseParserClassEquals(method, null);
-      assertFallbackClassEquals(method, null);
-
-      checkFilters(request);
-   }
-
-   /*********************** Machine ********************** */
-
-   public void testListReservedMachines() throws SecurityException, 
NoSuchMethodException, IOException {
-      Invokable<?, ?> method = method(EnterpriseApi.class, 
"listReservedMachines", EnterpriseDto.class);
-      GeneratedHttpRequest request = processor.apply(Invocation.create(method,
-            ImmutableList.<Object> of(EnterpriseResources.enterprisePut())));
-
-      assertRequestLineEquals(request, "GET 
http://localhost/api/admin/enterprises/1/reservedmachines HTTP/1.1");
-      assertNonPayloadHeadersEqual(request, "Accept: " + 
MachinesDto.BASE_MEDIA_TYPE + "\n");
-      assertPayloadEquals(request, null, null, false);
-
-      assertResponseParserClassEquals(method, request, ParseXMLWithJAXB.class);
-      assertSaxResponseParserClassEquals(method, null);
-      assertFallbackClassEquals(method, null);
-
-      checkFilters(request);
-   }
-
-   /*********************** Template definition list ***********************/
-
-   public void testListTemplateDefinitionLists() throws SecurityException, 
NoSuchMethodException, IOException {
-      Invokable<?, ?> method = method(EnterpriseApi.class, 
"listTemplateDefinitionLists", EnterpriseDto.class);
-      GeneratedHttpRequest request = processor.apply(Invocation.create(method,
-            ImmutableList.<Object> of(EnterpriseResources.enterprisePut())));
-
-      assertRequestLineEquals(request,
-            "GET 
http://localhost/api/admin/enterprises/1/appslib/templateDefinitionLists 
HTTP/1.1");
-      assertNonPayloadHeadersEqual(request, "Accept: " + 
TemplateDefinitionListsDto.BASE_MEDIA_TYPE + "\n");
-      assertPayloadEquals(request, null, null, false);
-
-      assertResponseParserClassEquals(method, request, ParseXMLWithJAXB.class);
-      assertSaxResponseParserClassEquals(method, null);
-      assertFallbackClassEquals(method, null);
-
-      checkFilters(request);
-   }
-
-   public void testCreateTemplateDefinitionList() throws SecurityException, 
NoSuchMethodException, IOException {
-      EnterpriseDto enterprise = EnterpriseResources.enterprisePut();
-      TemplateDefinitionListDto template = 
EnterpriseResources.templateListPost();
-
-      Invokable<?, ?> method = method(EnterpriseApi.class, 
"createTemplateDefinitionList", EnterpriseDto.class,
-            TemplateDefinitionListDto.class);
-      GeneratedHttpRequest request = processor.apply(Invocation.create(method,
-            ImmutableList.<Object> of(enterprise, template)));
-
-      assertRequestLineEquals(request,
-            "POST 
http://localhost/api/admin/enterprises/1/appslib/templateDefinitionLists 
HTTP/1.1");
-      assertNonPayloadHeadersEqual(request, "Accept: " + 
TemplateDefinitionListDto.BASE_MEDIA_TYPE + "\n");
-      assertPayloadEquals(request, 
withHeader(EnterpriseResources.templateListPostPayload()),
-            TemplateDefinitionListDto.class, 
TemplateDefinitionListDto.BASE_MEDIA_TYPE, false);
-
-      assertResponseParserClassEquals(method, request, ParseXMLWithJAXB.class);
-      assertSaxResponseParserClassEquals(method, null);
-      assertFallbackClassEquals(method, null);
-
-      checkFilters(request);
-   }
-
-   public void testUpdateTemplateDefinitionList() throws SecurityException, 
NoSuchMethodException, IOException {
-      TemplateDefinitionListDto template = 
EnterpriseResources.templateListPut();
-
-      Invokable<?, ?> method = method(EnterpriseApi.class, 
"updateTemplateDefinitionList",
-            TemplateDefinitionListDto.class);
-      GeneratedHttpRequest request = processor.apply(Invocation.create(method, 
ImmutableList.<Object> of(template)));
-
-      assertRequestLineEquals(request,
-            "PUT 
http://localhost/api/admin/enterprises/1/appslib/templateDefinitionLists/1 
HTTP/1.1");
-      assertNonPayloadHeadersEqual(request, "Accept: " + 
TemplateDefinitionListDto.BASE_MEDIA_TYPE + "\n");
-      assertPayloadEquals(request, 
withHeader(EnterpriseResources.templateListPutPayload()),
-            TemplateDefinitionListDto.class, 
TemplateDefinitionListDto.BASE_MEDIA_TYPE, false);
-
-      assertResponseParserClassEquals(method, request, ParseXMLWithJAXB.class);
-      assertSaxResponseParserClassEquals(method, null);
-      assertFallbackClassEquals(method, null);
-
-      checkFilters(request);
-   }
-
-   public void testDeleteTemplateDefinitionList() throws SecurityException, 
NoSuchMethodException {
-      Invokable<?, ?> method = method(EnterpriseApi.class, 
"deleteTemplateDefinitionList",
-            TemplateDefinitionListDto.class);
-      GeneratedHttpRequest request = processor.apply(Invocation.create(method,
-            ImmutableList.<Object> of(EnterpriseResources.templateListPut())));
-
-      assertRequestLineEquals(request,
-            "DELETE 
http://localhost/api/admin/enterprises/1/appslib/templateDefinitionLists/1 
HTTP/1.1");
-      assertNonPayloadHeadersEqual(request, "");
-      assertPayloadEquals(request, null, null, false);
-
-      assertResponseParserClassEquals(method, request, 
ReleasePayloadAndReturn.class);
-      assertSaxResponseParserClassEquals(method, null);
-      assertFallbackClassEquals(method, null);
-
-      checkFilters(request);
-   }
-
-   public void testGetTemplateDefinitionList() throws SecurityException, 
NoSuchMethodException, IOException {
-      Invokable<?, ?> method = method(EnterpriseApi.class, 
"getTemplateDefinitionList", EnterpriseDto.class,
-            Integer.class);
-      GeneratedHttpRequest request = processor.apply(Invocation.create(method,
-            ImmutableList.<Object> of(EnterpriseResources.enterprisePut(), 
1)));
-
-      assertRequestLineEquals(request,
-            "GET 
http://localhost/api/admin/enterprises/1/appslib/templateDefinitionLists/1 
HTTP/1.1");
-      assertNonPayloadHeadersEqual(request, "Accept: " + 
TemplateDefinitionListDto.BASE_MEDIA_TYPE + "\n");
-      assertPayloadEquals(request, null, null, false);
-
-      assertResponseParserClassEquals(method, request, ParseXMLWithJAXB.class);
-      assertSaxResponseParserClassEquals(method, null);
-      assertFallbackClassEquals(method, NullOnNotFoundOr404.class);
-
-      checkFilters(request);
-   }
-
-   public void testListTemplateListStatus() throws SecurityException, 
NoSuchMethodException, IOException {
-      Invokable<?, ?> method = method(EnterpriseApi.class, 
"listTemplateListStatus", TemplateDefinitionListDto.class,
-            DatacenterDto.class);
-      GeneratedHttpRequest request = processor.apply(Invocation.create(method,
-            ImmutableList.<Object> of(EnterpriseResources.templateListPut(), 
InfrastructureResources.datacenterPut())));
-
-      assertRequestLineEquals(
-            request,
-            "GET 
http://localhost/api/admin/enterprises/1/appslib/templateDefinitionLists/1/actions/repositoryStatus?datacenterId=1
 HTTP/1.1");
-      assertNonPayloadHeadersEqual(request, "Accept: " + 
TemplatesStateDto.BASE_MEDIA_TYPE + "\n");
-      assertPayloadEquals(request, null, null, false);
-
-      assertResponseParserClassEquals(method, request, ParseXMLWithJAXB.class);
-      assertSaxResponseParserClassEquals(method, null);
-      assertFallbackClassEquals(method, null);
-
-      checkFilters(request);
-   }
-}

http://git-wip-us.apache.org/repos/asf/jclouds-labs/blob/1b689dc1/abiquo/src/test/java/org/jclouds/abiquo/features/EventApiExpectTest.java
----------------------------------------------------------------------
diff --git 
a/abiquo/src/test/java/org/jclouds/abiquo/features/EventApiExpectTest.java 
b/abiquo/src/test/java/org/jclouds/abiquo/features/EventApiExpectTest.java
deleted file mode 100644
index dc66a50..0000000
--- a/abiquo/src/test/java/org/jclouds/abiquo/features/EventApiExpectTest.java
+++ /dev/null
@@ -1,106 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF 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.abiquo.features;
-
-import static org.testng.Assert.assertEquals;
-import static org.testng.Assert.assertNotNull;
-
-import java.net.URI;
-import java.util.List;
-
-import org.jclouds.abiquo.AbiquoApi;
-import org.jclouds.abiquo.domain.PaginatedCollection;
-import org.jclouds.abiquo.domain.event.options.EventOptions;
-import org.jclouds.collect.PagedIterable;
-import org.jclouds.http.HttpRequest;
-import org.jclouds.http.HttpResponse;
-import org.testng.annotations.Test;
-
-import com.abiquo.server.core.event.EventDto;
-import com.abiquo.server.core.event.EventsDto;
-
-/**
- * Expect tests for the {@link EventApi}.
- */
-@Test(groups = "unit", testName = "EventApiExpectTest")
-public class EventApiExpectTest extends BaseAbiquoApiExpectTest<EventApi> {
-
-   public void testListEventsWithPagination() {
-      EventApi api = requestSendsResponse(
-            
HttpRequest.builder().method("GET").endpoint(URI.create("http://localhost/api/events";))
 //
-                  .addHeader("Cookie", tokenAuth) //
-                  .addHeader("Accept", normalize(EventsDto.MEDIA_TYPE)) //
-                  .addQueryParam("limit", "1") //
-                  .addQueryParam("has", "text") //
-                  .build(),
-            HttpResponse
-                  .builder()
-                  .statusCode(200)
-                  .payload(
-                        
payloadFromResourceWithContentType("/payloads/events-page.xml", 
normalize(EventsDto.MEDIA_TYPE))) //
-                  .build());
-
-      EventOptions options = 
EventOptions.builder().limit(1).has("text").build();
-      PaginatedCollection<EventDto, EventsDto> result = 
api.listEvents(options);
-
-      assertEquals(result.size(), 2);
-      assertEquals(result.getTotalSize().intValue(), 4);
-      assertEquals(result.get(0).getId().intValue(), 109);
-      assertNotNull(result.searchLink("first"));
-      assertNotNull(result.searchLink("last"));
-   }
-
-   public void testListEventsReturns2xx() {
-      EventApi api = requestsSendResponses(
-            
HttpRequest.builder().method("GET").endpoint(URI.create("http://localhost/api/events";))
 //
-                  .addHeader("Cookie", tokenAuth) //
-                  .addHeader("Accept", normalize(EventsDto.MEDIA_TYPE)) //
-                  .build(),
-            HttpResponse
-                  .builder()
-                  .statusCode(200)
-                  .payload(
-                        
payloadFromResourceWithContentType("/payloads/events-page.xml", 
normalize(EventsDto.MEDIA_TYPE))) //
-                  .build(),
-            
HttpRequest.builder().method("GET").endpoint(URI.create("http://localhost/api/events";))
 //
-                  .addHeader("Cookie", tokenAuth) //
-                  .addHeader("Accept", normalize(EventsDto.MEDIA_TYPE)) //
-                  .addQueryParam("startwith", "1") //
-                  .build(),
-            HttpResponse
-                  .builder()
-                  .statusCode(200)
-                  .payload(
-                        
payloadFromResourceWithContentType("/payloads/events-lastpage.xml",
-                              normalize(EventsDto.MEDIA_TYPE))) //
-                  .build());
-
-      PagedIterable<EventDto> result = api.listEvents();
-      List<EventDto> all = result.concat().toList();
-
-      assertEquals(all.size(), 4);
-      assertEquals(all.get(0).getId().intValue(), 109);
-      assertEquals(all.get(1).getId().intValue(), 108);
-      assertEquals(all.get(2).getId().intValue(), 110);
-      assertEquals(all.get(3).getId().intValue(), 111);
-   }
-
-   @Override
-   protected EventApi clientFrom(AbiquoApi api) {
-      return api.getEventApi();
-   }
-}

http://git-wip-us.apache.org/repos/asf/jclouds-labs/blob/1b689dc1/abiquo/src/test/java/org/jclouds/abiquo/features/InfrastructureApiExpectTest.java
----------------------------------------------------------------------
diff --git 
a/abiquo/src/test/java/org/jclouds/abiquo/features/InfrastructureApiExpectTest.java
 
b/abiquo/src/test/java/org/jclouds/abiquo/features/InfrastructureApiExpectTest.java
deleted file mode 100644
index ab8e7ee..0000000
--- 
a/abiquo/src/test/java/org/jclouds/abiquo/features/InfrastructureApiExpectTest.java
+++ /dev/null
@@ -1,424 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF 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.abiquo.features;
-
-import static org.testng.Assert.assertEquals;
-import static org.testng.Assert.assertNotNull;
-import static org.testng.Assert.assertNull;
-
-import java.net.URI;
-import java.util.List;
-
-import org.jclouds.abiquo.AbiquoApi;
-import org.jclouds.abiquo.domain.PaginatedCollection;
-import org.jclouds.abiquo.domain.network.options.IpOptions;
-import org.jclouds.collect.PagedIterable;
-import org.jclouds.http.HttpRequest;
-import org.jclouds.http.HttpResponse;
-import org.testng.annotations.Test;
-
-import com.abiquo.model.rest.RESTLink;
-import com.abiquo.server.core.infrastructure.DatacenterDto;
-import com.abiquo.server.core.infrastructure.network.ExternalIpDto;
-import com.abiquo.server.core.infrastructure.network.ExternalIpsDto;
-import com.abiquo.server.core.infrastructure.network.NetworkServiceTypeDto;
-import com.abiquo.server.core.infrastructure.network.NetworkServiceTypesDto;
-import com.abiquo.server.core.infrastructure.network.PublicIpDto;
-import com.abiquo.server.core.infrastructure.network.PublicIpsDto;
-import com.abiquo.server.core.infrastructure.network.UnmanagedIpDto;
-import com.abiquo.server.core.infrastructure.network.UnmanagedIpsDto;
-import com.abiquo.server.core.infrastructure.network.VLANNetworkDto;
-
-/**
- * Expect tests for the {@link InfrastructureApi} class.
- */
-@Test(groups = "unit", testName = "InfrastructureApiExpectTest")
-public class InfrastructureApiExpectTest extends 
BaseAbiquoApiExpectTest<InfrastructureApi> {
-
-   public void testListNetworkServiceTypesReturns2xx() {
-      InfrastructureApi api = requestSendsResponse(
-            HttpRequest.builder() //
-                  .method("GET") //
-                  
.endpoint(URI.create("http://localhost/api/admin/datacenters/1/networkservicetypes";))
 //
-                  .addHeader("Cookie", tokenAuth) //
-                  .addHeader("Accept", 
normalize(NetworkServiceTypesDto.MEDIA_TYPE)) //
-                  .build(),
-            HttpResponse
-                  .builder()
-                  .statusCode(200)
-                  .payload(
-                        
payloadFromResourceWithContentType("/payloads/nst-list.xml",
-                              normalize(NetworkServiceTypesDto.MEDIA_TYPE))) //
-                  .build());
-
-      DatacenterDto datacenter = new DatacenterDto();
-      datacenter.addLink(new RESTLink("networkservicetypes",
-            "http://localhost/api/admin/datacenters/1/networkservicetypes";));
-
-      NetworkServiceTypesDto nsts = api.listNetworkServiceTypes(datacenter);
-      assertEquals(nsts.getCollection().size(), 2);
-      assertEquals(nsts.getCollection().get(0).getName(), "Service Network");
-      assertEquals(nsts.getCollection().get(1).getName(), "Storage Network");
-   }
-
-   public void testGetNetworkServiceTypeReturns2xx() {
-      InfrastructureApi api = requestSendsResponse(
-            HttpRequest.builder() //
-                  .method("GET") //
-                  
.endpoint(URI.create("http://localhost/api/admin/datacenters/1/networkservicetypes/1";))
 //
-                  .addHeader("Cookie", tokenAuth) //
-                  .addHeader("Accept", 
normalize(NetworkServiceTypeDto.MEDIA_TYPE)) //
-                  .build(),
-            HttpResponse
-                  .builder()
-                  .statusCode(200)
-                  .payload(
-                        
payloadFromResourceWithContentType("/payloads/nst-edit.xml",
-                              normalize(NetworkServiceTypeDto.MEDIA_TYPE))) //
-                  .build());
-
-      DatacenterDto datacenter = new DatacenterDto();
-      datacenter.addLink(new RESTLink("networkservicetypes",
-            "http://localhost/api/admin/datacenters/1/networkservicetypes";));
-
-      NetworkServiceTypeDto created = api.getNetworkServiceType(datacenter, 1);
-      assertNotNull(created.getId());
-      assertEquals(created.getName(), "Service Network");
-      assertEquals(created.isDefaultNST(), true);
-   }
-
-   public void testGetNetworkServiceTypeReturns4xx() {
-      InfrastructureApi api = requestSendsResponse(HttpRequest.builder() //
-            .method("GET") //
-            
.endpoint(URI.create("http://localhost/api/admin/datacenters/1/networkservicetypes/1";))
 //
-            .addHeader("Cookie", tokenAuth) //
-            .addHeader("Accept", normalize(NetworkServiceTypeDto.MEDIA_TYPE)) 
//
-            .build(), //
-            HttpResponse.builder().statusCode(404).build());
-
-      DatacenterDto datacenter = new DatacenterDto();
-      datacenter.addLink(new RESTLink("networkservicetypes",
-            "http://localhost/api/admin/datacenters/1/networkservicetypes";));
-
-      assertNull(api.getNetworkServiceType(datacenter, 1));
-   }
-
-   public void testCreateNetworkServiceTypeReturns2xx() {
-      InfrastructureApi api = requestSendsResponse(
-            HttpRequest.builder() //
-                  .method("POST") //
-                  
.endpoint(URI.create("http://localhost/api/admin/datacenters/1/networkservicetypes";))
 //
-                  .addHeader("Cookie", tokenAuth) //
-                  .addHeader("Accept", 
normalize(NetworkServiceTypeDto.MEDIA_TYPE))
-                  //
-                  .payload(
-                        
payloadFromResourceWithContentType("/payloads/nst-create.xml",
-                              normalize(NetworkServiceTypeDto.MEDIA_TYPE))) //
-                  .build(),
-            HttpResponse
-                  .builder()
-                  .statusCode(201)
-                  .payload(
-                        
payloadFromResourceWithContentType("/payloads/nst-edit.xml",
-                              normalize(NetworkServiceTypeDto.MEDIA_TYPE))) //
-                  .build());
-
-      DatacenterDto datacenter = new DatacenterDto();
-      datacenter.addLink(new RESTLink("networkservicetypes",
-            "http://localhost/api/admin/datacenters/1/networkservicetypes";));
-
-      NetworkServiceTypeDto nst = new NetworkServiceTypeDto();
-      nst.setName("Service Network");
-      nst.setDefaultNST(true);
-
-      NetworkServiceTypeDto created = api.createNetworkServiceType(datacenter, 
nst);
-      assertNotNull(created.getId());
-      assertEquals(created.getName(), "Service Network");
-      assertEquals(created.isDefaultNST(), true);
-   }
-
-   public void testUpdateNetworkServiceTypeReturns2xx() {
-      InfrastructureApi api = requestSendsResponse(
-            HttpRequest.builder() //
-                  .method("PUT") //
-                  
.endpoint(URI.create("http://localhost/api/admin/datacenters/1/networkservicetypes/1";))
 //
-                  .addHeader("Cookie", tokenAuth) //
-                  .addHeader("Accept", 
normalize(NetworkServiceTypeDto.MEDIA_TYPE))
-                  //
-                  .payload(
-                        
payloadFromResourceWithContentType("/payloads/nst-edit.xml",
-                              normalize(NetworkServiceTypeDto.MEDIA_TYPE))) //
-                  .build(),
-            HttpResponse
-                  .builder()
-                  .statusCode(200)
-                  .payload(
-                        
payloadFromResourceWithContentType("/payloads/nst-edit.xml",
-                              normalize(NetworkServiceTypeDto.MEDIA_TYPE))) //
-                  .build());
-
-      NetworkServiceTypeDto nst = new NetworkServiceTypeDto();
-      RESTLink editLink = new RESTLink("edit", 
"http://localhost/api/admin/datacenters/1/networkservicetypes/1";);
-      editLink.setType(NetworkServiceTypeDto.BASE_MEDIA_TYPE);
-      nst.addLink(editLink);
-      nst.setId(1);
-      nst.setDefaultNST(true);
-      nst.setName("Service Network");
-
-      NetworkServiceTypeDto created = api.updateNetworkServiceType(nst);
-      assertNotNull(created.getId());
-      assertEquals(created.getName(), "Service Network");
-   }
-
-   public void testDeleteNetworkServiceTypeReturns2xx() {
-      InfrastructureApi api = requestSendsResponse(HttpRequest.builder() //
-            .method("DELETE") //
-            
.endpoint(URI.create("http://localhost/api/admin/datacenters/1/networkservicetypes/1";))
 //
-            .addHeader("Cookie", tokenAuth) //
-            .build(), //
-            HttpResponse.builder().statusCode(204).build());
-
-      NetworkServiceTypeDto nst = new NetworkServiceTypeDto();
-      RESTLink editLink = new RESTLink("edit", 
"http://localhost/api/admin/datacenters/1/networkservicetypes/1";);
-      editLink.setType(NetworkServiceTypeDto.BASE_MEDIA_TYPE);
-      nst.addLink(editLink);
-
-      api.deleteNetworkServiceType(nst);
-   }
-
-   public void testListPublicIps() {
-      InfrastructureApi api = requestsSendResponses(
-            HttpRequest.builder() //
-                  .method("GET") //
-                  
.endpoint(URI.create("http://localhost/api/admin/datacenters/1/network/1/ips";)) 
//
-                  .addHeader("Cookie", tokenAuth) //
-                  .addHeader("Accept", normalize(PublicIpsDto.MEDIA_TYPE)) //
-                  .build(),
-            HttpResponse
-                  .builder()
-                  .statusCode(200)
-                  .payload(
-                        
payloadFromResourceWithContentType("/payloads/publicips-page.xml",
-                              normalize(PublicIpsDto.MEDIA_TYPE))) //
-                  .build(),
-            HttpRequest.builder() //
-                  .method("GET") //
-                  
.endpoint(URI.create("http://localhost/api/admin/datacenters/1/network/1/ips";)) 
//
-                  .addHeader("Cookie", tokenAuth) //
-                  .addHeader("Accept", normalize(PublicIpsDto.MEDIA_TYPE)) //
-                  .addQueryParam("startwith", "3") //
-                  .build(),
-            HttpResponse
-                  .builder()
-                  .statusCode(200)
-                  .payload(
-                        
payloadFromResourceWithContentType("/payloads/publicips-lastpage.xml",
-                              normalize(PublicIpsDto.MEDIA_TYPE))) //
-                  .build());
-
-      VLANNetworkDto vlan = new VLANNetworkDto();
-      vlan.addLink(new RESTLink("ips", 
"http://localhost/api/admin/datacenters/1/network/1/ips";));
-
-      PagedIterable<PublicIpDto> publicIps = api.listPublicIps(vlan);
-      List<PublicIpDto> ips = publicIps.concat().toList();
-
-      assertEquals(ips.size(), 4);
-      assertEquals(ips.get(0).getId().intValue(), 1);
-      assertEquals(ips.get(1).getId().intValue(), 2);
-      assertEquals(ips.get(2).getId().intValue(), 3);
-      assertEquals(ips.get(3).getId().intValue(), 4);
-   }
-
-   public void testListPublicIpsWithPagination() {
-      InfrastructureApi api = requestSendsResponse(
-            HttpRequest.builder() //
-                  .method("GET") //
-                  
.endpoint(URI.create("http://localhost/api/admin/datacenters/1/network/1/ips";)) 
//
-                  .addHeader("Cookie", tokenAuth) //
-                  .addHeader("Accept", normalize(PublicIpsDto.MEDIA_TYPE)) //
-                  .addQueryParam("startwith", "3") //
-                  .build(),
-            HttpResponse
-                  .builder()
-                  .statusCode(200)
-                  .payload(
-                        
payloadFromResourceWithContentType("/payloads/publicips-lastpage.xml",
-                              normalize(PublicIpsDto.MEDIA_TYPE))) //
-                  .build());
-
-      VLANNetworkDto vlan = new VLANNetworkDto();
-      vlan.addLink(new RESTLink("ips", 
"http://localhost/api/admin/datacenters/1/network/1/ips";));
-
-      IpOptions options = IpOptions.builder().startWith(3).build();
-      PaginatedCollection<PublicIpDto, PublicIpsDto> ips = 
api.listPublicIps(vlan, options);
-
-      assertEquals(ips.size(), 2);
-      assertEquals(ips.getTotalSize().intValue(), 4);
-      assertEquals(ips.get(0).getId().intValue(), 3);
-      assertEquals(ips.get(1).getId().intValue(), 4);
-   }
-
-   public void testListExternalIps() {
-      InfrastructureApi api = requestsSendResponses(
-            HttpRequest.builder() //
-                  .method("GET") //
-                  
.endpoint(URI.create("http://localhost/api/admin/enterprises/2/limits/2/externalnetworks/2/ips";))
 //
-                  .addHeader("Cookie", tokenAuth) //
-                  .addHeader("Accept", normalize(ExternalIpsDto.MEDIA_TYPE)) //
-                  .build(),
-            HttpResponse
-                  .builder()
-                  .statusCode(200)
-                  .payload(
-                        
payloadFromResourceWithContentType("/payloads/externalips-page.xml",
-                              normalize(ExternalIpsDto.MEDIA_TYPE))) //
-                  .build(),
-            HttpRequest.builder() //
-                  .method("GET") //
-                  
.endpoint(URI.create("http://localhost/api/admin/enterprises/2/limits/2/externalnetworks/2/ips";))
 //
-                  .addHeader("Cookie", tokenAuth) //
-                  .addHeader("Accept", normalize(ExternalIpsDto.MEDIA_TYPE)) //
-                  .addQueryParam("startwith", "3") //
-                  .build(),
-            HttpResponse
-                  .builder()
-                  .statusCode(200)
-                  .payload(
-                        
payloadFromResourceWithContentType("/payloads/externalips-lastpage.xml",
-                              normalize(ExternalIpsDto.MEDIA_TYPE))) //
-                  .build());
-
-      VLANNetworkDto vlan = new VLANNetworkDto();
-      vlan.addLink(new RESTLink("ips", 
"http://localhost/api/admin/enterprises/2/limits/2/externalnetworks/2/ips";));
-
-      PagedIterable<ExternalIpDto> publicIps = api.listExternalIps(vlan);
-      List<ExternalIpDto> ips = publicIps.concat().toList();
-
-      assertEquals(ips.size(), 4);
-      assertEquals(ips.get(0).getId().intValue(), 1);
-      assertEquals(ips.get(1).getId().intValue(), 2);
-      assertEquals(ips.get(2).getId().intValue(), 3);
-      assertEquals(ips.get(3).getId().intValue(), 4);
-   }
-
-   public void testListExternalIpsWithPagination() {
-      InfrastructureApi api = requestSendsResponse(
-            HttpRequest.builder() //
-                  .method("GET") //
-                  
.endpoint(URI.create("http://localhost/api/admin/enterprises/2/limits/2/externalnetworks/2/ips";))
 //
-                  .addHeader("Cookie", tokenAuth) //
-                  .addHeader("Accept", normalize(ExternalIpsDto.MEDIA_TYPE)) //
-                  .addQueryParam("startwith", "3") //
-                  .build(),
-            HttpResponse
-                  .builder()
-                  .statusCode(200)
-                  .payload(
-                        
payloadFromResourceWithContentType("/payloads/externalips-lastpage.xml",
-                              normalize(ExternalIpsDto.MEDIA_TYPE))) //
-                  .build());
-
-      VLANNetworkDto vlan = new VLANNetworkDto();
-      vlan.addLink(new RESTLink("ips", 
"http://localhost/api/admin/enterprises/2/limits/2/externalnetworks/2/ips";));
-
-      IpOptions options = IpOptions.builder().startWith(3).build();
-      PaginatedCollection<ExternalIpDto, ExternalIpsDto> ips = 
api.listExternalIps(vlan, options);
-
-      assertEquals(ips.size(), 2);
-      assertEquals(ips.getTotalSize().intValue(), 4);
-      assertEquals(ips.get(0).getId().intValue(), 3);
-      assertEquals(ips.get(1).getId().intValue(), 4);
-   }
-
-   public void testListUnmanagedIps() {
-      InfrastructureApi api = requestsSendResponses(
-            HttpRequest.builder() //
-                  .method("GET") //
-                  
.endpoint(URI.create("http://localhost/api/admin/enterprises/2/limits/2/externalnetworks/2/ips";))
 //
-                  .addHeader("Cookie", tokenAuth) //
-                  .addHeader("Accept", normalize(UnmanagedIpsDto.MEDIA_TYPE)) 
//
-                  .build(),
-            HttpResponse
-                  .builder()
-                  .statusCode(200)
-                  .payload(
-                        
payloadFromResourceWithContentType("/payloads/unmanagedips-page.xml",
-                              normalize(UnmanagedIpsDto.MEDIA_TYPE))) //
-                  .build(),
-            HttpRequest.builder() //
-                  .method("GET") //
-                  
.endpoint(URI.create("http://localhost/api/admin/enterprises/2/limits/2/externalnetworks/2/ips";))
 //
-                  .addHeader("Cookie", tokenAuth) //
-                  .addHeader("Accept", normalize(UnmanagedIpsDto.MEDIA_TYPE)) 
//
-                  .addQueryParam("startwith", "3") //
-                  .build(),
-            HttpResponse
-                  .builder()
-                  .statusCode(200)
-                  .payload(
-                        
payloadFromResourceWithContentType("/payloads/unmanagedips-lastpage.xml",
-                              normalize(UnmanagedIpsDto.MEDIA_TYPE))) //
-                  .build());
-
-      VLANNetworkDto vlan = new VLANNetworkDto();
-      vlan.addLink(new RESTLink("ips", 
"http://localhost/api/admin/enterprises/2/limits/2/externalnetworks/2/ips";));
-
-      PagedIterable<UnmanagedIpDto> unmanagedIps = api.listUnmanagedIps(vlan);
-      List<UnmanagedIpDto> ips = unmanagedIps.concat().toList();
-
-      assertEquals(ips.size(), 4);
-      assertEquals(ips.get(0).getId().intValue(), 1);
-      assertEquals(ips.get(1).getId().intValue(), 2);
-      assertEquals(ips.get(2).getId().intValue(), 3);
-      assertEquals(ips.get(3).getId().intValue(), 4);
-   }
-
-   public void testListUnmanagedIpsWithPagination() {
-      InfrastructureApi api = requestSendsResponse(
-            HttpRequest.builder() //
-                  .method("GET") //
-                  
.endpoint(URI.create("http://localhost/api/admin/enterprises/2/limits/2/externalnetworks/2/ips";))
 //
-                  .addHeader("Cookie", tokenAuth) //
-                  .addHeader("Accept", normalize(UnmanagedIpsDto.MEDIA_TYPE)) 
//
-                  .addQueryParam("startwith", "3") //
-                  .build(),
-            HttpResponse
-                  .builder()
-                  .statusCode(200)
-                  .payload(
-                        
payloadFromResourceWithContentType("/payloads/unmanagedips-lastpage.xml",
-                              normalize(UnmanagedIpsDto.MEDIA_TYPE))) //
-                  .build());
-
-      VLANNetworkDto vlan = new VLANNetworkDto();
-      vlan.addLink(new RESTLink("ips", 
"http://localhost/api/admin/enterprises/2/limits/2/externalnetworks/2/ips";));
-
-      IpOptions options = IpOptions.builder().startWith(3).build();
-      PaginatedCollection<UnmanagedIpDto, UnmanagedIpsDto> ips = 
api.listUnmanagedIps(vlan, options);
-
-      assertEquals(ips.size(), 2);
-      assertEquals(ips.getTotalSize().intValue(), 4);
-      assertEquals(ips.get(0).getId().intValue(), 3);
-      assertEquals(ips.get(1).getId().intValue(), 4);
-   }
-
-   @Override
-   protected InfrastructureApi clientFrom(AbiquoApi api) {
-      return api.getInfrastructureApi();
-   }
-
-}

Reply via email to