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(); - } - -}
