Updated Branches:
  refs/heads/master 91960ff11 -> c5e108a83

http://git-wip-us.apache.org/repos/asf/incubator-jclouds-labs/blob/c5e108a8/abiquo/src/test/java/org/jclouds/abiquo/features/PricingApiTest.java
----------------------------------------------------------------------
diff --git 
a/abiquo/src/test/java/org/jclouds/abiquo/features/PricingApiTest.java 
b/abiquo/src/test/java/org/jclouds/abiquo/features/PricingApiTest.java
deleted file mode 100644
index 94ef8ed..0000000
--- a/abiquo/src/test/java/org/jclouds/abiquo/features/PricingApiTest.java
+++ /dev/null
@@ -1,434 +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.PricingResources;
-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.server.core.pricing.CostCodeCurrenciesDto;
-import com.abiquo.server.core.pricing.CostCodeDto;
-import com.abiquo.server.core.pricing.CostCodesDto;
-import com.abiquo.server.core.pricing.CurrenciesDto;
-import com.abiquo.server.core.pricing.CurrencyDto;
-import com.abiquo.server.core.pricing.PricingCostCodeDto;
-import com.abiquo.server.core.pricing.PricingCostCodesDto;
-import com.abiquo.server.core.pricing.PricingTemplateDto;
-import com.abiquo.server.core.pricing.PricingTemplatesDto;
-import com.abiquo.server.core.pricing.PricingTierDto;
-import com.abiquo.server.core.pricing.PricingTiersDto;
-import com.google.common.collect.ImmutableList;
-import com.google.common.reflect.Invokable;
-
-/**
- * Tests annotation parsing of {@code PricingApi}.
- * 
- * @author Ignasi Barrera
- * @author Susana Acedo
- */
-@Test(groups = "unit", singleThreaded = true, testName = "PricingApiTest")
-public class PricingApiTest extends BaseAbiquoApiTest<PricingApi> {
-   /*********************** Currency ***********************/
-
-   public void testListCurrencies() throws SecurityException, 
NoSuchMethodException, IOException {
-      Invokable<?, ?> method = method(PricingApi.class, "listCurrencies");
-      GeneratedHttpRequest request = processor.apply(Invocation.create(method, 
ImmutableList.of()));
-
-      assertRequestLineEquals(request, "GET 
http://localhost/api/config/currencies HTTP/1.1");
-      assertNonPayloadHeadersEqual(request, "Accept: " + 
CurrenciesDto.BASE_MEDIA_TYPE + "\n");
-      assertPayloadEquals(request, null, null, false);
-
-      assertResponseParserClassEquals(method, request, ParseXMLWithJAXB.class);
-      assertSaxResponseParserClassEquals(method, null);
-      assertFallbackClassEquals(method, null);
-
-      checkFilters(request);
-   }
-
-   public void testGetCurrency() throws SecurityException, 
NoSuchMethodException, IOException {
-      Invokable<?, ?> method = method(PricingApi.class, "getCurrency", 
Integer.class);
-      GeneratedHttpRequest request = processor.apply(Invocation.create(method, 
ImmutableList.<Object> of(1)));
-
-      assertRequestLineEquals(request, "GET 
http://localhost/api/config/currencies/1 HTTP/1.1");
-      assertNonPayloadHeadersEqual(request, "Accept: " + 
CurrencyDto.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 testCreateCurrency() throws SecurityException, 
NoSuchMethodException, IOException {
-      Invokable<?, ?> method = method(PricingApi.class, "createCurrency", 
CurrencyDto.class);
-      GeneratedHttpRequest request = processor.apply(Invocation.create(method,
-            ImmutableList.<Object> of(PricingResources.currencyPost())));
-
-      assertRequestLineEquals(request, "POST 
http://localhost/api/config/currencies HTTP/1.1");
-      assertNonPayloadHeadersEqual(request, "Accept: " + 
CurrencyDto.BASE_MEDIA_TYPE + "\n");
-      assertPayloadEquals(request, 
withHeader(PricingResources.currencyPostPayload()), CurrencyDto.class,
-            CurrencyDto.BASE_MEDIA_TYPE, false);
-
-      assertResponseParserClassEquals(method, request, ParseXMLWithJAXB.class);
-      assertSaxResponseParserClassEquals(method, null);
-      assertFallbackClassEquals(method, null);
-
-      checkFilters(request);
-   }
-
-   public void testUpdateCurrency() throws SecurityException, 
NoSuchMethodException, IOException {
-      Invokable<?, ?> method = method(PricingApi.class, "updateCurrency", 
CurrencyDto.class);
-      GeneratedHttpRequest request = processor.apply(Invocation.create(method,
-            ImmutableList.<Object> of(PricingResources.currencyPut())));
-
-      assertRequestLineEquals(request, "PUT 
http://localhost/api/config/currencies/1 HTTP/1.1");
-      assertNonPayloadHeadersEqual(request, "Accept: " + 
CurrencyDto.BASE_MEDIA_TYPE + "\n");
-      assertPayloadEquals(request, 
withHeader(PricingResources.currencyPutPayload()), CurrencyDto.class,
-            CurrencyDto.BASE_MEDIA_TYPE, false);
-
-      assertResponseParserClassEquals(method, request, ParseXMLWithJAXB.class);
-      assertSaxResponseParserClassEquals(method, null);
-      assertFallbackClassEquals(method, null);
-
-      checkFilters(request);
-   }
-
-   public void testDeleteCurrency() throws SecurityException, 
NoSuchMethodException {
-      Invokable<?, ?> method = method(PricingApi.class, "deleteCurrency", 
CurrencyDto.class);
-      GeneratedHttpRequest request = processor.apply(Invocation.create(method,
-            ImmutableList.<Object> of(PricingResources.currencyPut())));
-
-      assertRequestLineEquals(request, "DELETE 
http://localhost/api/config/currencies/1 HTTP/1.1");
-      assertNonPayloadHeadersEqual(request, "");
-      assertPayloadEquals(request, null, null, false);
-
-      assertResponseParserClassEquals(method, request, 
ReleasePayloadAndReturn.class);
-      assertSaxResponseParserClassEquals(method, null);
-      assertFallbackClassEquals(method, null);
-
-      checkFilters(request);
-   }
-
-   /*********************** Cost Code ***********************/
-
-   public void testListCostCodes() throws SecurityException, 
NoSuchMethodException, IOException {
-      Invokable<?, ?> method = method(PricingApi.class, "listCostCodes");
-      GeneratedHttpRequest request = processor.apply(Invocation.create(method, 
ImmutableList.of()));
-
-      assertRequestLineEquals(request, "GET 
http://localhost/api/config/costcodes HTTP/1.1");
-      assertNonPayloadHeadersEqual(request, "Accept: " + 
CostCodesDto.BASE_MEDIA_TYPE + "\n");
-      assertPayloadEquals(request, null, null, false);
-
-      assertResponseParserClassEquals(method, request, ParseXMLWithJAXB.class);
-      assertSaxResponseParserClassEquals(method, null);
-      assertFallbackClassEquals(method, null);
-
-      checkFilters(request);
-   }
-
-   public void testGetCostCode() throws SecurityException, 
NoSuchMethodException, IOException {
-      Invokable<?, ?> method = method(PricingApi.class, "getCostCode", 
Integer.class);
-      GeneratedHttpRequest request = processor.apply(Invocation.create(method, 
ImmutableList.<Object> of(1)));
-
-      assertRequestLineEquals(request, "GET 
http://localhost/api/config/costcodes/1 HTTP/1.1");
-      assertNonPayloadHeadersEqual(request, "Accept: " + 
CostCodeDto.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 testCreateCostCode() throws SecurityException, 
NoSuchMethodException, IOException {
-      Invokable<?, ?> method = method(PricingApi.class, "createCostCode", 
CostCodeDto.class);
-      GeneratedHttpRequest request = processor.apply(Invocation.create(method,
-            ImmutableList.<Object> of(PricingResources.costcodePost())));
-
-      assertRequestLineEquals(request, "POST 
http://localhost/api/config/costcodes HTTP/1.1");
-      assertNonPayloadHeadersEqual(request, "Accept: " + 
CostCodeDto.BASE_MEDIA_TYPE + "\n");
-      assertPayloadEquals(request, 
withHeader(PricingResources.costcodePostPayload()), CostCodeDto.class,
-            CostCodeDto.BASE_MEDIA_TYPE, false);
-
-      assertResponseParserClassEquals(method, request, ParseXMLWithJAXB.class);
-      assertSaxResponseParserClassEquals(method, null);
-      assertFallbackClassEquals(method, null);
-
-      checkFilters(request);
-   }
-
-   public void testUpdateCostCode() throws SecurityException, 
NoSuchMethodException, IOException {
-      Invokable<?, ?> method = method(PricingApi.class, "updateCostCode", 
CostCodeDto.class);
-      GeneratedHttpRequest request = processor.apply(Invocation.create(method,
-            ImmutableList.<Object> of(PricingResources.costcodePut())));
-
-      assertRequestLineEquals(request, "PUT 
http://localhost/api/config/costcodes/1 HTTP/1.1");
-      assertNonPayloadHeadersEqual(request, "Accept: " + 
CostCodeDto.BASE_MEDIA_TYPE + "\n");
-      assertPayloadEquals(request, 
withHeader(PricingResources.costcodePutPayload()), CostCodeDto.class,
-            CostCodeDto.BASE_MEDIA_TYPE, false);
-
-      assertResponseParserClassEquals(method, request, ParseXMLWithJAXB.class);
-      assertSaxResponseParserClassEquals(method, null);
-      assertFallbackClassEquals(method, null);
-
-      checkFilters(request);
-   }
-
-   public void testDeleteCostCode() throws SecurityException, 
NoSuchMethodException {
-      Invokable<?, ?> method = method(PricingApi.class, "deleteCostCode", 
CostCodeDto.class);
-      GeneratedHttpRequest request = processor.apply(Invocation.create(method,
-            ImmutableList.<Object> of(PricingResources.costcodePut())));
-
-      assertRequestLineEquals(request, "DELETE 
http://localhost/api/config/costcodes/1 HTTP/1.1");
-      assertNonPayloadHeadersEqual(request, "");
-      assertPayloadEquals(request, null, null, false);
-
-      assertResponseParserClassEquals(method, request, 
ReleasePayloadAndReturn.class);
-      assertSaxResponseParserClassEquals(method, null);
-      assertFallbackClassEquals(method, null);
-
-      checkFilters(request);
-   }
-
-   /*********************** Pricing Template ***********************/
-
-   public void testListPricingTemplates() throws SecurityException, 
NoSuchMethodException, IOException {
-      Invokable<?, ?> method = method(PricingApi.class, 
"listPricingTemplates");
-      GeneratedHttpRequest request = processor.apply(Invocation.create(method, 
ImmutableList.of()));
-
-      assertRequestLineEquals(request, "GET 
http://localhost/api/config/pricingtemplates HTTP/1.1");
-      assertNonPayloadHeadersEqual(request, "Accept: " + 
PricingTemplatesDto.BASE_MEDIA_TYPE + "\n");
-      assertPayloadEquals(request, null, null, false);
-
-      assertResponseParserClassEquals(method, request, ParseXMLWithJAXB.class);
-      assertSaxResponseParserClassEquals(method, null);
-      assertFallbackClassEquals(method, null);
-
-      checkFilters(request);
-   }
-
-   public void testGetPricingTemplate() throws SecurityException, 
NoSuchMethodException, IOException {
-      Invokable<?, ?> method = method(PricingApi.class, "getPricingTemplate", 
Integer.class);
-      GeneratedHttpRequest request = processor.apply(Invocation.create(method, 
ImmutableList.<Object> of(1)));
-
-      assertRequestLineEquals(request, "GET 
http://localhost/api/config/pricingtemplates/1 HTTP/1.1");
-      assertNonPayloadHeadersEqual(request, "Accept: " + 
PricingTemplateDto.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 testCreatePricingTemplate() throws SecurityException, 
NoSuchMethodException, IOException {
-      Invokable<?, ?> method = method(PricingApi.class, 
"createPricingTemplate", PricingTemplateDto.class);
-      GeneratedHttpRequest request = processor.apply(Invocation.create(method,
-            ImmutableList.<Object> 
of(PricingResources.pricingtemplatePost())));
-
-      assertRequestLineEquals(request, "POST 
http://localhost/api/config/pricingtemplates HTTP/1.1");
-      assertNonPayloadHeadersEqual(request, "Accept: " + 
PricingTemplateDto.BASE_MEDIA_TYPE + "\n");
-      assertPayloadEquals(request, 
withHeader(PricingResources.pricingtemplatePostPayload()), 
PricingTemplateDto.class,
-            PricingTemplateDto.BASE_MEDIA_TYPE, false);
-
-      assertResponseParserClassEquals(method, request, ParseXMLWithJAXB.class);
-      assertSaxResponseParserClassEquals(method, null);
-      assertFallbackClassEquals(method, null);
-
-      checkFilters(request);
-   }
-
-   public void testUpdatePricingTemplate() throws SecurityException, 
NoSuchMethodException, IOException {
-      Invokable<?, ?> method = method(PricingApi.class, 
"updatePricingTemplate", PricingTemplateDto.class);
-      GeneratedHttpRequest request = processor.apply(Invocation.create(method,
-            ImmutableList.<Object> of(PricingResources.pricingtemplatePut())));
-
-      assertRequestLineEquals(request, "PUT 
http://localhost/api/config/pricingtemplates/1 HTTP/1.1");
-      assertNonPayloadHeadersEqual(request, "Accept: " + 
PricingTemplateDto.BASE_MEDIA_TYPE + "\n");
-      assertPayloadEquals(request, 
withHeader(PricingResources.pricingtemplatePutPayload()), 
PricingTemplateDto.class,
-            PricingTemplateDto.BASE_MEDIA_TYPE, false);
-
-      assertResponseParserClassEquals(method, request, ParseXMLWithJAXB.class);
-      assertSaxResponseParserClassEquals(method, null);
-      assertFallbackClassEquals(method, null);
-
-      checkFilters(request);
-   }
-
-   public void testDeletePricingTemplate() throws SecurityException, 
NoSuchMethodException {
-      Invokable<?, ?> method = method(PricingApi.class, 
"deletePricingTemplate", PricingTemplateDto.class);
-      GeneratedHttpRequest request = processor.apply(Invocation.create(method,
-            ImmutableList.<Object> of(PricingResources.pricingtemplatePut())));
-
-      assertRequestLineEquals(request, "DELETE 
http://localhost/api/config/pricingtemplates/1 HTTP/1.1");
-      assertNonPayloadHeadersEqual(request, "");
-      assertPayloadEquals(request, null, null, false);
-
-      assertResponseParserClassEquals(method, request, 
ReleasePayloadAndReturn.class);
-      assertSaxResponseParserClassEquals(method, null);
-      assertFallbackClassEquals(method, null);
-
-      checkFilters(request);
-   }
-
-   /*********************** Cost Code Currency ***********************/
-
-   public void testGetCostCodeCurrencies() throws SecurityException, 
NoSuchMethodException, IOException {
-      Invokable<?, ?> method = method(PricingApi.class, 
"getCostCodeCurrencies", Integer.class, Integer.class);
-      GeneratedHttpRequest request = processor.apply(Invocation.create(method, 
ImmutableList.<Object> of(1, 1)));
-
-      assertRequestLineEquals(request, "GET 
http://localhost/api/config/costcodes/1/currencies?idCurrency=1 HTTP/1.1");
-      assertNonPayloadHeadersEqual(request, "Accept: " + 
CostCodeCurrenciesDto.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 testUpdateCostCodeCurrencies() throws SecurityException, 
NoSuchMethodException, IOException {
-      Invokable<?, ?> method = method(PricingApi.class, 
"updateCostCodeCurrencies", Integer.class,
-            CostCodeCurrenciesDto.class);
-      GeneratedHttpRequest request = processor.apply(Invocation.create(method,
-            ImmutableList.<Object> of(1, 
PricingResources.costcodecurrencyPut())));
-
-      assertRequestLineEquals(request, "PUT 
http://localhost/api/config/costcodes/1/currencies HTTP/1.1");
-      assertNonPayloadHeadersEqual(request, "Accept: " + 
CostCodeCurrenciesDto.BASE_MEDIA_TYPE + "\n");
-      assertPayloadEquals(request, 
withHeader(PricingResources.costcodecurrencyPutPayload()),
-            CostCodeCurrenciesDto.class, 
CostCodeCurrenciesDto.BASE_MEDIA_TYPE, false);
-
-      assertResponseParserClassEquals(method, request, ParseXMLWithJAXB.class);
-      assertSaxResponseParserClassEquals(method, null);
-      assertFallbackClassEquals(method, null);
-
-      checkFilters(request);
-   }
-
-   /*********************** Pricing Cost Code ***********************/
-
-   public void testGetPricingCostCodes() throws SecurityException, 
NoSuchMethodException, IOException {
-      Invokable<?, ?> method = method(PricingApi.class, "getPricingCostCodes", 
Integer.class);
-      GeneratedHttpRequest request = processor.apply(Invocation.create(method, 
ImmutableList.<Object> of(1)));
-
-      assertRequestLineEquals(request, "GET 
http://localhost/api/config/pricingtemplates/1/costcodes HTTP/1.1");
-      assertNonPayloadHeadersEqual(request, "Accept: " + 
PricingCostCodesDto.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 testGetPricingCostCode() throws SecurityException, 
NoSuchMethodException, IOException {
-      Invokable<?, ?> method = method(PricingApi.class, "getPricingCostCode", 
Integer.class, Integer.class);
-      GeneratedHttpRequest request = processor.apply(Invocation.create(method, 
ImmutableList.<Object> of(1, 1)));
-
-      assertRequestLineEquals(request, "GET 
http://localhost/api/config/pricingtemplates/1/costcodes/1 HTTP/1.1");
-      assertNonPayloadHeadersEqual(request, "Accept: " + 
PricingCostCodeDto.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 testUpdatePricingCostCode() throws SecurityException, 
NoSuchMethodException, IOException {
-      Invokable<?, ?> method = method(PricingApi.class, 
"updatePricingCostCode", PricingCostCodeDto.class,
-            Integer.class, Integer.class);
-      GeneratedHttpRequest request = processor.apply(Invocation.create(method,
-            ImmutableList.<Object> of(PricingResources.pricingCostcodePut(), 
1, 1)));
-
-      assertRequestLineEquals(request, "PUT 
http://localhost/api/config/pricingtemplates/1/costcodes/1 HTTP/1.1");
-      assertNonPayloadHeadersEqual(request, "Accept: " + 
PricingCostCodeDto.BASE_MEDIA_TYPE + "\n");
-      assertPayloadEquals(request, 
withHeader(PricingResources.pricingCostCodePutPayload()), 
PricingCostCodeDto.class,
-            PricingCostCodeDto.BASE_MEDIA_TYPE, false);
-
-      assertResponseParserClassEquals(method, request, ParseXMLWithJAXB.class);
-      assertSaxResponseParserClassEquals(method, null);
-      assertFallbackClassEquals(method, null);
-
-      checkFilters(request);
-   }
-
-   /*********************** Pricing Tier ***************************/
-
-   public void testGetPricingTiers() throws SecurityException, 
NoSuchMethodException, IOException {
-      Invokable<?, ?> method = method(PricingApi.class, "getPricingTiers", 
Integer.class);
-      GeneratedHttpRequest request = processor.apply(Invocation.create(method, 
ImmutableList.<Object> of(1)));
-
-      assertRequestLineEquals(request, "GET 
http://localhost/api/config/pricingtemplates/1/tiers HTTP/1.1");
-      assertNonPayloadHeadersEqual(request, "Accept: " + 
PricingTiersDto.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 testGetPricingTier() throws SecurityException, 
NoSuchMethodException, IOException {
-      Invokable<?, ?> method = method(PricingApi.class, "getPricingTier", 
Integer.class, Integer.class);
-      GeneratedHttpRequest request = processor.apply(Invocation.create(method, 
ImmutableList.<Object> of(1, 1)));
-
-      assertRequestLineEquals(request, "GET 
http://localhost/api/config/pricingtemplates/1/tiers/1 HTTP/1.1");
-      assertNonPayloadHeadersEqual(request, "Accept: " + 
PricingTierDto.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 testUpdatePricingTier() throws SecurityException, 
NoSuchMethodException, IOException {
-      Invokable<?, ?> method = method(PricingApi.class, "updatePricingTier", 
PricingTierDto.class, Integer.class,
-            Integer.class);
-      GeneratedHttpRequest request = processor.apply(Invocation.create(method,
-            ImmutableList.<Object> of(PricingResources.pricingTierPut(), 1, 
2)));
-
-      assertRequestLineEquals(request, "PUT 
http://localhost/api/config/pricingtemplates/1/tiers/2 HTTP/1.1");
-      assertNonPayloadHeadersEqual(request, "Accept: " + 
PricingTierDto.BASE_MEDIA_TYPE + "\n");
-      assertPayloadEquals(request, 
withHeader(PricingResources.pricingTierPutPayload()), PricingTierDto.class,
-            PricingTierDto.BASE_MEDIA_TYPE, false);
-
-      assertResponseParserClassEquals(method, request, ParseXMLWithJAXB.class);
-      assertSaxResponseParserClassEquals(method, null);
-      assertFallbackClassEquals(method, null);
-
-      checkFilters(request);
-   }
-}

http://git-wip-us.apache.org/repos/asf/incubator-jclouds-labs/blob/c5e108a8/abiquo/src/test/java/org/jclouds/abiquo/internal/AsyncMonitorTest.java
----------------------------------------------------------------------
diff --git 
a/abiquo/src/test/java/org/jclouds/abiquo/internal/AsyncMonitorTest.java 
b/abiquo/src/test/java/org/jclouds/abiquo/internal/AsyncMonitorTest.java
index 8dc00a2..e11e43a 100644
--- a/abiquo/src/test/java/org/jclouds/abiquo/internal/AsyncMonitorTest.java
+++ b/abiquo/src/test/java/org/jclouds/abiquo/internal/AsyncMonitorTest.java
@@ -32,9 +32,9 @@ import java.util.concurrent.ScheduledFuture;
 import java.util.concurrent.TimeUnit;
 
 import org.easymock.EasyMock;
-import org.jclouds.abiquo.events.monitor.MonitorEvent;
 import org.jclouds.abiquo.internal.BaseMonitoringService.AsyncMonitor;
 import org.jclouds.abiquo.monitor.MonitorStatus;
+import org.jclouds.abiquo.monitor.events.MonitorEvent;
 import org.jclouds.rest.ApiContext;
 import org.testng.annotations.Test;
 

http://git-wip-us.apache.org/repos/asf/incubator-jclouds-labs/blob/c5e108a8/abiquo/src/test/java/org/jclouds/abiquo/internal/BaseAbiquoApiLiveApiTest.java
----------------------------------------------------------------------
diff --git 
a/abiquo/src/test/java/org/jclouds/abiquo/internal/BaseAbiquoApiLiveApiTest.java
 
b/abiquo/src/test/java/org/jclouds/abiquo/internal/BaseAbiquoApiLiveApiTest.java
index 534f072..b230525 100644
--- 
a/abiquo/src/test/java/org/jclouds/abiquo/internal/BaseAbiquoApiLiveApiTest.java
+++ 
b/abiquo/src/test/java/org/jclouds/abiquo/internal/BaseAbiquoApiLiveApiTest.java
@@ -38,13 +38,6 @@ public abstract class BaseAbiquoApiLiveApiTest extends 
BaseAbiquoLiveApiTest {
       setupEnvironment();
    }
 
-   // @BeforeSuite(groups = "ucs", dependsOnMethods = "setupContext")
-   protected void setupUcsEnvironment() throws Exception {
-      if (env != null) {
-         env.createUcsRack();
-      }
-   }
-
    @Override
    @AfterSuite(groups = "api")
    protected void tearDownContext() {

http://git-wip-us.apache.org/repos/asf/incubator-jclouds-labs/blob/c5e108a8/abiquo/src/test/java/org/jclouds/abiquo/monitor/handlers/BlockingEventHandlerTest.java
----------------------------------------------------------------------
diff --git 
a/abiquo/src/test/java/org/jclouds/abiquo/monitor/handlers/BlockingEventHandlerTest.java
 
b/abiquo/src/test/java/org/jclouds/abiquo/monitor/handlers/BlockingEventHandlerTest.java
new file mode 100644
index 0000000..a438abb
--- /dev/null
+++ 
b/abiquo/src/test/java/org/jclouds/abiquo/monitor/handlers/BlockingEventHandlerTest.java
@@ -0,0 +1,110 @@
+/*
+ * 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.monitor.handlers;
+
+import static org.testng.Assert.assertFalse;
+import static org.testng.Assert.assertNull;
+import static org.testng.Assert.assertTrue;
+
+import java.util.concurrent.Executors;
+import java.util.concurrent.TimeUnit;
+
+import org.jclouds.abiquo.monitor.events.MonitorEvent;
+import org.jclouds.abiquo.monitor.events.MonitorEvent.Type;
+import org.jclouds.abiquo.monitor.handlers.BlockingEventHandler;
+import org.testng.annotations.Test;
+
+/**
+ * Unit tests for the {@link BlockingEventHandler} handler.
+ * 
+ * @author Ignasi Barrera
+ */
+@Test(groups = "unit", testName = "BlockingEventHandlerTest")
+public class BlockingEventHandlerTest {
+   @Test(expectedExceptions = IllegalArgumentException.class)
+   public void testConstructorWithoutObjects() {
+      new BlockingEventHandler<Object>();
+   }
+
+   @Test(expectedExceptions = NullPointerException.class)
+   public void testConstructorWithNullObjects() {
+      new BlockingEventHandler<Object>((Object[]) null);
+   }
+
+   @Test(expectedExceptions = IllegalArgumentException.class)
+   public void testConstructorWithtEmptyObjects() {
+      new BlockingEventHandler<Object>(new Object[] {});
+   }
+
+   public void testHandles() {
+      Object object = new Object();
+      BlockingEventHandler<Object> handler = new 
BlockingEventHandler<Object>(object);
+
+      assertTrue(handler.handles(new MonitorEvent<Object>(Type.COMPLETED, 
object)));
+      assertFalse(handler.handles(new MonitorEvent<Object>(Type.COMPLETED, new 
Object())));
+   }
+
+   public void testReleaseDoesNothingIfNotLocked() {
+      Object object = new Object();
+      BlockingEventHandler<Object> handler = new 
BlockingEventHandler<Object>(object);
+      handler.release(object);
+   }
+
+   public void testRelease() {
+      final Object object = new Object();
+      final BlockingEventHandler<Object> handler = new 
BlockingEventHandler<Object>(object);
+
+      // Unlock the handler (in a separate thread) after a certain delay
+      Executors.newSingleThreadScheduledExecutor().schedule(new Runnable() {
+         @Override
+         public void run() {
+            handler.release(object);
+            assertTrue(handler.lockedObjects.isEmpty());
+         }
+
+      }, 500L, TimeUnit.MILLISECONDS);
+
+      handler.lock();
+   }
+
+   public void testHandle() {
+      final Object object = new Object();
+      final BlockingEventHandler<Object> handler = new 
BlockingEventHandler<Object>(object);
+
+      // Unlock the handler (in a separate thread) after a certain delay
+      Executors.newSingleThreadScheduledExecutor().schedule(new Runnable() {
+         @Override
+         public void run() {
+            handler.handle(new MonitorEvent<Object>(Type.COMPLETED, object));
+            assertTrue(handler.lockedObjects.isEmpty());
+         }
+
+      }, 500L, TimeUnit.MILLISECONDS);
+
+      handler.lock();
+   }
+
+   public void testLockDoesNothingIfNoObjects() {
+      Object object = new Object();
+      BlockingEventHandler<Object> handler = new 
BlockingEventHandler<Object>(object);
+      handler.lockedObjects.clear();
+
+      handler.lock(); // Lock should do nothing
+
+      assertNull(handler.completeSignal);
+   }
+}

http://git-wip-us.apache.org/repos/asf/incubator-jclouds-labs/blob/c5e108a8/abiquo/src/test/java/org/jclouds/abiquo/strategy/cloud/ListAttachedNicsLiveApiTest.java
----------------------------------------------------------------------
diff --git 
a/abiquo/src/test/java/org/jclouds/abiquo/strategy/cloud/ListAttachedNicsLiveApiTest.java
 
b/abiquo/src/test/java/org/jclouds/abiquo/strategy/cloud/ListAttachedNicsLiveApiTest.java
index d8d7981..7bb9a7b 100644
--- 
a/abiquo/src/test/java/org/jclouds/abiquo/strategy/cloud/ListAttachedNicsLiveApiTest.java
+++ 
b/abiquo/src/test/java/org/jclouds/abiquo/strategy/cloud/ListAttachedNicsLiveApiTest.java
@@ -16,6 +16,7 @@
  */
 package org.jclouds.abiquo.strategy.cloud;
 
+import static com.google.common.collect.Iterables.find;
 import static com.google.common.collect.Iterables.size;
 import static org.testng.Assert.assertEquals;
 import static org.testng.Assert.assertNotNull;
@@ -26,12 +27,12 @@ import org.jclouds.abiquo.domain.network.Ip;
 import org.jclouds.abiquo.domain.network.PrivateIp;
 import org.jclouds.abiquo.domain.network.PublicIp;
 import org.jclouds.abiquo.domain.network.UnmanagedNetwork;
-import org.jclouds.abiquo.predicates.network.IpPredicates;
 import org.jclouds.abiquo.strategy.BaseAbiquoStrategyLiveApiTest;
 import org.testng.annotations.AfterClass;
 import org.testng.annotations.BeforeClass;
 import org.testng.annotations.Test;
 
+import com.google.common.base.Predicate;
 import com.google.common.collect.Lists;
 
 /**
@@ -62,8 +63,12 @@ public class ListAttachedNicsLiveApiTest extends 
BaseAbiquoStrategyLiveApiTest {
 
       publicIp = env.virtualDatacenter.listAvailablePublicIps().get(0);
       env.virtualDatacenter.purchasePublicIp(publicIp);
-      publicIp = 
env.virtualDatacenter.findPurchasedPublicIp(IpPredicates.<PublicIp> 
address(publicIp.getIp()));
-      assertNotNull(publicIp);
+      publicIp = find(env.virtualDatacenter.listPurchasedPublicIps(), new 
Predicate<PublicIp>() {
+         @Override
+         public boolean apply(PublicIp input) {
+            return input.getIp().equals(publicIp.getIp());
+         }
+      });
 
       env.virtualMachine.setNics(Lists.<Ip<?, ?>> newArrayList(privateIp, 
externalIp, publicIp),
             Lists.<UnmanagedNetwork> newArrayList(env.unmanagedNetwork));
@@ -72,9 +77,14 @@ public class ListAttachedNicsLiveApiTest extends 
BaseAbiquoStrategyLiveApiTest {
    @AfterClass(groups = "api")
    protected void tearDownStrategy() {
       env.virtualMachine.setNics(Lists.<Ip<?, ?>> newArrayList(privateIp));
-      String address = publicIp.getIp();
+      final String address = publicIp.getIp();
       env.virtualDatacenter.releasePublicIp(publicIp);
-      
assertNull(env.virtualDatacenter.findPurchasedPublicIp(IpPredicates.<PublicIp> 
address(address)));
+      assertNull(find(env.virtualDatacenter.listPurchasedPublicIps(), new 
Predicate<PublicIp>() {
+         @Override
+         public boolean apply(PublicIp input) {
+            return input.getIp().equals(address);
+         }
+      }, null));
    }
 
    public void testExecute() {
@@ -82,16 +92,4 @@ public class ListAttachedNicsLiveApiTest extends 
BaseAbiquoStrategyLiveApiTest {
       assertNotNull(vapps);
       assertEquals(4, size(vapps));
    }
-
-   public void testExecutePredicateWithoutResults() {
-      Iterable<Ip<?, ?>> vapps = strategy.execute(env.virtualMachine, 
IpPredicates.address("UNEXISTING"));
-      assertNotNull(vapps);
-      assertEquals(size(vapps), 0);
-   }
-
-   public void testExecutePredicateWithResults() {
-      Iterable<Ip<?, ?>> vapps = strategy.execute(env.virtualMachine, 
IpPredicates.address(publicIp.getIp()));
-      assertNotNull(vapps);
-      assertEquals(size(vapps), 1);
-   }
 }

http://git-wip-us.apache.org/repos/asf/incubator-jclouds-labs/blob/c5e108a8/abiquo/src/test/java/org/jclouds/abiquo/strategy/cloud/ListVirtualAppliancesLiveApiTest.java
----------------------------------------------------------------------
diff --git 
a/abiquo/src/test/java/org/jclouds/abiquo/strategy/cloud/ListVirtualAppliancesLiveApiTest.java
 
b/abiquo/src/test/java/org/jclouds/abiquo/strategy/cloud/ListVirtualAppliancesLiveApiTest.java
index 1db2e04..4817913 100644
--- 
a/abiquo/src/test/java/org/jclouds/abiquo/strategy/cloud/ListVirtualAppliancesLiveApiTest.java
+++ 
b/abiquo/src/test/java/org/jclouds/abiquo/strategy/cloud/ListVirtualAppliancesLiveApiTest.java
@@ -17,12 +17,10 @@
 package org.jclouds.abiquo.strategy.cloud;
 
 import static com.google.common.collect.Iterables.size;
-import static org.testng.Assert.assertEquals;
 import static org.testng.Assert.assertNotNull;
 import static org.testng.Assert.assertTrue;
 
 import org.jclouds.abiquo.domain.cloud.VirtualAppliance;
-import org.jclouds.abiquo.predicates.cloud.VirtualAppliancePredicates;
 import org.jclouds.abiquo.strategy.BaseAbiquoStrategyLiveApiTest;
 import org.testng.annotations.BeforeClass;
 import org.testng.annotations.Test;
@@ -47,17 +45,4 @@ public class ListVirtualAppliancesLiveApiTest extends 
BaseAbiquoStrategyLiveApiT
       assertNotNull(vapps);
       assertTrue(size(vapps) > 0);
    }
-
-   public void testExecutePredicateWithoutResults() {
-      Iterable<VirtualAppliance> vapps = 
strategy.execute(VirtualAppliancePredicates.name("UNEXISTING"));
-      assertNotNull(vapps);
-      assertEquals(size(vapps), 0);
-   }
-
-   public void testExecutePredicateWithResults() {
-      Iterable<VirtualAppliance> vapps = 
strategy.execute(VirtualAppliancePredicates.name(env.virtualAppliance
-            .getName()));
-      assertNotNull(vapps);
-      assertEquals(size(vapps), 1);
-   }
 }

http://git-wip-us.apache.org/repos/asf/incubator-jclouds-labs/blob/c5e108a8/abiquo/src/test/java/org/jclouds/abiquo/strategy/cloud/ListVirtualDatacentersLiveApiTest.java
----------------------------------------------------------------------
diff --git 
a/abiquo/src/test/java/org/jclouds/abiquo/strategy/cloud/ListVirtualDatacentersLiveApiTest.java
 
b/abiquo/src/test/java/org/jclouds/abiquo/strategy/cloud/ListVirtualDatacentersLiveApiTest.java
index 314f714..a3a6aca 100644
--- 
a/abiquo/src/test/java/org/jclouds/abiquo/strategy/cloud/ListVirtualDatacentersLiveApiTest.java
+++ 
b/abiquo/src/test/java/org/jclouds/abiquo/strategy/cloud/ListVirtualDatacentersLiveApiTest.java
@@ -23,7 +23,6 @@ import static org.testng.Assert.assertTrue;
 
 import org.jclouds.abiquo.domain.cloud.VirtualDatacenter;
 import org.jclouds.abiquo.domain.cloud.options.VirtualDatacenterOptions;
-import org.jclouds.abiquo.predicates.cloud.VirtualDatacenterPredicates;
 import org.jclouds.abiquo.strategy.BaseAbiquoStrategyLiveApiTest;
 import org.testng.annotations.BeforeClass;
 import org.testng.annotations.Test;
@@ -49,27 +48,14 @@ public class ListVirtualDatacentersLiveApiTest extends 
BaseAbiquoStrategyLiveApi
       assertTrue(size(vdcs) > 0);
    }
 
-   public void testExecutePredicateWithoutResults() {
-      Iterable<VirtualDatacenter> vdcs = 
strategy.execute(VirtualDatacenterPredicates.name("UNEXISTING"));
-      assertNotNull(vdcs);
-      assertEquals(size(vdcs), 0);
-   }
-
-   public void testExecutePredicateWithResults() {
-      Iterable<VirtualDatacenter> vdcs = 
strategy.execute(VirtualDatacenterPredicates.name(env.virtualDatacenter
-            .getName()));
-      assertNotNull(vdcs);
-      assertEquals(size(vdcs), 1);
-   }
-
-   public void testExecutePredicateOptionsWithResults() {
+   public void testExecuteOptionsWithResults() {
       Iterable<VirtualDatacenter> vdcs = 
strategy.execute(VirtualDatacenterOptions.builder()
             
.datacenterId(env.datacenter.getId()).enterpriseId(env.defaultEnterprise.getId()).build());
       assertNotNull(vdcs);
       assertEquals(size(vdcs), 1);
    }
 
-   public void testExecutePredicateOptionsWithoutResults() {
+   public void testExecuteOptionsWithoutResults() {
       Iterable<VirtualDatacenter> vdcs = 
strategy.execute(VirtualDatacenterOptions.builder()
             .enterpriseId(env.enterprise.getId()).build());
       assertNotNull(vdcs);

http://git-wip-us.apache.org/repos/asf/incubator-jclouds-labs/blob/c5e108a8/abiquo/src/test/java/org/jclouds/abiquo/strategy/cloud/ListVirtualMachinesLiveApiTest.java
----------------------------------------------------------------------
diff --git 
a/abiquo/src/test/java/org/jclouds/abiquo/strategy/cloud/ListVirtualMachinesLiveApiTest.java
 
b/abiquo/src/test/java/org/jclouds/abiquo/strategy/cloud/ListVirtualMachinesLiveApiTest.java
index 09568d7..a5aed62 100644
--- 
a/abiquo/src/test/java/org/jclouds/abiquo/strategy/cloud/ListVirtualMachinesLiveApiTest.java
+++ 
b/abiquo/src/test/java/org/jclouds/abiquo/strategy/cloud/ListVirtualMachinesLiveApiTest.java
@@ -17,14 +17,12 @@
 package org.jclouds.abiquo.strategy.cloud;
 
 import static com.google.common.collect.Iterables.size;
-import static org.testng.Assert.assertEquals;
 import static org.testng.Assert.assertNotNull;
 import static org.testng.Assert.assertTrue;
 
 import java.util.List;
 
 import org.jclouds.abiquo.domain.cloud.VirtualMachine;
-import org.jclouds.abiquo.predicates.cloud.VirtualMachinePredicates;
 import org.jclouds.abiquo.strategy.BaseAbiquoStrategyLiveApiTest;
 import org.testng.annotations.BeforeClass;
 import org.testng.annotations.Test;
@@ -52,19 +50,6 @@ public class ListVirtualMachinesLiveApiTest extends 
BaseAbiquoStrategyLiveApiTes
       assertTrue(size(vms) > 0);
    }
 
-   public void testExecutePredicateWithoutResults() {
-      Iterable<VirtualMachine> vms = 
strategy.execute(VirtualMachinePredicates.internalName("UNEXISTING"));
-      assertNotNull(vms);
-      assertEquals(size(vms), 0);
-   }
-
-   public void testExecutePredicateWithResults() {
-      Iterable<VirtualMachine> vms = 
strategy.execute(VirtualMachinePredicates.internalName(env.virtualMachine
-            .getInternalName()));
-      assertNotNull(vms);
-      assertEquals(size(vms), 1);
-   }
-
    public void testExecuteWhenExceedsPagination() {
       List<VirtualMachine> vms = Lists.newArrayList();
 

http://git-wip-us.apache.org/repos/asf/incubator-jclouds-labs/blob/c5e108a8/abiquo/src/test/java/org/jclouds/abiquo/strategy/enterprise/ListVirtualMachineTemplatesLiveApiTest.java
----------------------------------------------------------------------
diff --git 
a/abiquo/src/test/java/org/jclouds/abiquo/strategy/enterprise/ListVirtualMachineTemplatesLiveApiTest.java
 
b/abiquo/src/test/java/org/jclouds/abiquo/strategy/enterprise/ListVirtualMachineTemplatesLiveApiTest.java
index 9d1275f..cc5f9b9 100644
--- 
a/abiquo/src/test/java/org/jclouds/abiquo/strategy/enterprise/ListVirtualMachineTemplatesLiveApiTest.java
+++ 
b/abiquo/src/test/java/org/jclouds/abiquo/strategy/enterprise/ListVirtualMachineTemplatesLiveApiTest.java
@@ -17,12 +17,10 @@
 package org.jclouds.abiquo.strategy.enterprise;
 
 import static com.google.common.collect.Iterables.size;
-import static org.testng.Assert.assertEquals;
 import static org.testng.Assert.assertNotNull;
 import static org.testng.Assert.assertTrue;
 
 import org.jclouds.abiquo.domain.cloud.VirtualMachineTemplate;
-import org.jclouds.abiquo.predicates.cloud.VirtualMachineTemplatePredicates;
 import org.jclouds.abiquo.strategy.BaseAbiquoStrategyLiveApiTest;
 import org.jclouds.abiquo.strategy.cloud.ListVirtualAppliances;
 import org.testng.annotations.BeforeClass;
@@ -48,19 +46,4 @@ public class ListVirtualMachineTemplatesLiveApiTest extends 
BaseAbiquoStrategyLi
       assertNotNull(templates);
       assertTrue(size(templates) > 0);
    }
-
-   public void testExecutePredicateWithoutResults() {
-      Iterable<VirtualMachineTemplate> templates = 
strategy.execute(env.defaultEnterprise,
-            VirtualMachineTemplatePredicates.name("UNEXISTING"));
-      assertNotNull(templates);
-      assertEquals(size(templates), 0);
-   }
-
-   public void testExecutePredicateWithResults() {
-      Iterable<VirtualMachineTemplate> templates = 
strategy.execute(env.defaultEnterprise,
-            VirtualMachineTemplatePredicates.name(env.template.getName()));
-      assertNotNull(templates);
-      // Repository can have multiple templates with the same name
-      assertTrue(size(templates) > 0);
-   }
 }

http://git-wip-us.apache.org/repos/asf/incubator-jclouds-labs/blob/c5e108a8/abiquo/src/test/java/org/jclouds/abiquo/strategy/infrastructure/ListMachinesLiveApiTest.java
----------------------------------------------------------------------
diff --git 
a/abiquo/src/test/java/org/jclouds/abiquo/strategy/infrastructure/ListMachinesLiveApiTest.java
 
b/abiquo/src/test/java/org/jclouds/abiquo/strategy/infrastructure/ListMachinesLiveApiTest.java
index 059c336..18ece95 100644
--- 
a/abiquo/src/test/java/org/jclouds/abiquo/strategy/infrastructure/ListMachinesLiveApiTest.java
+++ 
b/abiquo/src/test/java/org/jclouds/abiquo/strategy/infrastructure/ListMachinesLiveApiTest.java
@@ -17,12 +17,10 @@
 package org.jclouds.abiquo.strategy.infrastructure;
 
 import static com.google.common.collect.Iterables.size;
-import static org.testng.Assert.assertEquals;
 import static org.testng.Assert.assertNotNull;
 import static org.testng.Assert.assertTrue;
 
 import org.jclouds.abiquo.domain.infrastructure.Machine;
-import org.jclouds.abiquo.predicates.infrastructure.MachinePredicates;
 import org.jclouds.abiquo.strategy.BaseAbiquoStrategyLiveApiTest;
 import org.testng.annotations.BeforeClass;
 import org.testng.annotations.Test;
@@ -47,16 +45,4 @@ public class ListMachinesLiveApiTest extends 
BaseAbiquoStrategyLiveApiTest {
       assertNotNull(machines);
       assertTrue(size(machines) > 0);
    }
-
-   public void testExecutePredicateWithoutResults() {
-      Iterable<Machine> machines = 
strategy.execute(MachinePredicates.name("UNEXISTING"));
-      assertNotNull(machines);
-      assertEquals(size(machines), 0);
-   }
-
-   public void testExecutePredicateWithResults() {
-      Iterable<Machine> machines = 
strategy.execute(MachinePredicates.name(env.machine.getName()));
-      assertNotNull(machines);
-      assertEquals(size(machines), 1);
-   }
 }

Reply via email to