Repository: jclouds-labs-google
Updated Branches:
  refs/heads/master b8670b16e -> bbf953be0


http://git-wip-us.apache.org/repos/asf/jclouds-labs-google/blob/bbf953be/google-compute-engine/src/test/java/org/jclouds/googlecomputeengine/features/DiskTypeApiExpectTest.java
----------------------------------------------------------------------
diff --git 
a/google-compute-engine/src/test/java/org/jclouds/googlecomputeengine/features/DiskTypeApiExpectTest.java
 
b/google-compute-engine/src/test/java/org/jclouds/googlecomputeengine/features/DiskTypeApiExpectTest.java
index 32abd30..f3a38d2 100644
--- 
a/google-compute-engine/src/test/java/org/jclouds/googlecomputeengine/features/DiskTypeApiExpectTest.java
+++ 
b/google-compute-engine/src/test/java/org/jclouds/googlecomputeengine/features/DiskTypeApiExpectTest.java
@@ -68,7 +68,7 @@ public class DiskTypeApiExpectTest extends 
BaseGoogleComputeEngineApiExpectTest
               .payload(payloadFromResource("/disktype.json")).build();
 
       DiskTypeApi diskTypeApi = 
requestsSendResponses(requestForScopes(COMPUTE_READONLY_SCOPE),
-              TOKEN_RESPONSE, get, 
operationResponse).getDiskTypeApiForProject("myproject");
+              TOKEN_RESPONSE, get, 
operationResponse).getDiskTypeApi("myproject");
 
       assertEquals(diskTypeApi.getInZone("us-central1-a", "pd-standard"),
               new ParseDiskTypeTest().expected());
@@ -86,7 +86,7 @@ public class DiskTypeApiExpectTest extends 
BaseGoogleComputeEngineApiExpectTest
       HttpResponse operationResponse = 
HttpResponse.builder().statusCode(404).build();
 
       DiskTypeApi diskTypeApi = 
requestsSendResponses(requestForScopes(COMPUTE_READONLY_SCOPE),
-              TOKEN_RESPONSE, get, 
operationResponse).getDiskTypeApiForProject("myproject");
+              TOKEN_RESPONSE, get, 
operationResponse).getDiskTypeApi("myproject");
 
       assertNull(diskTypeApi.getInZone("us-central1-a", "pd-standard"));
    }
@@ -94,7 +94,7 @@ public class DiskTypeApiExpectTest extends 
BaseGoogleComputeEngineApiExpectTest
    public void testListDiskTypeNoOptionsResponseIs2xx() throws Exception {
 
       DiskTypeApi diskTypeApi = 
requestsSendResponses(requestForScopes(COMPUTE_READONLY_SCOPE),
-              TOKEN_RESPONSE, LIST_DISK_TYPES_REQUEST, 
LIST_DISK_TYPES_RESPONSE).getDiskTypeApiForProject
+              TOKEN_RESPONSE, LIST_DISK_TYPES_REQUEST, 
LIST_DISK_TYPES_RESPONSE).getDiskTypeApi
               ("myproject");
 
       assertEquals(diskTypeApi.listFirstPageInZone("us-central1-a").toString(),
@@ -106,7 +106,7 @@ public class DiskTypeApiExpectTest extends 
BaseGoogleComputeEngineApiExpectTest
       HttpResponse operationResponse = 
HttpResponse.builder().statusCode(404).build();
 
       DiskTypeApi diskTypeApi = 
requestsSendResponses(requestForScopes(COMPUTE_READONLY_SCOPE),
-              TOKEN_RESPONSE, LIST_DISK_TYPES_REQUEST, 
operationResponse).getDiskTypeApiForProject("myproject");
+              TOKEN_RESPONSE, LIST_DISK_TYPES_REQUEST, 
operationResponse).getDiskTypeApi("myproject");
 
       assertTrue(diskTypeApi.listInZone("us-central1-a").concat().isEmpty());
    }

http://git-wip-us.apache.org/repos/asf/jclouds-labs-google/blob/bbf953be/google-compute-engine/src/test/java/org/jclouds/googlecomputeengine/features/DiskTypeApiLiveTest.java
----------------------------------------------------------------------
diff --git 
a/google-compute-engine/src/test/java/org/jclouds/googlecomputeengine/features/DiskTypeApiLiveTest.java
 
b/google-compute-engine/src/test/java/org/jclouds/googlecomputeengine/features/DiskTypeApiLiveTest.java
index 9958311..0168549 100644
--- 
a/google-compute-engine/src/test/java/org/jclouds/googlecomputeengine/features/DiskTypeApiLiveTest.java
+++ 
b/google-compute-engine/src/test/java/org/jclouds/googlecomputeengine/features/DiskTypeApiLiveTest.java
@@ -40,7 +40,7 @@ public class DiskTypeApiLiveTest extends 
BaseGoogleComputeEngineApiLiveTest {
    private DiskType diskType;
 
    private DiskTypeApi api() {
-      return api.getDiskTypeApiForProject(userProject.get());
+      return api.getDiskTypeApi(userProject.get());
    }
 
    @Test(groups = "live")

http://git-wip-us.apache.org/repos/asf/jclouds-labs-google/blob/bbf953be/google-compute-engine/src/test/java/org/jclouds/googlecomputeengine/features/ForwardingRuleApiExpectTest.java
----------------------------------------------------------------------
diff --git 
a/google-compute-engine/src/test/java/org/jclouds/googlecomputeengine/features/ForwardingRuleApiExpectTest.java
 
b/google-compute-engine/src/test/java/org/jclouds/googlecomputeengine/features/ForwardingRuleApiExpectTest.java
index f3f1c71..a8b948a 100644
--- 
a/google-compute-engine/src/test/java/org/jclouds/googlecomputeengine/features/ForwardingRuleApiExpectTest.java
+++ 
b/google-compute-engine/src/test/java/org/jclouds/googlecomputeengine/features/ForwardingRuleApiExpectTest.java
@@ -17,6 +17,8 @@
 package org.jclouds.googlecomputeengine.features;
 
 import 
org.jclouds.googlecomputeengine.internal.BaseGoogleComputeEngineApiExpectTest;
+import org.jclouds.googlecomputeengine.options.ForwardingRuleCreationOptions;
+import org.jclouds.googlecomputeengine.options.ListOptions;
 import org.jclouds.googlecomputeengine.parse.ParseRegionOperationTest;
 import org.jclouds.googlecomputeengine.parse.ParseForwardingRuleListTest;
 import org.jclouds.googlecomputeengine.parse.ParseForwardingRuleTest;
@@ -39,129 +41,154 @@ public class ForwardingRuleApiExpectTest extends 
BaseGoogleComputeEngineApiExpec
 
    public void testGetForwardingRuleResponseIs2xx() throws Exception {
       HttpRequest get = HttpRequest
-              .builder()
-              .method("GET")
-              .endpoint("https://www.googleapis"; +
-                      
".com/compute/v1/projects/myproject/regions/us-central1/forwardingRules/test-forwarding-rule")
-              .addHeader("Accept", "application/json")
-              .addHeader("Authorization", "Bearer " + TOKEN).build();
+            .builder()
+            .method("GET")
+            .endpoint("https://www.googleapis"; +
+                  
".com/compute/v1/projects/myproject/regions/us-central1/forwardingRules/test-forwarding-rule")
+                  .addHeader("Accept", "application/json")
+                  .addHeader("Authorization", "Bearer " + TOKEN).build();
 
       HttpResponse operationResponse = HttpResponse.builder().statusCode(200)
-              
.payload(payloadFromResource("/forwardingrule_get.json")).build();
+            .payload(payloadFromResource("/forwardingrule_get.json")).build();
 
       ForwardingRuleApi api = 
requestsSendResponses(requestForScopes(COMPUTE_READONLY_SCOPE),
-              TOKEN_RESPONSE, get, 
operationResponse).getForwardingRuleApi("myproject", "us-central1");
+            TOKEN_RESPONSE, get, 
operationResponse).getForwardingRuleApi("myproject", "us-central1");
 
       assertEquals(api.get("test-forwarding-rule"),
-              new ParseForwardingRuleTest().expected());
+            new ParseForwardingRuleTest().expected());
    }
 
    public void testGetForwardingRuleResponseIs4xx() throws Exception {
       HttpRequest get = HttpRequest
-              .builder()
-              .method("GET")
-              .endpoint("https://www.googleapis"; +
-                      
".com/compute/v1/projects/myproject/regions/us-central1/forwardingRules/test-forwarding-rule")
-              .addHeader("Accept", "application/json")
-              .addHeader("Authorization", "Bearer " + TOKEN).build();
+            .builder()
+            .method("GET")
+            .endpoint("https://www.googleapis"; +
+                  
".com/compute/v1/projects/myproject/regions/us-central1/forwardingRules/test-forwarding-rule")
+                  .addHeader("Accept", "application/json")
+                  .addHeader("Authorization", "Bearer " + TOKEN).build();
 
       HttpResponse operationResponse = 
HttpResponse.builder().statusCode(404).build();
 
       ForwardingRuleApi api = 
requestsSendResponses(requestForScopes(COMPUTE_READONLY_SCOPE),
-              TOKEN_RESPONSE, get, 
operationResponse).getForwardingRuleApi("myproject", "us-central1");
+            TOKEN_RESPONSE, get, 
operationResponse).getForwardingRuleApi("myproject", "us-central1");
 
       assertNull(api.get("test-forwarding-rule"));
    }
 
    public void testInsertForwardingRuleResponseIs2xx() {
       HttpRequest insert = HttpRequest
-              .builder()
-              .method("POST")
-              
.endpoint("https://www.googleapis.com/compute/v1/projects/myproject/regions/us-central1/forwardingRules";)
-              .addHeader("Accept", "application/json")
-              .addHeader("Authorization", "Bearer " + TOKEN)
-              
.payload(payloadFromResourceWithContentType("/forwardingrule_insert.json", 
MediaType.APPLICATION_JSON))
-              .build();
+            .builder()
+            .method("POST")
+            
.endpoint("https://www.googleapis.com/compute/v1/projects/myproject/regions/us-central1/forwardingRules";)
+            .addHeader("Accept", "application/json")
+            .addHeader("Authorization", "Bearer " + TOKEN)
+            
.payload(payloadFromResourceWithContentType("/forwardingrule_insert.json", 
MediaType.APPLICATION_JSON))
+            .build();
 
       HttpResponse insertForwardingRuleResponse = 
HttpResponse.builder().statusCode(200)
-              .payload(payloadFromResource("/region_operation.json")).build();
+            .payload(payloadFromResource("/region_operation.json")).build();
 
       ForwardingRuleApi api = 
requestsSendResponses(requestForScopes(COMPUTE_SCOPE),
-              TOKEN_RESPONSE, insert,
-              insertForwardingRuleResponse).getForwardingRuleApi("myproject", 
"us-central1");
-      assertEquals(api.create("test-forwarding-rule",
-              
URI.create("https://www.googleapis.com/compute/v1/projects/myproject/regions/europe-west1/";
 +
-                      "targetPools/test-target-pool")), new 
ParseRegionOperationTest().expected());
+            TOKEN_RESPONSE, insert,
+            insertForwardingRuleResponse).getForwardingRuleApi("myproject", 
"us-central1");
+
+      ForwardingRuleCreationOptions forwardingRuleCreationOptions = new 
ForwardingRuleCreationOptions()
+      
.target(URI.create("https://www.googleapis.com/compute/v1/projects/myproject/regions/";
+            + "europe-west1/targetPools/test-target-pool"));
+      assertEquals(api.create("test-forwarding-rule", 
forwardingRuleCreationOptions),
+            new ParseRegionOperationTest().expected());
    }
 
    public void testDeleteForwardingRuleResponseIs2xx() {
       HttpRequest delete = HttpRequest
-              .builder()
-              .method("DELETE")
-              .endpoint("https://www.googleapis"; +
-                      
".com/compute/v1/projects/myproject/regions/us-central1/forwardingRules/test-forwarding-rule")
-              .addHeader("Accept", "application/json")
-              .addHeader("Authorization", "Bearer " + TOKEN).build();
+            .builder()
+            .method("DELETE")
+            .endpoint("https://www.googleapis"; +
+                  
".com/compute/v1/projects/myproject/regions/us-central1/forwardingRules/test-forwarding-rule")
+                  .addHeader("Accept", "application/json")
+                  .addHeader("Authorization", "Bearer " + TOKEN).build();
 
       HttpResponse deleteResponse = HttpResponse.builder().statusCode(200)
-              .payload(payloadFromResource("/region_operation.json")).build();
+            .payload(payloadFromResource("/region_operation.json")).build();
 
       ForwardingRuleApi api = 
requestsSendResponses(requestForScopes(COMPUTE_SCOPE),
-              TOKEN_RESPONSE, delete, 
deleteResponse).getForwardingRuleApi("myproject", "us-central1");
+            TOKEN_RESPONSE, delete, 
deleteResponse).getForwardingRuleApi("myproject", "us-central1");
 
       assertEquals(api.delete("test-forwarding-rule"),
-              new ParseRegionOperationTest().expected());
+            new ParseRegionOperationTest().expected());
    }
 
    public void testDeleteForwardingRuleResponseIs4xx() {
       HttpRequest delete = HttpRequest
-              .builder()
-              .method("DELETE")
-              .endpoint("https://www.googleapis"; +
-                      
".com/compute/v1/projects/myproject/regions/us-central1/forwardingRules/test-targetPool")
-              .addHeader("Accept", "application/json")
-              .addHeader("Authorization", "Bearer " + TOKEN).build();
+            .builder()
+            .method("DELETE")
+            .endpoint("https://www.googleapis"; +
+                  
".com/compute/v1/projects/myproject/regions/us-central1/forwardingRules/test-targetPool")
+                  .addHeader("Accept", "application/json")
+                  .addHeader("Authorization", "Bearer " + TOKEN).build();
 
       HttpResponse deleteResponse = 
HttpResponse.builder().statusCode(404).build();
 
       ForwardingRuleApi api = 
requestsSendResponses(requestForScopes(COMPUTE_SCOPE),
-              TOKEN_RESPONSE, delete, 
deleteResponse).getForwardingRuleApi("myproject", "us-central1");
+            TOKEN_RESPONSE, delete, 
deleteResponse).getForwardingRuleApi("myproject", "us-central1");
 
       assertNull(api.delete("test-targetPool"));
    }
 
    public void testListForwardingRulesResponseIs2xx() {
       HttpRequest list = HttpRequest
-              .builder()
-              .method("GET")
-              
.endpoint("https://www.googleapis.com/compute/v1/projects/myproject/regions/us-central1/forwardingRules";)
-              .addHeader("Accept", "application/json")
-              .addHeader("Authorization", "Bearer " + TOKEN).build();
+            .builder()
+            .method("GET")
+            
.endpoint("https://www.googleapis.com/compute/v1/projects/myproject/regions/us-central1/forwardingRules";)
+            .addHeader("Accept", "application/json")
+            .addHeader("Authorization", "Bearer " + TOKEN).build();
 
       HttpResponse operationResponse = HttpResponse.builder().statusCode(200)
-              
.payload(payloadFromResource("/forwardingrule_list.json")).build();
+            .payload(payloadFromResource("/forwardingrule_list.json")).build();
 
       ForwardingRuleApi api = 
requestsSendResponses(requestForScopes(COMPUTE_READONLY_SCOPE),
-              TOKEN_RESPONSE, list, 
operationResponse).getForwardingRuleApi("myproject", "us-central1");
+            TOKEN_RESPONSE, list, 
operationResponse).getForwardingRuleApi("myproject", "us-central1");
 
-      assertEquals(api.list().toString(),
-              new ParseForwardingRuleListTest().expected().toString());
+      ListOptions options = new ListOptions();
+      assertEquals(api.list(options).toString(),
+            new ParseForwardingRuleListTest().expected().toString());
    }
 
    public void testListForwardingRulesResponseIs4xx() {
       HttpRequest list = HttpRequest
-              .builder()
-              .method("GET")
-              
.endpoint("https://www.googleapis.com/compute/v1/projects/myproject/regions/us-central1/forwardingRules";)
-              .addHeader("Accept", "application/json")
-              .addHeader("Authorization", "Bearer " + TOKEN).build();
+            .builder()
+            .method("GET")
+            
.endpoint("https://www.googleapis.com/compute/v1/projects/myproject/regions/us-central1/forwardingRules";)
+            .addHeader("Accept", "application/json")
+            .addHeader("Authorization", "Bearer " + TOKEN).build();
 
       HttpResponse operationResponse = 
HttpResponse.builder().statusCode(404).build();
 
       ForwardingRuleApi api = 
requestsSendResponses(requestForScopes(COMPUTE_READONLY_SCOPE),
-              TOKEN_RESPONSE, list, 
operationResponse).getForwardingRuleApi("myproject", "us-central1");
+            TOKEN_RESPONSE, list, 
operationResponse).getForwardingRuleApi("myproject", "us-central1");
 
       assertTrue(api.list().concat().isEmpty());
    }
 
+   public void testSetTargetForwardingRuleResponseIs2xx(){
+      String ruleName = "testForwardingRule";
+      HttpRequest setTarget = HttpRequest
+            .builder()
+            .method("POST")
+            
.endpoint("https://www.googleapis.com/compute/v1/projects/myproject/regions/us-central1/forwardingRules/";
 + ruleName + "/setTarget")
+            .addHeader("Accept", "application/json")
+            .addHeader("Authorization", "Bearer " + TOKEN)
+            
.payload(payloadFromResourceWithContentType("/forwardingrule_set_target.json", 
MediaType.APPLICATION_JSON))
+            .build();
+
+      HttpResponse setTargetResponse = HttpResponse.builder().statusCode(200)
+            .payload(payloadFromResource("/region_operation.json")).build();
+
+      ForwardingRuleApi api = 
requestsSendResponses(requestForScopes(COMPUTE_SCOPE),
+            TOKEN_RESPONSE, setTarget, 
setTargetResponse).getForwardingRuleApi("myproject", "us-central1");
+
+      String newTarget = 
"https://www.googleapis.com/compute/v1/projects/myproject/regions/europe-west1/targetPools/test-target-pool";;
+      assertEquals(api.setTarget(ruleName, newTarget), new 
ParseRegionOperationTest().expected());
+   }
+
 }

http://git-wip-us.apache.org/repos/asf/jclouds-labs-google/blob/bbf953be/google-compute-engine/src/test/java/org/jclouds/googlecomputeengine/features/ForwardingRuleApiLiveTest.java
----------------------------------------------------------------------
diff --git 
a/google-compute-engine/src/test/java/org/jclouds/googlecomputeengine/features/ForwardingRuleApiLiveTest.java
 
b/google-compute-engine/src/test/java/org/jclouds/googlecomputeengine/features/ForwardingRuleApiLiveTest.java
index 833d455..2412b33 100644
--- 
a/google-compute-engine/src/test/java/org/jclouds/googlecomputeengine/features/ForwardingRuleApiLiveTest.java
+++ 
b/google-compute-engine/src/test/java/org/jclouds/googlecomputeengine/features/ForwardingRuleApiLiveTest.java
@@ -20,7 +20,9 @@ import org.jclouds.collect.IterableWithMarker;
 import org.jclouds.googlecomputeengine.domain.ForwardingRule;
 import org.jclouds.googlecomputeengine.domain.TargetPool;
 import 
org.jclouds.googlecomputeengine.internal.BaseGoogleComputeEngineApiLiveTest;
+import org.jclouds.googlecomputeengine.options.ForwardingRuleCreationOptions;
 import org.jclouds.googlecomputeengine.options.ListOptions;
+import org.jclouds.googlecomputeengine.options.TargetPoolCreationOptions;
 import org.testng.annotations.AfterClass;
 import org.testng.annotations.BeforeClass;
 import org.testng.annotations.Test;
@@ -49,7 +51,8 @@ public class ForwardingRuleApiLiveTest extends 
BaseGoogleComputeEngineApiLiveTes
 
    @BeforeClass
    public void init() {
-      
assertRegionOperationDoneSucessfully(targetPoolApi().create(TARGETPOOL_NAME), 
TIME_WAIT);
+      TargetPoolCreationOptions targetPoolCreationOptions = new 
TargetPoolCreationOptions();
+      
assertRegionOperationDoneSucessfully(targetPoolApi().create(TARGETPOOL_NAME, 
targetPoolCreationOptions), TIME_WAIT);
       targetPool = targetPoolApi().get(TARGETPOOL_NAME);
    }
 
@@ -60,7 +63,9 @@ public class ForwardingRuleApiLiveTest extends 
BaseGoogleComputeEngineApiLiveTes
 
    @Test(groups = "live")
    public void testInsertForwardingRule() {
-      assertRegionOperationDoneSucessfully(api().create(FORWARDING_RULE_NAME, 
targetPool.getSelfLink()), TIME_WAIT);
+      ForwardingRuleCreationOptions forwardingRuleCreationOptions = new 
ForwardingRuleCreationOptions()
+                                                                           
.target(targetPool.getSelfLink());
+      assertRegionOperationDoneSucessfully(api().create(FORWARDING_RULE_NAME, 
forwardingRuleCreationOptions), TIME_WAIT);
    }
 
    @Test(groups = "live", dependsOnMethods = "testInsertForwardingRule")

http://git-wip-us.apache.org/repos/asf/jclouds-labs-google/blob/bbf953be/google-compute-engine/src/test/java/org/jclouds/googlecomputeengine/features/HttpHealthCheckApiExpectTest.java
----------------------------------------------------------------------
diff --git 
a/google-compute-engine/src/test/java/org/jclouds/googlecomputeengine/features/HttpHealthCheckApiExpectTest.java
 
b/google-compute-engine/src/test/java/org/jclouds/googlecomputeengine/features/HttpHealthCheckApiExpectTest.java
index 906c685..9069619 100644
--- 
a/google-compute-engine/src/test/java/org/jclouds/googlecomputeengine/features/HttpHealthCheckApiExpectTest.java
+++ 
b/google-compute-engine/src/test/java/org/jclouds/googlecomputeengine/features/HttpHealthCheckApiExpectTest.java
@@ -25,11 +25,14 @@ import static org.testng.AssertJUnit.assertNull;
 import javax.ws.rs.core.MediaType;
 
 import 
org.jclouds.googlecomputeengine.internal.BaseGoogleComputeEngineApiExpectTest;
+import org.jclouds.googlecomputeengine.options.HttpHealthCheckCreationOptions;
+import org.jclouds.googlecomputeengine.options.ListOptions;
 import org.jclouds.googlecomputeengine.parse.ParseHttpHealthCheckListTest;
 import org.jclouds.googlecomputeengine.parse.ParseHttpHealthCheckTest;
 import org.jclouds.googlecomputeengine.parse.ParseRegionOperationTest;
 import org.jclouds.http.HttpRequest;
 import org.jclouds.http.HttpResponse;
+import org.jclouds.rest.ResourceNotFoundException;
 import org.testng.annotations.Test;
 
 @Test(groups = "unit")
@@ -85,9 +88,11 @@ public class HttpHealthCheckApiExpectTest extends 
BaseGoogleComputeEngineApiExpe
       HttpHealthCheckApi api = 
requestsSendResponses(requestForScopes(COMPUTE_SCOPE),
               TOKEN_RESPONSE, insert,
               
insertHttpHealthCheckResponse).getHttpHealthCheckApi("myproject");
-      assertEquals(api.insert("http-health-check", 0, 0), new 
ParseRegionOperationTest().expected());
+      HttpHealthCheckCreationOptions options = new 
HttpHealthCheckCreationOptions().timeoutSec(0).unhealthyThreshold(0);
+      assertEquals(api.insert("http-health-check", options), new 
ParseRegionOperationTest().expected());
    }
 
+   @Test(expectedExceptions = ResourceNotFoundException.class)
    public void testInsertHttpHealthCheckResponseIs4xx() {
       HttpRequest create = HttpRequest
               .builder()
@@ -103,7 +108,9 @@ public class HttpHealthCheckApiExpectTest extends 
BaseGoogleComputeEngineApiExpe
       HttpHealthCheckApi api = 
requestsSendResponses(requestForScopes(COMPUTE_SCOPE),
               TOKEN_RESPONSE, create, 
insertHttpHealthCheckResponse).getHttpHealthCheckApi("myproject");
 
-      assertNull(api.insert("http-health-check", 0, 0));
+      HttpHealthCheckCreationOptions options = new 
HttpHealthCheckCreationOptions().timeoutSec(0).unhealthyThreshold(0);
+      
+      api.insert("http-health-check", options);
    }
 
    public void testDeleteHttpHealthCheckResponseIs2xx() {
@@ -154,7 +161,8 @@ public class HttpHealthCheckApiExpectTest extends 
BaseGoogleComputeEngineApiExpe
       HttpHealthCheckApi api = 
requestsSendResponses(requestForScopes(COMPUTE_READONLY_SCOPE),
               TOKEN_RESPONSE, list, 
operationResponse).getHttpHealthCheckApi("myproject");
 
-      assertEquals(api.list().toString(),
+      ListOptions options = new ListOptions();
+      assertEquals(api.list(options).toString(),
               new ParseHttpHealthCheckListTest().expected().toString());
    }
 
@@ -173,5 +181,90 @@ public class HttpHealthCheckApiExpectTest extends 
BaseGoogleComputeEngineApiExpe
 
       assertTrue(api.list().concat().isEmpty());
    }
+   
+   public void testPatchHttpHealthChecksResponseIs2xx() {
+      String healthCheckName = "http-health-check";
+      HttpRequest patch = HttpRequest
+            .builder()
+            .method("PATCH")
+            
.endpoint("https://www.googleapis.com/compute/v1/projects/myproject/global/httpHealthChecks/";
 + healthCheckName)
+            .addHeader("Accept", "application/json")
+            .addHeader("Authorization", "Bearer " + TOKEN)
+            
.payload(payloadFromResourceWithContentType("/httphealthcheck_insert.json", 
MediaType.APPLICATION_JSON))
+            .build();
+
+    HttpResponse insertHttpHealthCheckResponse = 
HttpResponse.builder().statusCode(200)
+            .payload(payloadFromResource("/global_operation.json")).build();
+
+    HttpHealthCheckApi api = 
requestsSendResponses(requestForScopes(COMPUTE_SCOPE),
+            TOKEN_RESPONSE, patch,
+            insertHttpHealthCheckResponse).getHttpHealthCheckApi("myproject");
+    HttpHealthCheckCreationOptions options = new 
HttpHealthCheckCreationOptions().timeoutSec(0).unhealthyThreshold(0);
+    assertEquals(api.patch(healthCheckName, options), new 
ParseRegionOperationTest().expected());
+   }
+
+   @Test(expectedExceptions = ResourceNotFoundException.class)
+   public void testPatchHttpHealthChecksResponseIs4xx(){
+      String healthCheckName = "http-health-check";
+      HttpRequest patch = HttpRequest
+            .builder()
+            .method("PATCH")
+            
.endpoint("https://www.googleapis.com/compute/v1/projects/myproject/global/httpHealthChecks/";
 + healthCheckName)
+            .addHeader("Accept", "application/json")
+            .addHeader("Authorization", "Bearer " + TOKEN)
+            
.payload(payloadFromResourceWithContentType("/httphealthcheck_insert.json", 
MediaType.APPLICATION_JSON))
+            .build();
+
+    HttpResponse insertHttpHealthCheckResponse = 
HttpResponse.builder().statusCode(404).build();
+
+    HttpHealthCheckApi api = 
requestsSendResponses(requestForScopes(COMPUTE_SCOPE),
+            TOKEN_RESPONSE, patch,
+            insertHttpHealthCheckResponse).getHttpHealthCheckApi("myproject");
+    HttpHealthCheckCreationOptions options = new 
HttpHealthCheckCreationOptions().timeoutSec(0).unhealthyThreshold(0);
+    
+    api.patch(healthCheckName, options);
+ }
+
+   public void testUpdateHttpHealthChecksResponseIs2xx() {
+      String healthCheckName = "http-health-check";
+      HttpRequest patch = HttpRequest
+            .builder()
+            .method("PUT")
+            
.endpoint("https://www.googleapis.com/compute/v1/projects/myproject/global/httpHealthChecks/";
 + healthCheckName)
+            .addHeader("Accept", "application/json")
+            .addHeader("Authorization", "Bearer " + TOKEN)
+            
.payload(payloadFromResourceWithContentType("/httphealthcheck_insert.json", 
MediaType.APPLICATION_JSON))
+            .build();
+
+    HttpResponse insertHttpHealthCheckResponse = 
HttpResponse.builder().statusCode(200)
+            .payload(payloadFromResource("/global_operation.json")).build();
+
+    HttpHealthCheckApi api = 
requestsSendResponses(requestForScopes(COMPUTE_SCOPE),
+            TOKEN_RESPONSE, patch,
+            insertHttpHealthCheckResponse).getHttpHealthCheckApi("myproject");
+    HttpHealthCheckCreationOptions options = new 
HttpHealthCheckCreationOptions().timeoutSec(0).unhealthyThreshold(0);
+    assertEquals(api.update(healthCheckName, options), new 
ParseRegionOperationTest().expected());
+   }
+
+   @Test(expectedExceptions = ResourceNotFoundException.class)
+   public void testUpdateHttpHealthChecksResponseIs4xx() {
+      String healthCheckName = "http-health-check";
+      HttpRequest patch = HttpRequest
+            .builder()
+            .method("PUT")
+            
.endpoint("https://www.googleapis.com/compute/v1/projects/myproject/global/httpHealthChecks/";
 + healthCheckName)
+            .addHeader("Accept", "application/json")
+            .addHeader("Authorization", "Bearer " + TOKEN)
+            
.payload(payloadFromResourceWithContentType("/httphealthcheck_insert.json", 
MediaType.APPLICATION_JSON))
+            .build();
+
+    HttpResponse insertHttpHealthCheckResponse = 
HttpResponse.builder().statusCode(404).build();
+
+    HttpHealthCheckApi api = 
requestsSendResponses(requestForScopes(COMPUTE_SCOPE),
+            TOKEN_RESPONSE, patch,
+            insertHttpHealthCheckResponse).getHttpHealthCheckApi("myproject");
+    HttpHealthCheckCreationOptions options = new 
HttpHealthCheckCreationOptions().timeoutSec(0).unhealthyThreshold(0);
+    api.update(healthCheckName, options);
+   }
 
 }

http://git-wip-us.apache.org/repos/asf/jclouds-labs-google/blob/bbf953be/google-compute-engine/src/test/java/org/jclouds/googlecomputeengine/features/HttpHealthCheckApiLiveTest.java
----------------------------------------------------------------------
diff --git 
a/google-compute-engine/src/test/java/org/jclouds/googlecomputeengine/features/HttpHealthCheckApiLiveTest.java
 
b/google-compute-engine/src/test/java/org/jclouds/googlecomputeengine/features/HttpHealthCheckApiLiveTest.java
index 9adcd4d..1491cab 100644
--- 
a/google-compute-engine/src/test/java/org/jclouds/googlecomputeengine/features/HttpHealthCheckApiLiveTest.java
+++ 
b/google-compute-engine/src/test/java/org/jclouds/googlecomputeengine/features/HttpHealthCheckApiLiveTest.java
@@ -46,14 +46,14 @@ public class HttpHealthCheckApiLiveTest extends 
BaseGoogleComputeEngineApiLiveTe
       assertEquals(httpHealthCheck.getName(), HTTP_HEALTH_CHECK_NAME);
    }
 
-   @Test(groups = "live", dependsOnMethods = "testGetHttpHealthCheck")
+   @Test(groups = "live", dependsOnMethods = "testInsertHttpHealthCheck")
    public void testListHttpHealthCheck() {
       IterableWithMarker<HttpHealthCheck> httpHealthCheck = api().list(new 
ListOptions.Builder()
               .filter("name eq " + HTTP_HEALTH_CHECK_NAME));
       assertEquals(httpHealthCheck.toList().size(), 1);
    }
 
-   @Test(groups = "live", dependsOnMethods = "testListHttpHealthCheck")
+   @Test(groups = "live", dependsOnMethods = {"testListHttpHealthCheck", 
"testGetHttpHealthCheck"})
    public void testDeleteHttpHealthCheck() {
       
assertGlobalOperationDoneSucessfully(api().delete(HTTP_HEALTH_CHECK_NAME), 
TIME_WAIT);
    }

http://git-wip-us.apache.org/repos/asf/jclouds-labs-google/blob/bbf953be/google-compute-engine/src/test/java/org/jclouds/googlecomputeengine/features/TargetPoolApiExpectTest.java
----------------------------------------------------------------------
diff --git 
a/google-compute-engine/src/test/java/org/jclouds/googlecomputeengine/features/TargetPoolApiExpectTest.java
 
b/google-compute-engine/src/test/java/org/jclouds/googlecomputeengine/features/TargetPoolApiExpectTest.java
index e8545f2..9bd0044 100644
--- 
a/google-compute-engine/src/test/java/org/jclouds/googlecomputeengine/features/TargetPoolApiExpectTest.java
+++ 
b/google-compute-engine/src/test/java/org/jclouds/googlecomputeengine/features/TargetPoolApiExpectTest.java
@@ -16,14 +16,22 @@
  */
 package org.jclouds.googlecomputeengine.features;
 
+import java.net.URI;
+import java.util.Set;
+
 import 
org.jclouds.googlecomputeengine.internal.BaseGoogleComputeEngineApiExpectTest;
+import org.jclouds.googlecomputeengine.options.ListOptions;
+import org.jclouds.googlecomputeengine.options.TargetPoolCreationOptions;
 import org.jclouds.googlecomputeengine.parse.ParseRegionOperationTest;
 import org.jclouds.googlecomputeengine.parse.ParseTargetPoolListTest;
 import org.jclouds.googlecomputeengine.parse.ParseTargetPoolTest;
 import org.jclouds.http.HttpRequest;
 import org.jclouds.http.HttpResponse;
+import org.jclouds.rest.ResourceNotFoundException;
 import org.testng.annotations.Test;
 
+import com.google.common.collect.ImmutableSet;
+
 import javax.ws.rs.core.MediaType;
 
 import static 
org.jclouds.googlecomputeengine.GoogleComputeEngineConstants.COMPUTE_READONLY_SCOPE;
@@ -35,6 +43,12 @@ import static org.testng.AssertJUnit.assertNull;
 @Test(groups = "unit")
 public class TargetPoolApiExpectTest extends 
BaseGoogleComputeEngineApiExpectTest {
 
+   private static final Set<URI> INSTANCES = 
ImmutableSet.of(URI.create("https://www.googleapis.com/compute/v1/projects/myproject/zones/europe-west1-a/instances/test";));
+   
+   private static final Set<URI> HEALTH_CHECKS = 
ImmutableSet.of(URI.create("https://www.googleapis.com/compute/v1/projects/myproject/global/httpHealthChecks/health-check-1";));
+   
+   private static final URI TARGET_POOL = 
URI.create("https://www.googleapis.com/compute/v1/projects/myproject/regions/us-central1/targetPools/tpool";);
+   
    public void testGetTargetPoolResponseIs2xx() throws Exception {
       HttpRequest get = HttpRequest
               .builder()
@@ -85,7 +99,8 @@ public class TargetPoolApiExpectTest extends 
BaseGoogleComputeEngineApiExpectTes
       TargetPoolApi api = 
requestsSendResponses(requestForScopes(COMPUTE_SCOPE),
               TOKEN_RESPONSE, insert,
               insertTargetPoolResponse).getTargetPoolApi("myproject", 
"us-central1");
-      assertEquals(api.create("test"), new 
ParseRegionOperationTest().expected());
+      TargetPoolCreationOptions targetPoolCreationOptions = new 
TargetPoolCreationOptions();
+      assertEquals(api.create("test", targetPoolCreationOptions), new 
ParseRegionOperationTest().expected());
    }
 
    public void testDeleteTargetPoolResponseIs2xx() {
@@ -136,7 +151,8 @@ public class TargetPoolApiExpectTest extends 
BaseGoogleComputeEngineApiExpectTes
       TargetPoolApi api = 
requestsSendResponses(requestForScopes(COMPUTE_READONLY_SCOPE),
               TOKEN_RESPONSE, list, 
operationResponse).getTargetPoolApi("myproject", "us-central1");
 
-      assertEquals(api.list().toString(),
+      ListOptions options = new ListOptions();
+      assertEquals(api.list(options).toString(),
               new ParseTargetPoolListTest().expected().toString());
    }
 
@@ -157,42 +173,167 @@ public class TargetPoolApiExpectTest extends 
BaseGoogleComputeEngineApiExpectTes
    }
 
    public void testAddInstanceResponseIs2xx() throws Exception {
-      HttpRequest addInstance = HttpRequest
-              .builder()
-              .method("POST")
-              
.endpoint("https://www.googleapis.com/compute/v1/projects/myproject/regions/us-central1/targetPools/test/addInstance";)
-              .addHeader("Accept", "application/json")
-              .addHeader("Authorization", "Bearer " + TOKEN)
-              
.payload(payloadFromResourceWithContentType("/targetpool_addinstance.json", 
MediaType.APPLICATION_JSON))
-              .build();
-
+      HttpRequest addInstance = makeGenericRequest("POST", "addInstance", 
"/targetpool_addinstance.json");
       HttpResponse operationResponse = HttpResponse.builder().statusCode(200)
               .payload(payloadFromResource("/region_operation.json")).build();
 
       TargetPoolApi api = 
requestsSendResponses(requestForScopes(COMPUTE_SCOPE),
               TOKEN_RESPONSE, addInstance, 
operationResponse).getTargetPoolApi("myproject", "us-central1");
 
-      assertEquals(api.addInstance("test",
-              
"https://www.googleapis.com/compute/v1/projects/myproject/zones/europe-west1-a/instances/test";),
+      assertEquals(api.addInstance("test", INSTANCES),
               new ParseRegionOperationTest().expected());
    }
 
+   @Test(expectedExceptions = ResourceNotFoundException.class)
    public void testAddInstanceResponseIs4xx() throws Exception {
-      HttpRequest addInstance = HttpRequest
-              .builder()
-              .method("POST")
-              
.endpoint("https://www.googleapis.com/compute/v1/projects/myproject/regions/us-central1/targetPools/test/addInstance";)
-              .addHeader("Accept", "application/json")
-              .addHeader("Authorization", "Bearer " + TOKEN)
-              
.payload(payloadFromResourceWithContentType("/targetpool_addinstance.json", 
MediaType.APPLICATION_JSON))
-              .build();
-
+      HttpRequest addInstance = makeGenericRequest("POST", "addInstance", 
"/targetpool_addinstance.json");
       HttpResponse operationResponse = 
HttpResponse.builder().statusCode(404).build();
 
       TargetPoolApi api = 
requestsSendResponses(requestForScopes(COMPUTE_SCOPE),
               TOKEN_RESPONSE, addInstance, 
operationResponse).getTargetPoolApi("myproject", "us-central1");
 
-      assertNull(api.addInstance("test", "https://www.googleapis"; +
-              
".com/compute/v1/projects/myproject/zones/europe-west1-a/instances/test"));
+      api.addInstance("test", INSTANCES);
+   }
+   
+   public void testRemoveInstanceResponseIs2xx(){
+      HttpRequest removeInstance = makeGenericRequest("POST", 
"removeInstance", "/targetpool_addinstance.json");
+      
+      HttpResponse operationResponse = HttpResponse.builder().statusCode(200)
+            .payload(payloadFromResource("/region_operation.json")).build();
+
+      TargetPoolApi api = 
requestsSendResponses(requestForScopes(COMPUTE_SCOPE),
+            TOKEN_RESPONSE, removeInstance, 
operationResponse).getTargetPoolApi("myproject", "us-central1");
+
+      assertEquals(api.removeInstance("test", INSTANCES),
+            new ParseRegionOperationTest().expected());
+   }
+   
+   @Test(expectedExceptions = ResourceNotFoundException.class)
+   public void testRemoveInstanceResponseIs4xx() throws Exception {
+      HttpRequest removeInstance = makeGenericRequest("POST", 
"removeInstance", "/targetpool_addinstance.json");
+      HttpResponse operationResponse = 
HttpResponse.builder().statusCode(404).build();
+
+      TargetPoolApi api = 
requestsSendResponses(requestForScopes(COMPUTE_SCOPE),
+              TOKEN_RESPONSE, removeInstance, 
operationResponse).getTargetPoolApi("myproject", "us-central1");
+
+      api.removeInstance("test", INSTANCES);
+   }
+   
+   public void testAddHealthCheckResponseIs2xx(){
+      HttpRequest addHealthCheck = makeGenericRequest("POST", 
"addHealthCheck", "/targetpool_changehealthcheck.json");
+      
+      HttpResponse operationResponse = HttpResponse.builder().statusCode(200)
+            .payload(payloadFromResource("/region_operation.json")).build();
+
+      TargetPoolApi api = 
requestsSendResponses(requestForScopes(COMPUTE_SCOPE),
+            TOKEN_RESPONSE, addHealthCheck, 
operationResponse).getTargetPoolApi("myproject", "us-central1");
+
+      assertEquals(api.addHealthCheck("test", HEALTH_CHECKS),
+            new ParseRegionOperationTest().expected());
+   }
+   
+   @Test(expectedExceptions = ResourceNotFoundException.class)
+   public void testAddHealthCheckResponseIs4xx() throws Exception {
+      HttpRequest addHealthCheck = makeGenericRequest("POST", 
"addHealthCheck", "/targetpool_changehealthcheck.json");
+      HttpResponse operationResponse = 
HttpResponse.builder().statusCode(404).build();
+
+      TargetPoolApi api = 
requestsSendResponses(requestForScopes(COMPUTE_SCOPE),
+              TOKEN_RESPONSE, addHealthCheck, 
operationResponse).getTargetPoolApi("myproject", "us-central1");
+
+      api.addHealthCheck("test", HEALTH_CHECKS);
+   }
+   
+   public void testRemoveHealthCheckResponseIs2xx(){
+      HttpRequest removeHealthCheck = makeGenericRequest("POST", 
"removeHealthCheck", "/targetpool_changehealthcheck.json");
+      
+      HttpResponse operationResponse = HttpResponse.builder().statusCode(200)
+            .payload(payloadFromResource("/region_operation.json")).build();
+
+      TargetPoolApi api = 
requestsSendResponses(requestForScopes(COMPUTE_SCOPE),
+            TOKEN_RESPONSE, removeHealthCheck, 
operationResponse).getTargetPoolApi("myproject", "us-central1");
+
+      assertEquals(api.removeHealthCheck("test", HEALTH_CHECKS),
+            new ParseRegionOperationTest().expected());
+   }
+   
+   @Test(expectedExceptions = ResourceNotFoundException.class)
+   public void testRemoveHealthCheckResponseIs4xx() throws Exception {
+      HttpRequest removeHealthCheck = makeGenericRequest("POST", 
"removeHealthCheck", "/targetpool_changehealthcheck.json");
+      HttpResponse operationResponse = 
HttpResponse.builder().statusCode(404).build();
+
+      TargetPoolApi api = 
requestsSendResponses(requestForScopes(COMPUTE_SCOPE),
+              TOKEN_RESPONSE, removeHealthCheck, 
operationResponse).getTargetPoolApi("myproject", "us-central1");
+
+      api.removeHealthCheck("test", HEALTH_CHECKS);
+   }
+   
+   public void testSetBackupResponseIs2xx(){
+      HttpRequest setBackup = HttpRequest
+            .builder()
+            .method("POST")
+            
.endpoint("https://www.googleapis.com/compute/v1/projects/myproject/regions/us-central1/targetPools/testpool/setBackup";)
+            .addHeader("Accept", "application/json")
+            .addHeader("Authorization", "Bearer " + TOKEN)
+            
.payload(payloadFromResourceWithContentType("/targetpool_setbackup.json", 
MediaType.APPLICATION_JSON))
+            .build();
+      HttpResponse operationResponse = HttpResponse.builder().statusCode(200)
+            .payload(payloadFromResource("/region_operation.json")).build();
+
+      TargetPoolApi api = 
requestsSendResponses(requestForScopes(COMPUTE_SCOPE),
+            TOKEN_RESPONSE, setBackup, 
operationResponse).getTargetPoolApi("myproject", "us-central1");
+
+      assertEquals(api.setBackup("testpool", TARGET_POOL ),
+            new ParseRegionOperationTest().expected());
+   }
+   
+   public void testSetBackupWithFailoverRatioResponseIs2xx(){
+      HttpRequest setBackup = HttpRequest
+            .builder()
+            .method("POST")
+            
.endpoint("https://www.googleapis.com/compute/v1/projects/myproject/regions/";
+                    + 
"us-central1/targetPools/testpool/setBackup?failoverRatio=0.5")
+            .addHeader("Accept", "application/json")
+            .addHeader("Authorization", "Bearer " + TOKEN)
+            
.payload(payloadFromResourceWithContentType("/targetpool_setbackup.json", 
MediaType.APPLICATION_JSON))
+            .build();
+      HttpResponse operationResponse = HttpResponse.builder().statusCode(200)
+            .payload(payloadFromResource("/region_operation.json")).build();
+
+      TargetPoolApi api = 
requestsSendResponses(requestForScopes(COMPUTE_SCOPE),
+            TOKEN_RESPONSE, setBackup, 
operationResponse).getTargetPoolApi("myproject", "us-central1");
+
+      Float failoverRatio = Float.valueOf("0.5");
+      assertEquals(api.setBackup("testpool", failoverRatio, TARGET_POOL ),
+            new ParseRegionOperationTest().expected());
+   }
+   
+   @Test(expectedExceptions = ResourceNotFoundException.class)
+   public void testSetBackupResponseIs4xx() throws Exception {
+      HttpRequest setBackup = HttpRequest
+            .builder()
+            .method("POST")
+            
.endpoint("https://www.googleapis.com/compute/v1/projects/myproject/regions/us-central1/targetPools/testpool/setBackup";)
+            .addHeader("Accept", "application/json")
+            .addHeader("Authorization", "Bearer " + TOKEN)
+            
.payload(payloadFromResourceWithContentType("/targetpool_setbackup.json", 
MediaType.APPLICATION_JSON))
+            .build();
+      HttpResponse operationResponse = 
HttpResponse.builder().statusCode(404).build();
+
+      TargetPoolApi api = 
requestsSendResponses(requestForScopes(COMPUTE_SCOPE),
+            TOKEN_RESPONSE, setBackup, 
operationResponse).getTargetPoolApi("myproject", "us-central1");
+
+      api.setBackup("testpool", TARGET_POOL );
+   }
+   
+   public HttpRequest makeGenericRequest(String method, String endpoint, 
String requestPayloadFile){
+      HttpRequest request = HttpRequest
+            .builder()
+            .method(method)
+            
.endpoint("https://www.googleapis.com/compute/v1/projects/myproject/regions/us-central1/targetPools/test/";
 + endpoint)
+            .addHeader("Accept", "application/json")
+            .addHeader("Authorization", "Bearer " + TOKEN)
+            .payload(payloadFromResourceWithContentType(requestPayloadFile, 
MediaType.APPLICATION_JSON))
+            .build();
+      return request;
    }
 }

http://git-wip-us.apache.org/repos/asf/jclouds-labs-google/blob/bbf953be/google-compute-engine/src/test/java/org/jclouds/googlecomputeengine/features/TargetPoolApiLiveTest.java
----------------------------------------------------------------------
diff --git 
a/google-compute-engine/src/test/java/org/jclouds/googlecomputeengine/features/TargetPoolApiLiveTest.java
 
b/google-compute-engine/src/test/java/org/jclouds/googlecomputeengine/features/TargetPoolApiLiveTest.java
index 5126b65..032b31f 100644
--- 
a/google-compute-engine/src/test/java/org/jclouds/googlecomputeengine/features/TargetPoolApiLiveTest.java
+++ 
b/google-compute-engine/src/test/java/org/jclouds/googlecomputeengine/features/TargetPoolApiLiveTest.java
@@ -20,15 +20,19 @@ import org.jclouds.collect.IterableWithMarker;
 import org.jclouds.googlecomputeengine.domain.TargetPool;
 import 
org.jclouds.googlecomputeengine.internal.BaseGoogleComputeEngineApiLiveTest;
 import org.jclouds.googlecomputeengine.options.ListOptions;
+import org.jclouds.googlecomputeengine.options.TargetPoolCreationOptions;
+import 
org.jclouds.googlecomputeengine.options.TargetPoolCreationOptions.SessionAffinityValue;
 import org.testng.annotations.Test;
 
 import static org.testng.Assert.assertEquals;
 import static org.testng.Assert.assertNotNull;
+import static com.google.common.base.Optional.fromNullable;
 
 public class TargetPoolApiLiveTest extends BaseGoogleComputeEngineApiLiveTest {
 
    private static final String TARGETPOOL_NAME = "targetpool-api-live-test";
    private static final int TIME_WAIT = 30;
+   private static final String DESCRIPTION = "A New TargetPool!";
 
    private TargetPoolApi api() {
       return api.getTargetPoolApi(userProject.get(), DEFAULT_REGION_NAME);
@@ -36,7 +40,10 @@ public class TargetPoolApiLiveTest extends 
BaseGoogleComputeEngineApiLiveTest {
 
    @Test(groups = "live")
    public void testInsertTargetPool() {
-      assertRegionOperationDoneSucessfully(api().create(TARGETPOOL_NAME), 
TIME_WAIT);
+      TargetPoolCreationOptions targetPoolCreationOptions = new 
TargetPoolCreationOptions()
+      .description(DESCRIPTION)
+      .sessionAffinity(SessionAffinityValue.CLIENT_IP);
+      assertRegionOperationDoneSucessfully(api().create(TARGETPOOL_NAME, 
targetPoolCreationOptions), TIME_WAIT);
    }
 
    @Test(groups = "live", dependsOnMethods = "testInsertTargetPool")
@@ -44,9 +51,11 @@ public class TargetPoolApiLiveTest extends 
BaseGoogleComputeEngineApiLiveTest {
       TargetPool targetPool = api().get(TARGETPOOL_NAME);
       assertNotNull(targetPool);
       assertEquals(targetPool.getName(), TARGETPOOL_NAME);
+      assertEquals(targetPool.getDescription(), fromNullable(DESCRIPTION));
+      assertEquals(targetPool.getSessionAffinity(), 
fromNullable(SessionAffinityValue.CLIENT_IP));
    }
 
-   @Test(groups = "live", dependsOnMethods = "testGetTargetPool")
+   @Test(groups = "live", dependsOnMethods = "testInsertTargetPool")
    public void testListTargetPool() {
 
       IterableWithMarker<TargetPool> targetPool = api().list(new 
ListOptions.Builder()
@@ -54,8 +63,9 @@ public class TargetPoolApiLiveTest extends 
BaseGoogleComputeEngineApiLiveTest {
       assertEquals(targetPool.toList().size(), 1);
    }
 
-   @Test(groups = "live", dependsOnMethods = "testListTargetPool")
+   @Test(groups = "live", dependsOnMethods = {"testListTargetPool", 
"testGetTargetPool"})
    public void testDeleteTargetPool() {
       assertRegionOperationDoneSucessfully(api().delete(TARGETPOOL_NAME), 
TIME_WAIT);
    }
+
 }

http://git-wip-us.apache.org/repos/asf/jclouds-labs-google/blob/bbf953be/google-compute-engine/src/test/java/org/jclouds/googlecomputeengine/parse/ParseForwardingRuleListTest.java
----------------------------------------------------------------------
diff --git 
a/google-compute-engine/src/test/java/org/jclouds/googlecomputeengine/parse/ParseForwardingRuleListTest.java
 
b/google-compute-engine/src/test/java/org/jclouds/googlecomputeengine/parse/ParseForwardingRuleListTest.java
index 8b6a0ee..e2c0f40 100644
--- 
a/google-compute-engine/src/test/java/org/jclouds/googlecomputeengine/parse/ParseForwardingRuleListTest.java
+++ 
b/google-compute-engine/src/test/java/org/jclouds/googlecomputeengine/parse/ParseForwardingRuleListTest.java
@@ -17,8 +17,10 @@
 package org.jclouds.googlecomputeengine.parse;
 
 import com.google.common.collect.ImmutableSet;
+
 import org.jclouds.date.internal.SimpleDateFormatDateService;
 import org.jclouds.googlecomputeengine.domain.ForwardingRule;
+import org.jclouds.googlecomputeengine.domain.ForwardingRule.IPProtocolOption;
 import org.jclouds.googlecomputeengine.domain.ListPage;
 import org.jclouds.googlecomputeengine.domain.Resource;
 import 
org.jclouds.googlecomputeengine.internal.BaseGoogleComputeEngineParseTest;
@@ -26,6 +28,7 @@ import org.testng.annotations.Test;
 
 import javax.ws.rs.Consumes;
 import javax.ws.rs.core.MediaType;
+
 import java.net.URI;
 
 @Test(groups = "unit")
@@ -49,7 +52,7 @@ public class ParseForwardingRuleListTest extends 
BaseGoogleComputeEngineParseTes
                       .name("test-forwarding-rule")
                       
.region(URI.create("https://www.googleapis.com/compute/v1/projects/myproject/regions/europe-west1";))
                       .ipAddress("23.251.129.77")
-                      .ipProtocol("TCP")
+                      .ipProtocol(IPProtocolOption.TCP)
                       .target(URI.create("https://www.googleapis"; +
                               
".com/compute/v1/projects/myproject/regions/europe-west1/targetPools/test-target-pool"))
                       .portRange("1-65535")

http://git-wip-us.apache.org/repos/asf/jclouds-labs-google/blob/bbf953be/google-compute-engine/src/test/java/org/jclouds/googlecomputeengine/parse/ParseForwardingRuleTest.java
----------------------------------------------------------------------
diff --git 
a/google-compute-engine/src/test/java/org/jclouds/googlecomputeengine/parse/ParseForwardingRuleTest.java
 
b/google-compute-engine/src/test/java/org/jclouds/googlecomputeengine/parse/ParseForwardingRuleTest.java
index 712e0ee..0f06726 100644
--- 
a/google-compute-engine/src/test/java/org/jclouds/googlecomputeengine/parse/ParseForwardingRuleTest.java
+++ 
b/google-compute-engine/src/test/java/org/jclouds/googlecomputeengine/parse/ParseForwardingRuleTest.java
@@ -18,11 +18,13 @@ package org.jclouds.googlecomputeengine.parse;
 
 import org.jclouds.date.internal.SimpleDateFormatDateService;
 import org.jclouds.googlecomputeengine.domain.ForwardingRule;
+import org.jclouds.googlecomputeengine.domain.ForwardingRule.IPProtocolOption;
 import 
org.jclouds.googlecomputeengine.internal.BaseGoogleComputeEngineParseTest;
 import org.testng.annotations.Test;
 
 import javax.ws.rs.Consumes;
 import javax.ws.rs.core.MediaType;
+
 import java.net.URI;
 
 @Test(groups = "unit")
@@ -44,7 +46,7 @@ public class ParseForwardingRuleTest extends 
BaseGoogleComputeEngineParseTest<Fo
               
.region(URI.create("https://www.googleapis.com/compute/v1/projects/myproject/regions/europe-west1";))
               
.target(URI.create("https://www.googleapis.com/compute/v1/projects/myproject/regions/europe-west1/targetPools/test-target-pool";))
               .ipAddress("23.251.129.77")
-              .ipProtocol("TCP")
+              .ipProtocol(IPProtocolOption.TCP)
               .portRange("1-65535")
               .build();
    }

http://git-wip-us.apache.org/repos/asf/jclouds-labs-google/blob/bbf953be/google-compute-engine/src/test/java/org/jclouds/googlecomputeengine/parse/ParseTargetPoolListTest.java
----------------------------------------------------------------------
diff --git 
a/google-compute-engine/src/test/java/org/jclouds/googlecomputeengine/parse/ParseTargetPoolListTest.java
 
b/google-compute-engine/src/test/java/org/jclouds/googlecomputeengine/parse/ParseTargetPoolListTest.java
index 0bf743f..5a2cb50 100644
--- 
a/google-compute-engine/src/test/java/org/jclouds/googlecomputeengine/parse/ParseTargetPoolListTest.java
+++ 
b/google-compute-engine/src/test/java/org/jclouds/googlecomputeengine/parse/ParseTargetPoolListTest.java
@@ -17,15 +17,18 @@
 package org.jclouds.googlecomputeengine.parse;
 
 import com.google.common.collect.ImmutableSet;
+
 import org.jclouds.date.internal.SimpleDateFormatDateService;
 import org.jclouds.googlecomputeengine.domain.ListPage;
 import org.jclouds.googlecomputeengine.domain.Resource;
 import org.jclouds.googlecomputeengine.domain.TargetPool;
 import 
org.jclouds.googlecomputeengine.internal.BaseGoogleComputeEngineParseTest;
+import 
org.jclouds.googlecomputeengine.options.TargetPoolCreationOptions.SessionAffinityValue;
 import org.testng.annotations.Test;
 
 import javax.ws.rs.Consumes;
 import javax.ws.rs.core.MediaType;
+
 import java.net.URI;
 
 @Test(groups = "unit")
@@ -47,7 +50,7 @@ public class ParseTargetPoolListTest extends 
BaseGoogleComputeEngineParseTest<Li
                       
.selfLink(URI.create("https://www.googleapis.com/compute/v1/projects/myproject/regions/us-central1/targetPools/test-targetpool";))
                       .name("test-targetpool")
                       
.region(URI.create("https://www.googleapis.com/compute/v1/projects/myproject/regions/us-central1";))
-                      .sessionAffinity("NONE")
+                      .sessionAffinity(SessionAffinityValue.NONE)
                       .build())
               ).build();
    }

http://git-wip-us.apache.org/repos/asf/jclouds-labs-google/blob/bbf953be/google-compute-engine/src/test/java/org/jclouds/googlecomputeengine/parse/ParseTargetPoolTest.java
----------------------------------------------------------------------
diff --git 
a/google-compute-engine/src/test/java/org/jclouds/googlecomputeengine/parse/ParseTargetPoolTest.java
 
b/google-compute-engine/src/test/java/org/jclouds/googlecomputeengine/parse/ParseTargetPoolTest.java
index faf7a77..160d424 100644
--- 
a/google-compute-engine/src/test/java/org/jclouds/googlecomputeengine/parse/ParseTargetPoolTest.java
+++ 
b/google-compute-engine/src/test/java/org/jclouds/googlecomputeengine/parse/ParseTargetPoolTest.java
@@ -19,10 +19,12 @@ package org.jclouds.googlecomputeengine.parse;
 import org.jclouds.date.internal.SimpleDateFormatDateService;
 import org.jclouds.googlecomputeengine.domain.TargetPool;
 import 
org.jclouds.googlecomputeengine.internal.BaseGoogleComputeEngineParseTest;
+import 
org.jclouds.googlecomputeengine.options.TargetPoolCreationOptions.SessionAffinityValue;
 import org.testng.annotations.Test;
 
 import javax.ws.rs.Consumes;
 import javax.ws.rs.core.MediaType;
+
 import java.net.URI;
 
 @Test(groups = "unit")
@@ -41,7 +43,7 @@ public class ParseTargetPoolTest extends 
BaseGoogleComputeEngineParseTest<Target
               .creationTimestamp(new 
SimpleDateFormatDateService().iso8601DateParse("2014-01-07T05:25:27.783-08:00"))
               
.selfLink(URI.create("https://www.googleapis.com/compute/v1/projects/myproject/regions/us-central1/targetPools/test-targetpool";))
               .name("test-targetpool")
-              .sessionAffinity("NONE")
+              .sessionAffinity(SessionAffinityValue.NONE)
               
.region(URI.create("https://www.googleapis.com/compute/v1/projects/myproject/regions/us-central1";))
               .build();
    }

http://git-wip-us.apache.org/repos/asf/jclouds-labs-google/blob/bbf953be/google-compute-engine/src/test/resources/forwardingrule_get.json
----------------------------------------------------------------------
diff --git a/google-compute-engine/src/test/resources/forwardingrule_get.json 
b/google-compute-engine/src/test/resources/forwardingrule_get.json
index c3e29e5..b6775bf 100644
--- a/google-compute-engine/src/test/resources/forwardingrule_get.json
+++ b/google-compute-engine/src/test/resources/forwardingrule_get.json
@@ -1,12 +1,12 @@
 {
-"kind": "compute#forwardingRule",
-"id": "6732523704970219884",
-"creationTimestamp": "2014-01-08T06:51:10.809-08:00",
-"name": "test-forwarding-rule",
-"region": 
"https://www.googleapis.com/compute/v1/projects/myproject/regions/europe-west1";,
-"IPAddress": "23.251.129.77",
-"IPProtocol": "TCP",
-"portRange": "1-65535",
-"target": 
"https://www.googleapis.com/compute/v1/projects/myproject/regions/europe-west1/targetPools/test-target-pool";,
-"selfLink": 
"https://www.googleapis.com/compute/v1/projects/myproject/regions/europe-west1/forwardingRules/test-forwarding-rule";
+    "kind": "compute#forwardingRule",
+    "id": "6732523704970219884",
+    "creationTimestamp": "2014-01-08T06:51:10.809-08:00",
+    "name": "test-forwarding-rule",
+    "region": 
"https://www.googleapis.com/compute/v1/projects/myproject/regions/europe-west1";,
+    "IPAddress": "23.251.129.77",
+    "IPProtocol": "TCP",
+    "portRange": "1-65535",
+    "target": 
"https://www.googleapis.com/compute/v1/projects/myproject/regions/europe-west1/targetPools/test-target-pool";,
+    "selfLink": 
"https://www.googleapis.com/compute/v1/projects/myproject/regions/europe-west1/forwardingRules/test-forwarding-rule";
 }
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/jclouds-labs-google/blob/bbf953be/google-compute-engine/src/test/resources/forwardingrule_set_target.json
----------------------------------------------------------------------
diff --git 
a/google-compute-engine/src/test/resources/forwardingrule_set_target.json 
b/google-compute-engine/src/test/resources/forwardingrule_set_target.json
new file mode 100644
index 0000000..67e7a8e
--- /dev/null
+++ b/google-compute-engine/src/test/resources/forwardingrule_set_target.json
@@ -0,0 +1 @@
+{"target":"https://www.googleapis.com/compute/v1/projects/myproject/regions/europe-west1/targetPools/test-target-pool"}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/jclouds-labs-google/blob/bbf953be/google-compute-engine/src/test/resources/targetpool_addinstance.json
----------------------------------------------------------------------
diff --git 
a/google-compute-engine/src/test/resources/targetpool_addinstance.json 
b/google-compute-engine/src/test/resources/targetpool_addinstance.json
index 63fc50f..a50c1cd 100644
--- a/google-compute-engine/src/test/resources/targetpool_addinstance.json
+++ b/google-compute-engine/src/test/resources/targetpool_addinstance.json
@@ -1 +1 @@
-{"instance":"https://www.googleapis.com/compute/v1/projects/myproject/zones/europe-west1-a/instances/test"}
\ No newline at end of file
+{"instances":[{"instance":"https://www.googleapis.com/compute/v1/projects/myproject/zones/europe-west1-a/instances/test"}]}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/jclouds-labs-google/blob/bbf953be/google-compute-engine/src/test/resources/targetpool_changehealthcheck.json
----------------------------------------------------------------------
diff --git 
a/google-compute-engine/src/test/resources/targetpool_changehealthcheck.json 
b/google-compute-engine/src/test/resources/targetpool_changehealthcheck.json
new file mode 100644
index 0000000..94cd40b
--- /dev/null
+++ b/google-compute-engine/src/test/resources/targetpool_changehealthcheck.json
@@ -0,0 +1 @@
+{"healthChecks":[{"healthCheck":"https://www.googleapis.com/compute/v1/projects/myproject/global/httpHealthChecks/health-check-1"}]}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/jclouds-labs-google/blob/bbf953be/google-compute-engine/src/test/resources/targetpool_setbackup.json
----------------------------------------------------------------------
diff --git a/google-compute-engine/src/test/resources/targetpool_setbackup.json 
b/google-compute-engine/src/test/resources/targetpool_setbackup.json
new file mode 100644
index 0000000..c3c059d
--- /dev/null
+++ b/google-compute-engine/src/test/resources/targetpool_setbackup.json
@@ -0,0 +1 @@
+{"target":"https://www.googleapis.com/compute/v1/projects/myproject/regions/us-central1/targetPools/tpool"}
\ No newline at end of file

Reply via email to