You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@jclouds.apache.org by ad...@apache.org on 2014/11/10 18:19:38 UTC

[2/6] jclouds-labs-google git commit: * Removed the need for users to manually specify the current project name everywhere. * Documented why we implicitly lookup project name using project id; corrected README, pom, ApiMetadata and added tests. * I

http://git-wip-us.apache.org/repos/asf/jclouds-labs-google/blob/37e0397d/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 d395868..64fd2c8 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
@@ -16,8 +16,8 @@
  */
 package org.jclouds.googlecomputeengine.features;
 
-import static org.jclouds.googlecomputeengine.GoogleComputeEngineConstants.COMPUTE_READONLY_SCOPE;
-import static org.jclouds.googlecomputeengine.GoogleComputeEngineConstants.COMPUTE_SCOPE;
+import static org.jclouds.googlecomputeengine.config.GoogleComputeEngineScopes.COMPUTE_READONLY_SCOPE;
+import static org.jclouds.googlecomputeengine.config.GoogleComputeEngineScopes.COMPUTE_SCOPE;
 import static org.testng.Assert.assertEquals;
 import static org.testng.Assert.assertFalse;
 import static org.testng.AssertJUnit.assertNull;
@@ -47,11 +47,11 @@ public class ForwardingRuleApiExpectTest extends BaseGoogleComputeEngineExpectTe
                   .addHeader("Accept", "application/json")
                   .addHeader("Authorization", "Bearer " + TOKEN).build();
 
-      HttpResponse operationResponse = HttpResponse.builder().statusCode(200)
+      HttpResponse response = HttpResponse.builder().statusCode(200)
             .payload(payloadFromResource("/forwardingrule_get.json")).build();
 
       ForwardingRuleApi api = requestsSendResponses(requestForScopes(COMPUTE_READONLY_SCOPE),
-            TOKEN_RESPONSE, get, operationResponse).getForwardingRuleApi("party", "us-central1");
+            TOKEN_RESPONSE, get, response).forwardingRulesInRegion("us-central1");
 
       assertEquals(api.get("test-forwarding-rule"), new ParseForwardingRuleTest().expected());
    }
@@ -64,10 +64,10 @@ public class ForwardingRuleApiExpectTest extends BaseGoogleComputeEngineExpectTe
                   .addHeader("Accept", "application/json")
                   .addHeader("Authorization", "Bearer " + TOKEN).build();
 
-      HttpResponse operationResponse = HttpResponse.builder().statusCode(404).build();
+      HttpResponse response = HttpResponse.builder().statusCode(404).build();
 
       ForwardingRuleApi api = requestsSendResponses(requestForScopes(COMPUTE_READONLY_SCOPE),
-            TOKEN_RESPONSE, get, operationResponse).getForwardingRuleApi("party", "us-central1");
+            TOKEN_RESPONSE, get, response).forwardingRulesInRegion("us-central1");
 
       assertNull(api.get("test-forwarding-rule"));
    }
@@ -87,7 +87,7 @@ public class ForwardingRuleApiExpectTest extends BaseGoogleComputeEngineExpectTe
 
       ForwardingRuleApi api = requestsSendResponses(requestForScopes(COMPUTE_SCOPE),
             TOKEN_RESPONSE, insert,
-            insertForwardingRuleResponse).getForwardingRuleApi("party", "us-central1");
+            insertForwardingRuleResponse).forwardingRulesInRegion("us-central1");
 
       ForwardingRuleCreationOptions forwardingRuleCreationOptions = new ForwardingRuleCreationOptions()
       .target(URI.create(BASE_URL + "/party/regions/europe-west1/targetPools/test-target-pool"));
@@ -107,7 +107,7 @@ public class ForwardingRuleApiExpectTest extends BaseGoogleComputeEngineExpectTe
             .payload(payloadFromResource("/region_operation.json")).build();
 
       ForwardingRuleApi api = requestsSendResponses(requestForScopes(COMPUTE_SCOPE),
-            TOKEN_RESPONSE, delete, deleteResponse).getForwardingRuleApi("party", "us-central1");
+            TOKEN_RESPONSE, delete, deleteResponse).forwardingRulesInRegion("us-central1");
 
       assertEquals(api.delete("test-forwarding-rule"), new ParseRegionOperationTest().expected());
    }
@@ -123,40 +123,34 @@ public class ForwardingRuleApiExpectTest extends BaseGoogleComputeEngineExpectTe
       HttpResponse deleteResponse = HttpResponse.builder().statusCode(404).build();
 
       ForwardingRuleApi api = requestsSendResponses(requestForScopes(COMPUTE_SCOPE),
-            TOKEN_RESPONSE, delete, deleteResponse).getForwardingRuleApi("party", "us-central1");
+            TOKEN_RESPONSE, delete, deleteResponse).forwardingRulesInRegion("us-central1");
 
       assertNull(api.delete("test-targetPool"));
    }
 
-   public void testListForwardingRulesResponseIs2xx() {
-      HttpRequest list = HttpRequest
-            .builder()
-            .method("GET")
-            .endpoint(BASE_URL + "/party/regions/us-central1/forwardingRules")
-            .addHeader("Accept", "application/json")
-            .addHeader("Authorization", "Bearer " + TOKEN).build();
+   HttpRequest list = HttpRequest
+         .builder()
+         .method("GET")
+         .endpoint(BASE_URL + "/party/regions/us-central1/forwardingRules")
+         .addHeader("Accept", "application/json")
+         .addHeader("Authorization", "Bearer " + TOKEN).build();
 
-      HttpResponse operationResponse = HttpResponse.builder().statusCode(200)
+   public void list() {
+      HttpResponse response = HttpResponse.builder().statusCode(200)
             .payload(payloadFromResource("/forwardingrule_list.json")).build();
 
       ForwardingRuleApi api = requestsSendResponses(requestForScopes(COMPUTE_READONLY_SCOPE),
-            TOKEN_RESPONSE, list, operationResponse).getForwardingRuleApi("party", "us-central1");
+            TOKEN_RESPONSE, list, response).forwardingRulesInRegion("us-central1");
 
-      assertEquals(api.list().next().toString(), new ParseForwardingRuleListTest().expected().toString());
+      assertEquals(api.list().next(), new ParseForwardingRuleListTest().expected());
    }
 
-   public void testListForwardingRulesResponseIs4xx() {
-      HttpRequest list = HttpRequest
-            .builder()
-            .method("GET")
-            .endpoint(BASE_URL + "/party/regions/us-central1/forwardingRules")
-            .addHeader("Accept", "application/json")
-            .addHeader("Authorization", "Bearer " + TOKEN).build();
-
-      HttpResponse operationResponse = HttpResponse.builder().statusCode(404).build();
+   public void listEmpty() {
+      HttpResponse response = HttpResponse.builder().statusCode(200)
+            .payload(payloadFromResource("/list_empty.json")).build();
 
       ForwardingRuleApi api = requestsSendResponses(requestForScopes(COMPUTE_READONLY_SCOPE),
-            TOKEN_RESPONSE, list, operationResponse).getForwardingRuleApi("party", "us-central1");
+            TOKEN_RESPONSE, list, response).forwardingRulesInRegion("us-central1");
 
       assertFalse(api.list().hasNext());
    }
@@ -176,7 +170,7 @@ public class ForwardingRuleApiExpectTest extends BaseGoogleComputeEngineExpectTe
             .payload(payloadFromResource("/region_operation.json")).build();
 
       ForwardingRuleApi api = requestsSendResponses(requestForScopes(COMPUTE_SCOPE),
-            TOKEN_RESPONSE, setTarget, setTargetResponse).getForwardingRuleApi("party", "us-central1");
+            TOKEN_RESPONSE, setTarget, setTargetResponse).forwardingRulesInRegion("us-central1");
 
       URI newTarget = URI.create(BASE_URL + "/party/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/37e0397d/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 20b2334..5a1b6a0 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
@@ -47,15 +47,15 @@ public class ForwardingRuleApiLiveTest extends BaseGoogleComputeEngineApiLiveTes
     * @return
     */
    private ForwardingRuleApi api() {
-      return api.getForwardingRuleApi(userProject.get(), DEFAULT_REGION_NAME);
+      return api.forwardingRulesInRegion(DEFAULT_REGION_NAME);
    }
 
    private TargetPoolApi targetPoolApi() {
-      return api.getTargetPoolApi(userProject.get(), DEFAULT_REGION_NAME);
+      return api.targetPoolsInRegion(DEFAULT_REGION_NAME);
    }
 
    private AddressApi addressApi(){
-      return  api.getAddressApi(userProject.get(), DEFAULT_REGION_NAME);
+      return  api.addressesInRegion(DEFAULT_REGION_NAME);
    }
 
    @BeforeClass

http://git-wip-us.apache.org/repos/asf/jclouds-labs-google/blob/37e0397d/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 ccab042..68f7c2b 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
@@ -16,8 +16,8 @@
  */
 package org.jclouds.googlecomputeengine.features;
 
-import static org.jclouds.googlecomputeengine.GoogleComputeEngineConstants.COMPUTE_READONLY_SCOPE;
-import static org.jclouds.googlecomputeengine.GoogleComputeEngineConstants.COMPUTE_SCOPE;
+import static org.jclouds.googlecomputeengine.config.GoogleComputeEngineScopes.COMPUTE_READONLY_SCOPE;
+import static org.jclouds.googlecomputeengine.config.GoogleComputeEngineScopes.COMPUTE_SCOPE;
 import static org.testng.Assert.assertEquals;
 import static org.testng.Assert.assertFalse;
 import static org.testng.AssertJUnit.assertNull;
@@ -46,11 +46,11 @@ public class HttpHealthCheckApiExpectTest extends BaseGoogleComputeEngineExpectT
               .addHeader("Accept", "application/json")
               .addHeader("Authorization", "Bearer " + TOKEN).build();
 
-      HttpResponse operationResponse = HttpResponse.builder().statusCode(200)
+      HttpResponse response = HttpResponse.builder().statusCode(200)
               .payload(payloadFromResource("/httphealthcheck_get.json")).build();
 
       HttpHealthCheckApi api = requestsSendResponses(requestForScopes(COMPUTE_READONLY_SCOPE),
-              TOKEN_RESPONSE, get, operationResponse).getHttpHealthCheckApi("party");
+              TOKEN_RESPONSE, get, response).httpHeathChecks();
 
       assertEquals(api.get("http-health-check-api-live-test"),
               new ParseHttpHealthCheckTest().expected());
@@ -64,10 +64,10 @@ public class HttpHealthCheckApiExpectTest extends BaseGoogleComputeEngineExpectT
               .addHeader("Accept", "application/json")
               .addHeader("Authorization", "Bearer " + TOKEN).build();
 
-      HttpResponse operationResponse = HttpResponse.builder().statusCode(404).build();
+      HttpResponse response = HttpResponse.builder().statusCode(404).build();
 
       HttpHealthCheckApi api = requestsSendResponses(requestForScopes(COMPUTE_READONLY_SCOPE),
-              TOKEN_RESPONSE, get, operationResponse).getHttpHealthCheckApi("party");
+              TOKEN_RESPONSE, get, response).httpHeathChecks();
 
       assertNull(api.get("http-health-check-test"));
    }
@@ -87,7 +87,7 @@ public class HttpHealthCheckApiExpectTest extends BaseGoogleComputeEngineExpectT
 
       HttpHealthCheckApi api = requestsSendResponses(requestForScopes(COMPUTE_SCOPE),
               TOKEN_RESPONSE, insert,
-              insertHttpHealthCheckResponse).getHttpHealthCheckApi("party");
+              insertHttpHealthCheckResponse).httpHeathChecks();
       HttpHealthCheckCreationOptions options = new HttpHealthCheckCreationOptions().timeoutSec(0).unhealthyThreshold(0);
       assertEquals(api.insert("http-health-check", options), new ParseGlobalOperationTest().expected());
    }
@@ -106,7 +106,7 @@ public class HttpHealthCheckApiExpectTest extends BaseGoogleComputeEngineExpectT
       HttpResponse insertHttpHealthCheckResponse = HttpResponse.builder().statusCode(404).build();
 
       HttpHealthCheckApi api = requestsSendResponses(requestForScopes(COMPUTE_SCOPE),
-              TOKEN_RESPONSE, create, insertHttpHealthCheckResponse).getHttpHealthCheckApi("party");
+              TOKEN_RESPONSE, create, insertHttpHealthCheckResponse).httpHeathChecks();
 
       HttpHealthCheckCreationOptions options = new HttpHealthCheckCreationOptions().timeoutSec(0).unhealthyThreshold(0);
       
@@ -125,7 +125,7 @@ public class HttpHealthCheckApiExpectTest extends BaseGoogleComputeEngineExpectT
               .payload(payloadFromResource("/global_operation.json")).build();
 
       HttpHealthCheckApi api = requestsSendResponses(requestForScopes(COMPUTE_SCOPE),
-              TOKEN_RESPONSE, delete, deleteResponse).getHttpHealthCheckApi("party");
+              TOKEN_RESPONSE, delete, deleteResponse).httpHeathChecks();
 
       assertEquals(api.delete("http-health-check"),
               new ParseGlobalOperationTest().expected());
@@ -142,40 +142,34 @@ public class HttpHealthCheckApiExpectTest extends BaseGoogleComputeEngineExpectT
       HttpResponse deleteResponse = HttpResponse.builder().statusCode(404).build();
 
       HttpHealthCheckApi api = requestsSendResponses(requestForScopes(COMPUTE_SCOPE),
-              TOKEN_RESPONSE, delete, deleteResponse).getHttpHealthCheckApi("party");
+              TOKEN_RESPONSE, delete, deleteResponse).httpHeathChecks();
 
       assertNull(api.delete("http-health-check"));
    }
 
-   public void testListHttpHealthChecksResponseIs2xx() {
-      HttpRequest list = HttpRequest
-              .builder()
-              .method("GET")
-              .endpoint(BASE_URL + "/party/global/httpHealthChecks")
-              .addHeader("Accept", "application/json")
-              .addHeader("Authorization", "Bearer " + TOKEN).build();
+   HttpRequest list = HttpRequest
+         .builder()
+         .method("GET")
+         .endpoint(BASE_URL + "/party/global/httpHealthChecks")
+         .addHeader("Accept", "application/json")
+         .addHeader("Authorization", "Bearer " + TOKEN).build();
 
-      HttpResponse operationResponse = HttpResponse.builder().statusCode(200)
+   public void list() {
+      HttpResponse response = HttpResponse.builder().statusCode(200)
               .payload(payloadFromResource("/httphealthcheck_list.json")).build();
 
       HttpHealthCheckApi api = requestsSendResponses(requestForScopes(COMPUTE_READONLY_SCOPE),
-              TOKEN_RESPONSE, list, operationResponse).getHttpHealthCheckApi("party");
+              TOKEN_RESPONSE, list, response).httpHeathChecks();
 
-      assertEquals(api.list().next().toString(), new ParseHttpHealthCheckListTest().expected().toString());
+      assertEquals(api.list().next(), new ParseHttpHealthCheckListTest().expected());
    }
 
-   public void testListHttpHealthChecksResponseIs4xx() {
-      HttpRequest list = HttpRequest
-              .builder()
-              .method("GET")
-              .endpoint(BASE_URL + "/party/global/httpHealthChecks")
-              .addHeader("Accept", "application/json")
-              .addHeader("Authorization", "Bearer " + TOKEN).build();
-
-      HttpResponse operationResponse = HttpResponse.builder().statusCode(404).build();
+   public void listEmpty() {
+      HttpResponse response = HttpResponse.builder().statusCode(200)
+            .payload(payloadFromResource("/list_empty.json")).build();
 
       HttpHealthCheckApi api = requestsSendResponses(requestForScopes(COMPUTE_READONLY_SCOPE),
-              TOKEN_RESPONSE, list, operationResponse).getHttpHealthCheckApi("party");
+              TOKEN_RESPONSE, list, response).httpHeathChecks();
 
       assertFalse(api.list().hasNext());
    }
@@ -196,7 +190,7 @@ public class HttpHealthCheckApiExpectTest extends BaseGoogleComputeEngineExpectT
    
        HttpHealthCheckApi api = requestsSendResponses(requestForScopes(COMPUTE_SCOPE),
                TOKEN_RESPONSE, patch,
-               insertHttpHealthCheckResponse).getHttpHealthCheckApi("party");
+               insertHttpHealthCheckResponse).httpHeathChecks();
        HttpHealthCheckCreationOptions options = new HttpHealthCheckCreationOptions().timeoutSec(0).unhealthyThreshold(0);
        assertEquals(api.patch(healthCheckName, options), new ParseGlobalOperationTest().expected());
    }
@@ -217,7 +211,7 @@ public class HttpHealthCheckApiExpectTest extends BaseGoogleComputeEngineExpectT
    
        HttpHealthCheckApi api = requestsSendResponses(requestForScopes(COMPUTE_SCOPE),
                TOKEN_RESPONSE, patch,
-               insertHttpHealthCheckResponse).getHttpHealthCheckApi("party");
+               insertHttpHealthCheckResponse).httpHeathChecks();
        HttpHealthCheckCreationOptions options = new HttpHealthCheckCreationOptions().timeoutSec(0).unhealthyThreshold(0);
        
        api.patch(healthCheckName, options);
@@ -239,7 +233,7 @@ public class HttpHealthCheckApiExpectTest extends BaseGoogleComputeEngineExpectT
 
        HttpHealthCheckApi api = requestsSendResponses(requestForScopes(COMPUTE_SCOPE),
                TOKEN_RESPONSE, patch,
-               insertHttpHealthCheckResponse).getHttpHealthCheckApi("party");
+               insertHttpHealthCheckResponse).httpHeathChecks();
        HttpHealthCheckCreationOptions options = new HttpHealthCheckCreationOptions().timeoutSec(0).unhealthyThreshold(0);
        assertEquals(api.update(healthCheckName, options), new ParseGlobalOperationTest().expected());
    }
@@ -260,7 +254,7 @@ public class HttpHealthCheckApiExpectTest extends BaseGoogleComputeEngineExpectT
 
        HttpHealthCheckApi api = requestsSendResponses(requestForScopes(COMPUTE_SCOPE),
                TOKEN_RESPONSE, patch,
-               insertHttpHealthCheckResponse).getHttpHealthCheckApi("party");
+               insertHttpHealthCheckResponse).httpHeathChecks();
        HttpHealthCheckCreationOptions options = new HttpHealthCheckCreationOptions().timeoutSec(0).unhealthyThreshold(0);
        api.update(healthCheckName, options);
    }

http://git-wip-us.apache.org/repos/asf/jclouds-labs-google/blob/37e0397d/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 4123ad1..989fe25 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
@@ -37,7 +37,7 @@ public class HttpHealthCheckApiLiveTest extends BaseGoogleComputeEngineApiLiveTe
    private HttpHealthCheckCreationOptions options;
 
    private HttpHealthCheckApi api() {
-      return api.getHttpHealthCheckApi(userProject.get());
+      return api.httpHeathChecks();
    }
 
    @Test(groups = "live")

http://git-wip-us.apache.org/repos/asf/jclouds-labs-google/blob/37e0397d/google-compute-engine/src/test/java/org/jclouds/googlecomputeengine/features/ImageApiExpectTest.java
----------------------------------------------------------------------
diff --git a/google-compute-engine/src/test/java/org/jclouds/googlecomputeengine/features/ImageApiExpectTest.java b/google-compute-engine/src/test/java/org/jclouds/googlecomputeengine/features/ImageApiExpectTest.java
index 4c1214c..cb2a48b 100644
--- a/google-compute-engine/src/test/java/org/jclouds/googlecomputeengine/features/ImageApiExpectTest.java
+++ b/google-compute-engine/src/test/java/org/jclouds/googlecomputeengine/features/ImageApiExpectTest.java
@@ -16,8 +16,8 @@
  */
 package org.jclouds.googlecomputeengine.features;
 
-import static org.jclouds.googlecomputeengine.GoogleComputeEngineConstants.COMPUTE_READONLY_SCOPE;
-import static org.jclouds.googlecomputeengine.GoogleComputeEngineConstants.COMPUTE_SCOPE;
+import static org.jclouds.googlecomputeengine.config.GoogleComputeEngineScopes.COMPUTE_READONLY_SCOPE;
+import static org.jclouds.googlecomputeengine.config.GoogleComputeEngineScopes.COMPUTE_SCOPE;
 import static org.testng.Assert.assertEquals;
 import static org.testng.Assert.assertFalse;
 import static org.testng.AssertJUnit.assertNull;
@@ -34,68 +34,47 @@ import org.testng.annotations.Test;
 
 @Test(groups = "unit", testName = "ImageApiExpectTest")
 public class ImageApiExpectTest extends BaseGoogleComputeEngineExpectTest<GoogleComputeEngineApi> {
+   HttpRequest get = HttpRequest
+         .builder()
+         .method("GET")
+         .endpoint(BASE_URL + "/party/global/images/centos-6-2-v20120326")
+         .addHeader("Accept", "application/json")
+         .addHeader("Authorization", "Bearer " + TOKEN).build();
+
+   public void get() throws Exception {
+      HttpResponse response = HttpResponse.builder().statusCode(200)
+              .payload(payloadFromResource("/image_get.json")).build();
 
-   public static final HttpRequest LIST_PROJECT_IMAGES_REQUEST = HttpRequest
-           .builder()
-           .method("GET")
-           .endpoint(BASE_URL + "/party/global/images")
-           .addHeader("Accept", "application/json")
-           .addHeader("Authorization", "Bearer " + TOKEN).build();
-
-   public static final HttpResponse LIST_PROJECT_IMAGES_RESPONSE = HttpResponse.builder().statusCode(200)
-           .payload(staticPayloadFromResource("/image_list.json")).build();
+      ImageApi imageApi = requestsSendResponses(requestForScopes(COMPUTE_READONLY_SCOPE),
+              TOKEN_RESPONSE, get, response).images();
 
-   public static final HttpRequest LIST_CENTOS_IMAGES_REQUEST = HttpRequest
-           .builder()
-           .method("GET")
-           .endpoint(BASE_URL + "/centos-cloud/global/images")
-           .addHeader("Accept", "application/json")
-           .addHeader("Authorization", "Bearer " + TOKEN).build();
-
-   public static final HttpResponse LIST_CENTOS_IMAGES_RESPONSE = HttpResponse.builder().statusCode(200)
-         .payload(staticPayloadFromResource("/image_list_centos.json")).build();
-
-   public static final HttpRequest LIST_DEBIAN_IMAGES_REQUEST = HttpRequest
-           .builder()
-           .method("GET")
-           .endpoint(BASE_URL + "/debian-cloud/global/images")
-           .addHeader("Accept", "application/json")
-           .addHeader("Authorization", "Bearer " + TOKEN).build();
-
-   public static final HttpResponse LIST_DEBIAN_IMAGES_RESPONSE =
-      HttpResponse.builder().statusCode(200)
-            .payload(staticPayloadFromResource("/image_list_debian.json")).build();
-
-   public void testGetImageResponseIs2xx() throws Exception {
-      HttpRequest get = HttpRequest
-              .builder()
-              .method("GET")
-              .endpoint(BASE_URL + "/centos-cloud/global/images/centos-6-2-v20120326")
-              .addHeader("Accept", "application/json")
-              .addHeader("Authorization", "Bearer " + TOKEN).build();
+      assertEquals(imageApi.get(get.getEndpoint()), new ParseImageTest().expected());
+   }
 
-      HttpResponse operationResponse = HttpResponse.builder().statusCode(200)
-              .payload(payloadFromResource("/image_get.json")).build();
+   public void getResponseIs4xx() throws Exception {
+      HttpResponse response = HttpResponse.builder().statusCode(404).build();
 
       ImageApi imageApi = requestsSendResponses(requestForScopes(COMPUTE_READONLY_SCOPE),
-              TOKEN_RESPONSE, get, operationResponse).getImageApi("centos-cloud");
+              TOKEN_RESPONSE, get, response).images();
 
-      assertEquals(imageApi.get("centos-6-2-v20120326"),
-              new ParseImageTest().expected());
+      assertNull(imageApi.get(get.getEndpoint()));
    }
 
-   public void testGetImageResponseIs4xx() throws Exception {
-      HttpRequest get = HttpRequest
-              .builder()
-              .method("GET")
-              .endpoint(BASE_URL + "/centos-cloud/global/images/centos-6-2-v20120326")
-              .addHeader("Accept", "application/json")
-              .addHeader("Authorization", "Bearer " + TOKEN).build();
+   public void getByName() throws Exception {
+      HttpResponse response = HttpResponse.builder().statusCode(200)
+            .payload(payloadFromResource("/image_get.json")).build();
+
+      ImageApi imageApi = requestsSendResponses(requestForScopes(COMPUTE_READONLY_SCOPE),
+            TOKEN_RESPONSE, get, response).images();
+
+      assertEquals(imageApi.get("centos-6-2-v20120326"), new ParseImageTest().expected());
+   }
 
-      HttpResponse operationResponse = HttpResponse.builder().statusCode(404).build();
+   public void getByNameResponseIs4xx() throws Exception {
+      HttpResponse response = HttpResponse.builder().statusCode(404).build();
 
       ImageApi imageApi = requestsSendResponses(requestForScopes(COMPUTE_READONLY_SCOPE),
-              TOKEN_RESPONSE, get, operationResponse).getImageApi("centos-cloud");
+            TOKEN_RESPONSE, get, response).images();
 
       assertNull(imageApi.get("centos-6-2-v20120326"));
    }
@@ -112,10 +91,9 @@ public class ImageApiExpectTest extends BaseGoogleComputeEngineExpectTest<Google
               .payload(payloadFromResource("/operation.json")).build();
 
       ImageApi imageApi = requestsSendResponses(requestForScopes(COMPUTE_SCOPE),
-              TOKEN_RESPONSE, delete, deleteResponse).getImageApi("party");
+              TOKEN_RESPONSE, delete, deleteResponse).images();
 
-      assertEquals(imageApi.delete("centos-6-2-v20120326"),
-              new ParseOperationTest().expected());
+      assertEquals(imageApi.delete("centos-6-2-v20120326"), new ParseOperationTest().expected());
    }
 
    public void testDeleteImageResponseIs4xx() {
@@ -129,30 +107,64 @@ public class ImageApiExpectTest extends BaseGoogleComputeEngineExpectTest<Google
       HttpResponse deleteResponse = HttpResponse.builder().statusCode(404).build();
 
       ImageApi imageApi = requestsSendResponses(requestForScopes(COMPUTE_SCOPE),
-              TOKEN_RESPONSE, delete, deleteResponse).getImageApi("party");
+              TOKEN_RESPONSE, delete, deleteResponse).images();
 
       assertNull(imageApi.delete("centos-6-2-v20120326"));
    }
 
-   public void testListImagesResponseIs2xx() {
+   public static final HttpRequest LIST_PROJECT_IMAGES_REQUEST = HttpRequest
+         .builder()
+         .method("GET")
+         .endpoint(BASE_URL + "/party/global/images")
+         .addHeader("Accept", "application/json")
+         .addHeader("Authorization", "Bearer " + TOKEN).build();
+
+   public static final HttpResponse LIST_PROJECT_IMAGES_RESPONSE = HttpResponse.builder().statusCode(200)
+         .payload(staticPayloadFromResource("/image_list.json")).build();
+
+   public void list() {
 
       ImageApi imageApi = requestsSendResponses(requestForScopes(COMPUTE_READONLY_SCOPE),
-              TOKEN_RESPONSE, LIST_PROJECT_IMAGES_REQUEST, LIST_PROJECT_IMAGES_RESPONSE).getImageApi
-              ("party");
+              TOKEN_RESPONSE, LIST_PROJECT_IMAGES_REQUEST, LIST_PROJECT_IMAGES_RESPONSE).images();
 
-      assertEquals(imageApi.list().next().toString(), new ParseImageListTest().expected().toString());
+      assertEquals(imageApi.list().next(), new ParseImageListTest().expected());
    }
 
-   public void testListImagesResponseIs4xx() {
-
-      HttpResponse operationResponse = HttpResponse.builder().statusCode(404).build();
+   public void listEmpty() {
+      HttpResponse response = HttpResponse.builder().statusCode(200)
+            .payload(payloadFromResource("/list_empty.json")).build();
 
       ImageApi imageApi = requestsSendResponses(requestForScopes(COMPUTE_READONLY_SCOPE),
-              TOKEN_RESPONSE, LIST_PROJECT_IMAGES_REQUEST, operationResponse).getImageApi("party");
+              TOKEN_RESPONSE, LIST_PROJECT_IMAGES_REQUEST, response).images();
 
       assertFalse(imageApi.list().hasNext());
    }
 
+   public static final HttpRequest LIST_CENTOS_IMAGES_REQUEST = HttpRequest
+         .builder()
+         .method("GET")
+         .endpoint(BASE_URL + "/centos-cloud/global/images")
+         .addHeader("Accept", "application/json")
+         .addHeader("Authorization", "Bearer " + TOKEN).build();
+
+   public void listInProject() {
+
+      ImageApi imageApi = requestsSendResponses(requestForScopes(COMPUTE_READONLY_SCOPE),
+            TOKEN_RESPONSE, LIST_CENTOS_IMAGES_REQUEST, LIST_PROJECT_IMAGES_RESPONSE).images();
+
+      assertEquals(imageApi.listInProject("centos-cloud").next(), new ParseImageListTest().expected());
+   }
+
+   public void listInProjectEmpty() {
+      HttpResponse response = HttpResponse.builder().statusCode(200)
+            .payload(payloadFromResource("/list_empty.json")).build();
+
+      ImageApi imageApi = requestsSendResponses(requestForScopes(COMPUTE_READONLY_SCOPE),
+            TOKEN_RESPONSE, LIST_CENTOS_IMAGES_REQUEST, response).images();
+
+      assertFalse(imageApi.listInProject("centos-cloud").hasNext());
+   }
+
    public void testCreateImageFromPdResponseIs2xx(){
       HttpRequest createImage = HttpRequest
             .builder()
@@ -167,7 +179,7 @@ public class ImageApiExpectTest extends BaseGoogleComputeEngineExpectTest<Google
                                   .payload(payloadFromResource("/operation.json")).build();
 
       ImageApi imageApi = requestsSendResponses(requestForScopes(COMPUTE_SCOPE),
-            TOKEN_RESPONSE, createImage, createImageResponse).getImageApi("party");
+            TOKEN_RESPONSE, createImage, createImageResponse).images();
 
       assertEquals(imageApi.createFromDisk("my-image", BASE_URL + "/party/zones/us-central1-a/disks/mydisk"),
             new ParseOperationTest().expected());
@@ -187,7 +199,7 @@ public class ImageApiExpectTest extends BaseGoogleComputeEngineExpectTest<Google
       HttpResponse createImageResponse = HttpResponse.builder().statusCode(404).build();
 
       ImageApi imageApi = requestsSendResponses(requestForScopes(COMPUTE_SCOPE),
-              TOKEN_RESPONSE, createImage, createImageResponse).getImageApi("party");
+              TOKEN_RESPONSE, createImage, createImageResponse).images();
 
       imageApi.createFromDisk("my-image", BASE_URL + "/party/zones/us-central1-a/disks/mydisk");
    }

http://git-wip-us.apache.org/repos/asf/jclouds-labs-google/blob/37e0397d/google-compute-engine/src/test/java/org/jclouds/googlecomputeengine/features/ImageApiLiveTest.java
----------------------------------------------------------------------
diff --git a/google-compute-engine/src/test/java/org/jclouds/googlecomputeengine/features/ImageApiLiveTest.java b/google-compute-engine/src/test/java/org/jclouds/googlecomputeengine/features/ImageApiLiveTest.java
index 17bc13f..bbe2e4c 100644
--- a/google-compute-engine/src/test/java/org/jclouds/googlecomputeengine/features/ImageApiLiveTest.java
+++ b/google-compute-engine/src/test/java/org/jclouds/googlecomputeengine/features/ImageApiLiveTest.java
@@ -18,7 +18,6 @@ package org.jclouds.googlecomputeengine.features;
 
 import static org.jclouds.googlecomputeengine.options.ListOptions.Builder.maxResults;
 import static org.testng.Assert.assertEquals;
-import static org.testng.Assert.assertNotNull;
 
 import java.net.URI;
 import java.util.Iterator;
@@ -39,21 +38,17 @@ public class ImageApiLiveTest extends BaseGoogleComputeEngineApiLiveTest {
    private Image image;
    private URI diskURI;
 
-   private ImageApi api() {
-      return api.getImageApi("centos-cloud");
-   }
-
-   private ImageApi imageApi(){
-      return api.getImageApi(userProject.get());
+   private ImageApi api(){
+      return api.images();
    }
 
    private DiskApi diskApi() {
-      return api.getDiskApi(userProject.get(), DEFAULT_ZONE_NAME);
+      return api.disksInZone(DEFAULT_ZONE_NAME);
    }
 
    @Test(groups = "live")
    public void testListImage() {
-      Iterator<ListPage<Image>> images = api().list(maxResults(1));
+      Iterator<ListPage<Image>> images = api().listInProject("centos-cloud", maxResults(1));
 
       List<Image> imageAsList = images.next();
 
@@ -62,16 +57,9 @@ public class ImageApiLiveTest extends BaseGoogleComputeEngineApiLiveTest {
       this.image = imageAsList.get(0);
    }
 
-
    @Test(groups = "live", dependsOnMethods = "testListImage")
    public void testGetImage() {
-      Image image = api().get(this.image.name());
-      assertNotNull(image);
-      assertImageEquals(image, this.image);
-   }
-
-   private void assertImageEquals(Image result, Image expected) {
-      assertEquals(result.name(), expected.name());
+      assertEquals(image, api().get(image.selfLink()));
    }
 
    @Test(groups = "live")
@@ -83,25 +71,25 @@ public class ImageApiLiveTest extends BaseGoogleComputeEngineApiLiveTest {
 
    @Test(groups = "live", dependsOnMethods = "testInsertDisk")
    public void testCreateImageFromPD(){
-      assertOperationDoneSuccessfully(imageApi().createFromDisk(IMAGE_NAME, diskURI.toString()));
+      assertOperationDoneSuccessfully(api().createFromDisk(IMAGE_NAME, diskURI.toString()));
    }
 
    @Test(groups = "live", dependsOnMethods = "testCreateImageFromPD")
    public void testGetCreatedImage(){
-      Image image = imageApi().get(IMAGE_NAME);
+      Image image = api().get(IMAGE_NAME);
       assertImageEquals(image);
    }
 
    @Test(groups = "live", dependsOnMethods = "testGetCreatedImage")
    public void testCleanup(){
-      assertOperationDoneSuccessfully(imageApi().delete(IMAGE_NAME));
+      assertOperationDoneSuccessfully(api().delete(IMAGE_NAME));
       assertOperationDoneSuccessfully(diskApi().delete(DISK_NAME));
    }
 
    private void assertImageEquals(Image result) {
       assertEquals(result.name(), IMAGE_NAME);
       assertEquals(result.sourceType(), "RAW");
-      assertEquals(result.selfLink(), getImageUrl(userProject.get(), IMAGE_NAME) );
+      assertEquals(result.selfLink(), getImageUrl(IMAGE_NAME) );
    }
 }
 

http://git-wip-us.apache.org/repos/asf/jclouds-labs-google/blob/37e0397d/google-compute-engine/src/test/java/org/jclouds/googlecomputeengine/features/InstanceApiExpectTest.java
----------------------------------------------------------------------
diff --git a/google-compute-engine/src/test/java/org/jclouds/googlecomputeengine/features/InstanceApiExpectTest.java b/google-compute-engine/src/test/java/org/jclouds/googlecomputeengine/features/InstanceApiExpectTest.java
index b85667c..b80eed6 100644
--- a/google-compute-engine/src/test/java/org/jclouds/googlecomputeengine/features/InstanceApiExpectTest.java
+++ b/google-compute-engine/src/test/java/org/jclouds/googlecomputeengine/features/InstanceApiExpectTest.java
@@ -16,8 +16,8 @@
  */
 package org.jclouds.googlecomputeengine.features;
 
-import static org.jclouds.googlecomputeengine.GoogleComputeEngineConstants.COMPUTE_READONLY_SCOPE;
-import static org.jclouds.googlecomputeengine.GoogleComputeEngineConstants.COMPUTE_SCOPE;
+import static org.jclouds.googlecomputeengine.config.GoogleComputeEngineScopes.COMPUTE_READONLY_SCOPE;
+import static org.jclouds.googlecomputeengine.config.GoogleComputeEngineScopes.COMPUTE_SCOPE;
 import static org.jclouds.googlecomputeengine.features.ProjectApiExpectTest.GET_PROJECT_REQUEST;
 import static org.jclouds.googlecomputeengine.features.ProjectApiExpectTest.GET_PROJECT_RESPONSE;
 import static org.testng.Assert.assertEquals;
@@ -25,6 +25,7 @@ import static org.testng.Assert.assertFalse;
 import static org.testng.Assert.assertNull;
 
 import java.net.URI;
+import java.util.Arrays;
 
 import javax.ws.rs.core.MediaType;
 
@@ -78,17 +79,17 @@ public class InstanceApiExpectTest extends BaseGoogleComputeEngineExpectTest<Goo
 
       InstanceApi api = requestsSendResponses(
               requestForScopes(COMPUTE_READONLY_SCOPE), TOKEN_RESPONSE,
-              GET_INSTANCE_REQUEST, GET_INSTANCE_RESPONSE).getInstanceApi("party", "us-central1-a");
+              GET_INSTANCE_REQUEST, GET_INSTANCE_RESPONSE).instancesInZone("us-central1-a");
 
       assertEquals(api.get("test-1"), new ParseInstanceTest().expected());
    }
 
    public void testGetInstanceResponseIs4xx() throws Exception {
 
-      HttpResponse operationResponse = HttpResponse.builder().statusCode(404).build();
+      HttpResponse response = HttpResponse.builder().statusCode(404).build();
 
       InstanceApi api = requestsSendResponses(requestForScopes(COMPUTE_READONLY_SCOPE),
-              TOKEN_RESPONSE, GET_INSTANCE_REQUEST, operationResponse).getInstanceApi("party", "us-central1-a");
+              TOKEN_RESPONSE, GET_INSTANCE_REQUEST, response).instancesInZone("us-central1-a");
 
       assertNull(api.get("test-1"));
    }
@@ -101,12 +102,12 @@ public class InstanceApiExpectTest extends BaseGoogleComputeEngineExpectTest<Goo
               .addHeader("Accept", "application/json")
               .addHeader("Authorization", "Bearer " + TOKEN).build();
 
-      HttpResponse operationResponse = HttpResponse.builder().statusCode(200)
+      HttpResponse response = HttpResponse.builder().statusCode(200)
               .payload(payloadFromResource("/instance_serial_port.json")).build();
 
 
       InstanceApi api = requestsSendResponses(requestForScopes(COMPUTE_READONLY_SCOPE),
-              TOKEN_RESPONSE, get, operationResponse).getInstanceApi("party", "us-central1-a");
+              TOKEN_RESPONSE, get, response).instancesInZone("us-central1-a");
 
       assertEquals(api.getSerialPortOutput("test-1"), new ParseInstanceSerialOutputTest().expected());
    }
@@ -125,14 +126,13 @@ public class InstanceApiExpectTest extends BaseGoogleComputeEngineExpectTest<Goo
               TOKEN_RESPONSE, GET_PROJECT_REQUEST, GET_PROJECT_RESPONSE,
               requestForScopes(COMPUTE_SCOPE),
               TOKEN_RESPONSE, insert,
-              CREATE_INSTANCE_RESPONSE)).getInstanceApi("party", "us-central1-a");
+              CREATE_INSTANCE_RESPONSE)).instancesInZone("us-central1-a");
 
       NewInstance newInstance = NewInstance.create(
-            URI.create(BASE_URL + "/party/zones/us-central1-a/machineTypes/n1-standard-1"), // machineType
             "test-1", // name
+            URI.create(BASE_URL + "/party/zones/us-central1-a/machineTypes/n1-standard-1"), // machineType
             URI.create(BASE_URL + "/party/global/networks/default"), // network
-            Disk.existingBootDisk(URI.create(BASE_URL + "/party/zones/us-central1-a/disks/test")), // bootDisk
-            null // description
+            URI.create(BASE_URL + "/party/global/images/centos-6-2-v20120326") // sourceImage
       );
 
       assertEquals(api.create(newInstance), new ParseZoneOperationTest().expected());
@@ -154,15 +154,16 @@ public class InstanceApiExpectTest extends BaseGoogleComputeEngineExpectTest<Goo
       InstanceApi api = requestsSendResponses(ImmutableMap.of(requestForScopes(COMPUTE_READONLY_SCOPE),
               TOKEN_RESPONSE, GET_PROJECT_REQUEST, GET_PROJECT_RESPONSE,
               requestForScopes(COMPUTE_SCOPE),
-              TOKEN_RESPONSE, insert, insertInstanceResponse)).getInstanceApi("party", "us-central1-a");
+              TOKEN_RESPONSE, insert, insertInstanceResponse)).instancesInZone("us-central1-a");
 
       NewInstance newInstance = NewInstance.create(
-            URI.create(BASE_URL + "/party/zones/us-central1-a/machineTypes/n1-standard-1"), // machineType
             "test-1", // name
+            URI.create(BASE_URL + "/party/zones/us-central1-a/machineTypes/n1-standard-1"), // machineType
             URI.create(BASE_URL + "/party/global/networks/default"), // network
-            Disk.existingBootDisk(URI.create(BASE_URL + "/party/zones/us-central1-a/disks/test")), // bootDisk
+            Arrays.asList(Disk.existingBootDisk(URI.create(BASE_URL + "/party/zones/us-central1-a/disks/test"))),
             "desc" // description
       );
+
       newInstance.metadata().put("aKey", "aValue");
       assertEquals(api.create(newInstance), new ParseZoneOperationTest().expected());
    }
@@ -179,7 +180,7 @@ public class InstanceApiExpectTest extends BaseGoogleComputeEngineExpectTest<Goo
               .payload(payloadFromResource("/zone_operation.json")).build();
 
       InstanceApi api = requestsSendResponses(requestForScopes(COMPUTE_SCOPE),
-              TOKEN_RESPONSE, delete, deleteResponse).getInstanceApi("party", "us-central1-a");
+              TOKEN_RESPONSE, delete, deleteResponse).instancesInZone("us-central1-a");
 
       assertEquals(api.delete("test-1"), new ParseZoneOperationTest().expected());
    }
@@ -195,32 +196,26 @@ public class InstanceApiExpectTest extends BaseGoogleComputeEngineExpectTest<Goo
       HttpResponse deleteResponse = HttpResponse.builder().statusCode(404).build();
 
       InstanceApi api = requestsSendResponses(requestForScopes(COMPUTE_SCOPE),
-              TOKEN_RESPONSE, delete, deleteResponse).getInstanceApi("party", "us-central1-a");
+              TOKEN_RESPONSE, delete, deleteResponse).instancesInZone("us-central1-a");
 
       assertNull(api.delete("test-1"));
    }
 
-   public void testListInstancesResponseIs2xx() {
+   public void list() {
 
       InstanceApi api = requestsSendResponses(
               requestForScopes(COMPUTE_READONLY_SCOPE), TOKEN_RESPONSE,
-              LIST_INSTANCES_REQUEST, LIST_INSTANCES_RESPONSE).getInstanceApi("party", "us-central1-a");
+              LIST_INSTANCES_REQUEST, LIST_INSTANCES_RESPONSE).instancesInZone("us-central1-a");
 
-      assertEquals(api.list().next().toString(), new ParseInstanceListTest().expected().toString());
+      assertEquals(api.list().next(), new ParseInstanceListTest().expected());
    }
 
-   public void testListInstancesResponseIs4xx() {
-      HttpRequest list = HttpRequest
-              .builder()
-              .method("GET")
-              .endpoint(BASE_URL + "/party/zones/us-central1-a/instances")
-              .addHeader("Accept", "application/json")
-              .addHeader("Authorization", "Bearer " + TOKEN).build();
-
-      HttpResponse operationResponse = HttpResponse.builder().statusCode(404).build();
+   public void listEmpty() {
+      HttpResponse response = HttpResponse.builder().statusCode(200)
+            .payload(payloadFromResource("/list_empty.json")).build();
 
       InstanceApi api = requestsSendResponses(requestForScopes(COMPUTE_READONLY_SCOPE),
-              TOKEN_RESPONSE, list, operationResponse).getInstanceApi("party", "us-central1-a");
+              TOKEN_RESPONSE, LIST_INSTANCES_REQUEST, response).instancesInZone("us-central1-a");
 
       assertFalse(api.list().hasNext());
    }
@@ -239,7 +234,7 @@ public class InstanceApiExpectTest extends BaseGoogleComputeEngineExpectTest<Goo
               .payload(payloadFromResource("/zone_operation.json")).build();
 
       InstanceApi api = requestsSendResponses(requestForScopes(COMPUTE_SCOPE),
-              TOKEN_RESPONSE, setMetadata, setMetadataResponse).getInstanceApi("party", "us-central1-a");
+              TOKEN_RESPONSE, setMetadata, setMetadataResponse).instancesInZone("us-central1-a");
 
       assertEquals(api.setMetadata("test-1", Metadata.create("efgh").put("foo", "bar")),
               new ParseZoneOperationTest().expected());
@@ -259,7 +254,7 @@ public class InstanceApiExpectTest extends BaseGoogleComputeEngineExpectTest<Goo
       HttpResponse setMetadataResponse = HttpResponse.builder().statusCode(404).build();
 
       InstanceApi api = requestsSendResponses(requestForScopes(COMPUTE_SCOPE),
-              TOKEN_RESPONSE, setMetadata, setMetadataResponse).getInstanceApi("party", "us-central1-a");
+              TOKEN_RESPONSE, setMetadata, setMetadataResponse).instancesInZone("us-central1-a");
 
       api.setMetadata("test-1", Metadata.create("efgh").put("foo", "bar"));
    }
@@ -278,7 +273,7 @@ public class InstanceApiExpectTest extends BaseGoogleComputeEngineExpectTest<Goo
               .payload(payloadFromResource("/zone_operation.json")).build();
 
       InstanceApi api = requestsSendResponses(requestForScopes(COMPUTE_SCOPE),
-              TOKEN_RESPONSE, setTags, setTagsResponse).getInstanceApi("party", "us-central1-a");
+              TOKEN_RESPONSE, setTags, setTagsResponse).instancesInZone("us-central1-a");
 
       assertEquals(api.setTags("test-1", ImmutableList.of("foo", "bar"), "efgh"),
               new ParseZoneOperationTest().expected());
@@ -298,7 +293,7 @@ public class InstanceApiExpectTest extends BaseGoogleComputeEngineExpectTest<Goo
       HttpResponse setTagsResponse = HttpResponse.builder().statusCode(404).build();
 
       InstanceApi api = requestsSendResponses(requestForScopes(COMPUTE_SCOPE),
-              TOKEN_RESPONSE, setTags, setTagsResponse).getInstanceApi("party", "us-central1-a");
+              TOKEN_RESPONSE, setTags, setTagsResponse).instancesInZone("us-central1-a");
 
       api.setTags("test-1", ImmutableList.of("foo", "bar"), "efgh");
    }
@@ -315,7 +310,7 @@ public class InstanceApiExpectTest extends BaseGoogleComputeEngineExpectTest<Goo
               .payload(payloadFromResource("/zone_operation.json")).build();
 
       InstanceApi api = requestsSendResponses(requestForScopes(COMPUTE_SCOPE),
-              TOKEN_RESPONSE, reset, resetResponse).getInstanceApi("party", "us-central1-a");
+              TOKEN_RESPONSE, reset, resetResponse).instancesInZone("us-central1-a");
 
       assertEquals(api.reset("test-1"),
               new ParseZoneOperationTest().expected());
@@ -333,7 +328,7 @@ public class InstanceApiExpectTest extends BaseGoogleComputeEngineExpectTest<Goo
       HttpResponse resetResponse = HttpResponse.builder().statusCode(404).build();
 
       InstanceApi api = requestsSendResponses(requestForScopes(COMPUTE_SCOPE),
-              TOKEN_RESPONSE, reset, resetResponse).getInstanceApi("party", "us-central1-a");
+              TOKEN_RESPONSE, reset, resetResponse).instancesInZone("us-central1-a");
 
       api.reset("test-1");
    }
@@ -352,7 +347,7 @@ public class InstanceApiExpectTest extends BaseGoogleComputeEngineExpectTest<Goo
               .payload(payloadFromResource("/zone_operation.json")).build();
 
       InstanceApi api = requestsSendResponses(requestForScopes(COMPUTE_SCOPE),
-              TOKEN_RESPONSE, attach, attachResponse).getInstanceApi("party", "us-central1-a");
+              TOKEN_RESPONSE, attach, attachResponse).instancesInZone("us-central1-a");
 
       assertEquals(api.attachDisk("test-1",
               new AttachDiskOptions()
@@ -376,7 +371,7 @@ public class InstanceApiExpectTest extends BaseGoogleComputeEngineExpectTest<Goo
       HttpResponse attachResponse = HttpResponse.builder().statusCode(404).build();
 
       InstanceApi api = requestsSendResponses(requestForScopes(COMPUTE_SCOPE),
-              TOKEN_RESPONSE, attach, attachResponse).getInstanceApi("party", "us-central1-a");
+              TOKEN_RESPONSE, attach, attachResponse).instancesInZone("us-central1-a");
 
       api.attachDisk("test-1",
               new AttachDiskOptions()
@@ -399,7 +394,7 @@ public class InstanceApiExpectTest extends BaseGoogleComputeEngineExpectTest<Goo
               .payload(payloadFromResource("/zone_operation.json")).build();
 
       InstanceApi api = requestsSendResponses(requestForScopes(COMPUTE_SCOPE),
-              TOKEN_RESPONSE, detach, detachResponse).getInstanceApi("party", "us-central1-a");
+              TOKEN_RESPONSE, detach, detachResponse).instancesInZone("us-central1-a");
 
       assertEquals(api.detachDisk("test-1", "test-disk-1"),
               new ParseZoneOperationTest().expected());
@@ -418,7 +413,7 @@ public class InstanceApiExpectTest extends BaseGoogleComputeEngineExpectTest<Goo
       HttpResponse detachResponse = HttpResponse.builder().statusCode(404).build();
 
       InstanceApi api = requestsSendResponses(requestForScopes(COMPUTE_SCOPE),
-              TOKEN_RESPONSE, detach, detachResponse).getInstanceApi("party", "us-central1-a");
+              TOKEN_RESPONSE, detach, detachResponse).instancesInZone("us-central1-a");
 
       api.detachDisk("test-1", "test-disk-1");
    }

http://git-wip-us.apache.org/repos/asf/jclouds-labs-google/blob/37e0397d/google-compute-engine/src/test/java/org/jclouds/googlecomputeengine/features/InstanceApiLiveTest.java
----------------------------------------------------------------------
diff --git a/google-compute-engine/src/test/java/org/jclouds/googlecomputeengine/features/InstanceApiLiveTest.java b/google-compute-engine/src/test/java/org/jclouds/googlecomputeengine/features/InstanceApiLiveTest.java
index 4ccb0cc..5f6f8dc 100644
--- a/google-compute-engine/src/test/java/org/jclouds/googlecomputeengine/features/InstanceApiLiveTest.java
+++ b/google-compute-engine/src/test/java/org/jclouds/googlecomputeengine/features/InstanceApiLiveTest.java
@@ -68,7 +68,7 @@ public class InstanceApiLiveTest extends BaseGoogleComputeEngineApiLiveTest {
    @Override
    protected GoogleComputeEngineApi create(Properties props, Iterable<Module> modules) {
       GoogleComputeEngineApi api = super.create(props, modules);
-      List<Image> list = api.getImageApi("centos-cloud").list(filter("name eq centos.*")).next();
+      List<Image> list = api.images().listInProject("centos-cloud", filter("name eq centos.*")).next();
       URI imageUri = FluentIterable.from(list)
                         .filter(new Predicate<Image>() {
                            @Override
@@ -82,10 +82,10 @@ public class InstanceApiLiveTest extends BaseGoogleComputeEngineApiLiveTest {
                         .selfLink();
 
       instance = NewInstance.create(
-            getDefaultMachineTypeUrl(userProject.get()), // machineType
             INSTANCE_NAME, // name
-            getNetworkUrl(userProject.get(), INSTANCE_NETWORK_NAME), // network
-            Arrays.asList(Disk.newBootDisk(imageUri), Disk.existingDisk(getDiskUrl(userProject.get(), DISK_NAME))), // disks
+            getDefaultMachineTypeUrl(), // machineType
+            getNetworkUrl(INSTANCE_NETWORK_NAME), // network
+            Arrays.asList(Disk.newBootDisk(imageUri), Disk.existingDisk(getDiskUrl(DISK_NAME))), // disks
             "a description" // description
       );
       instance.tags().items().addAll(Arrays.asList("foo", "bar"));
@@ -94,17 +94,17 @@ public class InstanceApiLiveTest extends BaseGoogleComputeEngineApiLiveTest {
    }
 
    private InstanceApi api() {
-      return api.getInstanceApi(userProject.get(), DEFAULT_ZONE_NAME);
+      return api.instancesInZone(DEFAULT_ZONE_NAME);
    }
 
    private DiskApi diskApi() {
-      return api.getDiskApi(userProject.get(), DEFAULT_ZONE_NAME);
+      return api.disksInZone(DEFAULT_ZONE_NAME);
    }
 
    @Test(groups = "live")
    public void testInsertInstance() {
       // need to insert the network first
-      assertOperationDoneSuccessfully(api.getNetworkApi(userProject.get()).createInIPv4Range
+      assertOperationDoneSuccessfully(api.networks().createInIPv4Range
               (INSTANCE_NETWORK_NAME, IPV4_RANGE));
 
       assertOperationDoneSuccessfully(diskApi().create("instance-live-test-disk", DEFAULT_DISK_SIZE_GB));
@@ -151,7 +151,7 @@ public class InstanceApiLiveTest extends BaseGoogleComputeEngineApiLiveTest {
       Instance originalInstance = api().get(INSTANCE_NAME);
       assertOperationDoneSuccessfully(api().attachDisk(INSTANCE_NAME,
                   new AttachDiskOptions().type(DiskType.PERSISTENT)
-                        .source(getDiskUrl(userProject.get(), ATTACH_DISK_NAME)).mode(DiskMode.READ_ONLY)
+                        .source(getDiskUrl(ATTACH_DISK_NAME)).mode(DiskMode.READ_ONLY)
                         .deviceName(ATTACH_DISK_DEVICE_NAME)));
 
       Instance modifiedInstance = api().get(INSTANCE_NAME);
@@ -200,7 +200,7 @@ public class InstanceApiLiveTest extends BaseGoogleComputeEngineApiLiveTest {
    public void testDeleteInstance() {
       assertOperationDoneSuccessfully(api().delete(INSTANCE_NAME));
       assertOperationDoneSuccessfully(diskApi().delete(DISK_NAME));
-      Operation deleteNetwork = api.getNetworkApi(userProject.get()).delete(INSTANCE_NETWORK_NAME);
+      Operation deleteNetwork = api.networks().delete(INSTANCE_NETWORK_NAME);
       assertOperationDoneSuccessfully(deleteNetwork);
    }
 
@@ -215,7 +215,7 @@ public class InstanceApiLiveTest extends BaseGoogleComputeEngineApiLiveTest {
       try {
          waitOperationDone(api().delete(INSTANCE_NAME));
          waitOperationDone(diskApi().delete(DISK_NAME));
-         waitOperationDone(api.getNetworkApi(userProject.get()).delete(INSTANCE_NETWORK_NAME));
+         waitOperationDone(api.networks().delete(INSTANCE_NETWORK_NAME));
       } catch (Exception e) {
          // we don't really care about any exception here, so just delete away.
        }

http://git-wip-us.apache.org/repos/asf/jclouds-labs-google/blob/37e0397d/google-compute-engine/src/test/java/org/jclouds/googlecomputeengine/features/MachineTypeApiExpectTest.java
----------------------------------------------------------------------
diff --git a/google-compute-engine/src/test/java/org/jclouds/googlecomputeengine/features/MachineTypeApiExpectTest.java b/google-compute-engine/src/test/java/org/jclouds/googlecomputeengine/features/MachineTypeApiExpectTest.java
index 3e176c2..7831a69 100644
--- a/google-compute-engine/src/test/java/org/jclouds/googlecomputeengine/features/MachineTypeApiExpectTest.java
+++ b/google-compute-engine/src/test/java/org/jclouds/googlecomputeengine/features/MachineTypeApiExpectTest.java
@@ -16,7 +16,7 @@
  */
 package org.jclouds.googlecomputeengine.features;
 
-import static org.jclouds.googlecomputeengine.GoogleComputeEngineConstants.COMPUTE_READONLY_SCOPE;
+import static org.jclouds.googlecomputeengine.config.GoogleComputeEngineScopes.COMPUTE_READONLY_SCOPE;
 import static org.testng.Assert.assertEquals;
 import static org.testng.Assert.assertFalse;
 import static org.testng.Assert.assertNull;
@@ -64,11 +64,11 @@ public class MachineTypeApiExpectTest extends BaseGoogleComputeEngineExpectTest<
               .addHeader("Accept", "application/json")
               .addHeader("Authorization", "Bearer " + TOKEN).build();
 
-      HttpResponse operationResponse = HttpResponse.builder().statusCode(200)
+      HttpResponse response = HttpResponse.builder().statusCode(200)
               .payload(payloadFromResource("/machinetype.json")).build();
 
       MachineTypeApi machineTypeApi = requestsSendResponses(requestForScopes(COMPUTE_READONLY_SCOPE),
-              TOKEN_RESPONSE, get, operationResponse).getMachineTypeApi("party", "us-central1-a");
+              TOKEN_RESPONSE, get, response).machineTypesInZone("us-central1-a");
 
       assertEquals(machineTypeApi.get("n1-standard-1"), new ParseMachineTypeTest().expected());
    }
@@ -81,29 +81,29 @@ public class MachineTypeApiExpectTest extends BaseGoogleComputeEngineExpectTest<
               .addHeader("Accept", "application/json")
               .addHeader("Authorization", "Bearer " + TOKEN).build();
 
-      HttpResponse operationResponse = HttpResponse.builder().statusCode(404).build();
+      HttpResponse response = HttpResponse.builder().statusCode(404).build();
 
       MachineTypeApi machineTypeApi = requestsSendResponses(requestForScopes(COMPUTE_READONLY_SCOPE),
-              TOKEN_RESPONSE, get, operationResponse).getMachineTypeApi("party", "us-central1-a");
+              TOKEN_RESPONSE, get, response).machineTypesInZone("us-central1-a");
 
       assertNull(machineTypeApi.get("n1-standard-1"));
    }
 
-   public void testListMachineTypeNoOptionsResponseIs2xx() throws Exception {
+   public void list() throws Exception {
 
       MachineTypeApi machineTypeApi = requestsSendResponses(requestForScopes(COMPUTE_READONLY_SCOPE),
-              TOKEN_RESPONSE, LIST_MACHINE_TYPES_REQUEST, LIST_MACHINE_TYPES_RESPONSE).getMachineTypeApi
-              ("party", "us-central1-a");
+              TOKEN_RESPONSE, LIST_MACHINE_TYPES_REQUEST, LIST_MACHINE_TYPES_RESPONSE).machineTypesInZone(
+            "us-central1-a");
 
-      assertEquals(machineTypeApi.list().next().toString(), new ParseMachineTypeListTest().expected().toString());
+      assertEquals(machineTypeApi.list().next(), new ParseMachineTypeListTest().expected());
    }
 
-   public void testLisOperationWithPaginationOptionsResponseIs4xx() {
-
-      HttpResponse operationResponse = HttpResponse.builder().statusCode(404).build();
+   public void listEmpty() {
+      HttpResponse response = HttpResponse.builder().statusCode(200)
+            .payload(payloadFromResource("/list_empty.json")).build();
 
       MachineTypeApi machineTypeApi = requestsSendResponses(requestForScopes(COMPUTE_READONLY_SCOPE), TOKEN_RESPONSE,
-            LIST_MACHINE_TYPES_REQUEST, operationResponse).getMachineTypeApi("party", "us-central1-a");
+            LIST_MACHINE_TYPES_REQUEST, response).machineTypesInZone("us-central1-a");
 
       assertFalse(machineTypeApi.list().hasNext());
    }

http://git-wip-us.apache.org/repos/asf/jclouds-labs-google/blob/37e0397d/google-compute-engine/src/test/java/org/jclouds/googlecomputeengine/features/MachineTypeApiLiveTest.java
----------------------------------------------------------------------
diff --git a/google-compute-engine/src/test/java/org/jclouds/googlecomputeengine/features/MachineTypeApiLiveTest.java b/google-compute-engine/src/test/java/org/jclouds/googlecomputeengine/features/MachineTypeApiLiveTest.java
index 831e6f3..ba90d44 100644
--- a/google-compute-engine/src/test/java/org/jclouds/googlecomputeengine/features/MachineTypeApiLiveTest.java
+++ b/google-compute-engine/src/test/java/org/jclouds/googlecomputeengine/features/MachineTypeApiLiveTest.java
@@ -34,7 +34,7 @@ public class MachineTypeApiLiveTest extends BaseGoogleComputeEngineApiLiveTest {
    private MachineType machineType;
 
    private MachineTypeApi api() {
-      return api.getMachineTypeApi(userProject.get(), DEFAULT_ZONE_NAME);
+      return api.machineTypesInZone(DEFAULT_ZONE_NAME);
    }
 
    @Test(groups = "live")

http://git-wip-us.apache.org/repos/asf/jclouds-labs-google/blob/37e0397d/google-compute-engine/src/test/java/org/jclouds/googlecomputeengine/features/NetworkApiExpectTest.java
----------------------------------------------------------------------
diff --git a/google-compute-engine/src/test/java/org/jclouds/googlecomputeengine/features/NetworkApiExpectTest.java b/google-compute-engine/src/test/java/org/jclouds/googlecomputeengine/features/NetworkApiExpectTest.java
index 2dc3586..38fd8e9 100644
--- a/google-compute-engine/src/test/java/org/jclouds/googlecomputeengine/features/NetworkApiExpectTest.java
+++ b/google-compute-engine/src/test/java/org/jclouds/googlecomputeengine/features/NetworkApiExpectTest.java
@@ -16,8 +16,8 @@
  */
 package org.jclouds.googlecomputeengine.features;
 
-import static org.jclouds.googlecomputeengine.GoogleComputeEngineConstants.COMPUTE_READONLY_SCOPE;
-import static org.jclouds.googlecomputeengine.GoogleComputeEngineConstants.COMPUTE_SCOPE;
+import static org.jclouds.googlecomputeengine.config.GoogleComputeEngineScopes.COMPUTE_READONLY_SCOPE;
+import static org.jclouds.googlecomputeengine.config.GoogleComputeEngineScopes.COMPUTE_SCOPE;
 import static org.testng.Assert.assertEquals;
 import static org.testng.Assert.assertFalse;
 import static org.testng.AssertJUnit.assertNull;
@@ -49,7 +49,7 @@ public class NetworkApiExpectTest extends BaseGoogleComputeEngineExpectTest<Goog
    public void testGetNetworkResponseIs2xx() throws Exception {
 
       NetworkApi api = requestsSendResponses(requestForScopes(COMPUTE_READONLY_SCOPE),
-              TOKEN_RESPONSE, GET_NETWORK_REQUEST, GET_NETWORK_RESPONSE).getNetworkApi("party");
+              TOKEN_RESPONSE, GET_NETWORK_REQUEST, GET_NETWORK_RESPONSE).networks();
 
       assertEquals(api.get("jclouds-test"),
               new ParseNetworkTest().expected());
@@ -63,10 +63,10 @@ public class NetworkApiExpectTest extends BaseGoogleComputeEngineExpectTest<Goog
               .addHeader("Accept", "application/json")
               .addHeader("Authorization", "Bearer " + TOKEN).build();
 
-      HttpResponse operationResponse = HttpResponse.builder().statusCode(404).build();
+      HttpResponse response = HttpResponse.builder().statusCode(404).build();
 
       NetworkApi api = requestsSendResponses(requestForScopes(COMPUTE_READONLY_SCOPE),
-              TOKEN_RESPONSE, get, operationResponse).getNetworkApi("party");
+              TOKEN_RESPONSE, get, response).networks();
 
       assertNull(api.get("jclouds-test"));
    }
@@ -86,7 +86,7 @@ public class NetworkApiExpectTest extends BaseGoogleComputeEngineExpectTest<Goog
 
       NetworkApi api = requestsSendResponses(requestForScopes(COMPUTE_SCOPE),
               TOKEN_RESPONSE, insert,
-              insertNetworkResponse).getNetworkApi("party");
+              insertNetworkResponse).networks();
 
       assertEquals(api.createInIPv4Range("test-network", "10.0.0.0/8"), new ParseOperationTest().expected());
    }
@@ -103,7 +103,7 @@ public class NetworkApiExpectTest extends BaseGoogleComputeEngineExpectTest<Goog
               .payload(payloadFromResource("/operation.json")).build();
 
       NetworkApi api = requestsSendResponses(requestForScopes(COMPUTE_SCOPE),
-              TOKEN_RESPONSE, delete, deleteResponse).getNetworkApi("party");
+              TOKEN_RESPONSE, delete, deleteResponse).networks();
 
       assertEquals(api.delete("jclouds-test"),
               new ParseOperationTest().expected());
@@ -120,41 +120,35 @@ public class NetworkApiExpectTest extends BaseGoogleComputeEngineExpectTest<Goog
       HttpResponse deleteResponse = HttpResponse.builder().statusCode(404).build();
 
       NetworkApi api = requestsSendResponses(requestForScopes(COMPUTE_SCOPE),
-              TOKEN_RESPONSE, delete, deleteResponse).getNetworkApi("party");
+              TOKEN_RESPONSE, delete, deleteResponse).networks();
 
       assertNull(api.delete("jclouds-test"));
    }
 
-   public void testListNetworksResponseIs2xx() {
-      HttpRequest list = HttpRequest
-              .builder()
-              .method("GET")
-              .endpoint(BASE_URL + "/party/global/networks")
-              .addHeader("Accept", "application/json")
-              .addHeader("Authorization", "Bearer " + TOKEN).build();
+   HttpRequest list = HttpRequest
+         .builder()
+         .method("GET")
+         .endpoint(BASE_URL + "/party/global/networks")
+         .addHeader("Accept", "application/json")
+         .addHeader("Authorization", "Bearer " + TOKEN).build();
 
-      HttpResponse operationResponse = HttpResponse.builder().statusCode(200)
+   public void testListNetworksResponseIs2xx() {
+      HttpResponse response = HttpResponse.builder().statusCode(200)
               .payload(payloadFromResource("/network_list.json")).build();
 
       NetworkApi api = requestsSendResponses(requestForScopes(COMPUTE_READONLY_SCOPE),
-              TOKEN_RESPONSE, list, operationResponse).getNetworkApi("party");
+              TOKEN_RESPONSE, list, response).networks();
 
-      assertEquals(api.list().next().toString(),
-              new ParseNetworkListTest().expected().toString());
+      assertEquals(api.list().next(),
+              new ParseNetworkListTest().expected());
    }
 
-   public void testListNetworksResponseIs4xx() {
-      HttpRequest list = HttpRequest
-              .builder()
-              .method("GET")
-              .endpoint(BASE_URL + "/party/global/networks")
-              .addHeader("Accept", "application/json")
-              .addHeader("Authorization", "Bearer " + TOKEN).build();
-
-      HttpResponse operationResponse = HttpResponse.builder().statusCode(404).build();
+   public void listEmpty() {
+      HttpResponse response = HttpResponse.builder().statusCode(200)
+            .payload(payloadFromResource("/list_empty.json")).build();
 
       NetworkApi api = requestsSendResponses(requestForScopes(COMPUTE_READONLY_SCOPE), TOKEN_RESPONSE, list,
-            operationResponse).getNetworkApi("party");
+            response).networks();
 
       assertFalse(api.list().hasNext());
    }

http://git-wip-us.apache.org/repos/asf/jclouds-labs-google/blob/37e0397d/google-compute-engine/src/test/java/org/jclouds/googlecomputeengine/features/NetworkApiLiveTest.java
----------------------------------------------------------------------
diff --git a/google-compute-engine/src/test/java/org/jclouds/googlecomputeengine/features/NetworkApiLiveTest.java b/google-compute-engine/src/test/java/org/jclouds/googlecomputeengine/features/NetworkApiLiveTest.java
index e814462..5daf174 100644
--- a/google-compute-engine/src/test/java/org/jclouds/googlecomputeengine/features/NetworkApiLiveTest.java
+++ b/google-compute-engine/src/test/java/org/jclouds/googlecomputeengine/features/NetworkApiLiveTest.java
@@ -35,7 +35,7 @@ public class NetworkApiLiveTest extends BaseGoogleComputeEngineApiLiveTest {
    private static final String IPV4_RANGE = "10.0.0.0/8";
 
    private NetworkApi api() {
-      return api.getNetworkApi(userProject.get());
+      return api.networks();
    }
 
    @Test(groups = "live")

http://git-wip-us.apache.org/repos/asf/jclouds-labs-google/blob/37e0397d/google-compute-engine/src/test/java/org/jclouds/googlecomputeengine/features/OperationApiExpectTest.java
----------------------------------------------------------------------
diff --git a/google-compute-engine/src/test/java/org/jclouds/googlecomputeengine/features/OperationApiExpectTest.java b/google-compute-engine/src/test/java/org/jclouds/googlecomputeengine/features/OperationApiExpectTest.java
index 5b14745..d220904 100644
--- a/google-compute-engine/src/test/java/org/jclouds/googlecomputeengine/features/OperationApiExpectTest.java
+++ b/google-compute-engine/src/test/java/org/jclouds/googlecomputeengine/features/OperationApiExpectTest.java
@@ -16,8 +16,8 @@
  */
 package org.jclouds.googlecomputeengine.features;
 
-import static org.jclouds.googlecomputeengine.GoogleComputeEngineConstants.COMPUTE_READONLY_SCOPE;
-import static org.jclouds.googlecomputeengine.GoogleComputeEngineConstants.COMPUTE_SCOPE;
+import static org.jclouds.googlecomputeengine.config.GoogleComputeEngineScopes.COMPUTE_READONLY_SCOPE;
+import static org.jclouds.googlecomputeengine.config.GoogleComputeEngineScopes.COMPUTE_SCOPE;
 import static org.jclouds.googlecomputeengine.options.ListOptions.Builder.filter;
 import static org.testng.Assert.assertEquals;
 import static org.testng.Assert.assertFalse;
@@ -57,7 +57,7 @@ public class OperationApiExpectTest extends BaseGoogleComputeEngineExpectTest<Go
    public void get() throws Exception {
 
       OperationApi api = requestsSendResponses(requestForScopes(COMPUTE_READONLY_SCOPE),
-              TOKEN_RESPONSE, GET_GLOBAL_OPERATION_REQUEST, GET_GLOBAL_OPERATION_RESPONSE).getOperationApi("party");
+              TOKEN_RESPONSE, GET_GLOBAL_OPERATION_REQUEST, GET_GLOBAL_OPERATION_RESPONSE).operations();
 
       assertEquals(api.get(GET_GLOBAL_OPERATION_REQUEST.getEndpoint()),
               new ParseGlobalOperationTest().expected());
@@ -65,10 +65,10 @@ public class OperationApiExpectTest extends BaseGoogleComputeEngineExpectTest<Go
 
    public void getResponseIs4xx() throws Exception {
 
-      HttpResponse operationResponse = HttpResponse.builder().statusCode(404).build();
+      HttpResponse response = HttpResponse.builder().statusCode(404).build();
 
       OperationApi api = requestsSendResponses(requestForScopes(COMPUTE_READONLY_SCOPE),
-              TOKEN_RESPONSE, GET_GLOBAL_OPERATION_REQUEST, operationResponse).getOperationApi("party");
+              TOKEN_RESPONSE, GET_GLOBAL_OPERATION_REQUEST, response).operations();
 
       assertNull(api.get(GET_GLOBAL_OPERATION_REQUEST.getEndpoint()));
    }
@@ -81,10 +81,10 @@ public class OperationApiExpectTest extends BaseGoogleComputeEngineExpectTest<Go
               .addHeader("Accept", "application/json")
               .addHeader("Authorization", "Bearer " + TOKEN).build();
 
-      HttpResponse operationResponse = HttpResponse.builder().statusCode(204).build();
+      HttpResponse response = HttpResponse.builder().statusCode(204).build();
 
       OperationApi api = requestsSendResponses(requestForScopes(COMPUTE_SCOPE),
-              TOKEN_RESPONSE, delete, operationResponse).getOperationApi("party");
+              TOKEN_RESPONSE, delete, response).operations();
 
       api.delete(delete.getEndpoint());
    }
@@ -97,49 +97,42 @@ public class OperationApiExpectTest extends BaseGoogleComputeEngineExpectTest<Go
               .addHeader("Accept", "application/json")
               .addHeader("Authorization", "Bearer " + TOKEN).build();
 
-      HttpResponse operationResponse = HttpResponse.builder().statusCode(404).build();
+      HttpResponse response = HttpResponse.builder().statusCode(404).build();
 
       OperationApi api = requestsSendResponses(requestForScopes(COMPUTE_SCOPE),
-              TOKEN_RESPONSE, delete, operationResponse).getOperationApi("party");
+              TOKEN_RESPONSE, delete, response).operations();
 
       api.delete(delete.getEndpoint());
    }
 
-   public void list() {
-      HttpRequest get = HttpRequest
-              .builder()
-              .method("GET")
-              .endpoint(OPERATIONS_URL_PREFIX)
-              .addHeader("Accept", "application/json")
-              .addHeader("Authorization", "Bearer " + TOKEN).build();
+   HttpRequest list = HttpRequest
+         .builder()
+         .method("GET")
+         .endpoint(OPERATIONS_URL_PREFIX)
+         .addHeader("Accept", "application/json")
+         .addHeader("Authorization", "Bearer " + TOKEN).build();
 
-      HttpResponse operationResponse = HttpResponse.builder().statusCode(200)
+   public void list() {
+      HttpResponse response = HttpResponse.builder().statusCode(200)
               .payload(payloadFromResource("/global_operation_list.json")).build();
 
       OperationApi api = requestsSendResponses(requestForScopes(COMPUTE_READONLY_SCOPE),
-              TOKEN_RESPONSE, get, operationResponse).getOperationApi("party");
+              TOKEN_RESPONSE, list, response).operations();
 
-      assertEquals(api.list().next().toString(),
-              new ParseGlobalOperationListTest().expected().toString());
+      assertEquals(api.list().next(), new ParseGlobalOperationListTest().expected());
    }
 
-   public void listResponseIs4xx() {
-      HttpRequest get = HttpRequest
-            .builder()
-            .method("GET")
-            .endpoint(OPERATIONS_URL_PREFIX)
-            .addHeader("Accept", "application/json")
-            .addHeader("Authorization", "Bearer " + TOKEN).build();
-
-      HttpResponse operationResponse = HttpResponse.builder().statusCode(404).build();
+   public void listEmpty() {
+      HttpResponse response = HttpResponse.builder().statusCode(200)
+            .payload(payloadFromResource("/list_empty.json")).build();
 
       OperationApi api = requestsSendResponses(requestForScopes(COMPUTE_READONLY_SCOPE),
-            TOKEN_RESPONSE, get, operationResponse).getOperationApi("party");
+            TOKEN_RESPONSE, list, response).operations();
 
       assertFalse(api.list().hasNext());
    }
 
-   public void listWithOptions() {
+   public void listPageWithOptions() {
       HttpRequest get = HttpRequest
               .builder()
               .method("GET")
@@ -152,16 +145,16 @@ public class OperationApiExpectTest extends BaseGoogleComputeEngineExpectTest<Go
               .addHeader("Accept", "application/json")
               .addHeader("Authorization", "Bearer " + TOKEN).build();
 
-      HttpResponse operationResponse = HttpResponse.builder().statusCode(200)
+      HttpResponse response = HttpResponse.builder().statusCode(200)
               .payload(payloadFromResource("/global_operation_list.json")).build();
 
       OperationApi api = requestsSendResponses(requestForScopes(COMPUTE_READONLY_SCOPE),
-              TOKEN_RESPONSE, get, operationResponse).getOperationApi("party");
+              TOKEN_RESPONSE, get, response).operations();
 
       assertEquals(api.listPage("CglPUEVSQVRJT04SOzU5MDQyMTQ4Nzg1Mi5vcGVyYXRpb24tMTM1Mj" +
               "I0NDI1ODAzMC00Y2RkYmU2YTJkNmIwLWVkMzIyMzQz",
-              filter("status eq done").maxResults(3)).toString(),
-              new ParseGlobalOperationListTest().expected().toString());
+              filter("status eq done").maxResults(3)),
+              new ParseGlobalOperationListTest().expected());
    }
 
    private ListPage<Operation> regionList() {
@@ -171,35 +164,29 @@ public class OperationApiExpectTest extends BaseGoogleComputeEngineExpectTest<Go
       );
    }
 
-   public void listInRegion() {
-      HttpRequest get = HttpRequest
-            .builder()
-            .method("GET")
-            .endpoint(REGION_OPERATIONS_URL_PREFIX)
-            .addHeader("Accept", "application/json")
-            .addHeader("Authorization", "Bearer " + TOKEN).build();
+   HttpRequest listInRegion = HttpRequest
+         .builder()
+         .method("GET")
+         .endpoint(REGION_OPERATIONS_URL_PREFIX)
+         .addHeader("Accept", "application/json")
+         .addHeader("Authorization", "Bearer " + TOKEN).build();
 
-      HttpResponse operationResponse = HttpResponse.builder().statusCode(200)
+   public void listInRegion() {
+      HttpResponse response = HttpResponse.builder().statusCode(200)
             .payload(payloadFromResource("/region_operation_list.json")).build();
 
       OperationApi api = requestsSendResponses(requestForScopes(COMPUTE_READONLY_SCOPE),
-            TOKEN_RESPONSE, get, operationResponse).getOperationApi("party");
+            TOKEN_RESPONSE, listInRegion, response).operations();
 
-      assertEquals(api.listInRegion("us-central1").next().toString(), regionList().toString());
+      assertEquals(api.listInRegion("us-central1").next(), regionList());
    }
 
-   public void listInRegionResponseIs4xx() {
-      HttpRequest get = HttpRequest
-            .builder()
-            .method("GET")
-            .endpoint(REGION_OPERATIONS_URL_PREFIX)
-            .addHeader("Accept", "application/json")
-            .addHeader("Authorization", "Bearer " + TOKEN).build();
-
-      HttpResponse operationResponse = HttpResponse.builder().statusCode(404).build();
+   public void listInRegionEmpty() {
+      HttpResponse response = HttpResponse.builder().statusCode(200)
+            .payload(payloadFromResource("/list_empty.json")).build();
 
       OperationApi api = requestsSendResponses(requestForScopes(COMPUTE_READONLY_SCOPE),
-            TOKEN_RESPONSE, get, operationResponse).getOperationApi("party");
+            TOKEN_RESPONSE, listInRegion, response).operations();
 
       assertFalse(api.listInRegion("us-central1").hasNext());
    }
@@ -217,18 +204,17 @@ public class OperationApiExpectTest extends BaseGoogleComputeEngineExpectTest<Go
             .addHeader("Accept", "application/json")
             .addHeader("Authorization", "Bearer " + TOKEN).build();
 
-      HttpResponse operationResponse = HttpResponse.builder().statusCode(200)
+      HttpResponse response = HttpResponse.builder().statusCode(200)
             .payload(payloadFromResource("/region_operation_list.json")).build();
 
       OperationApi api = requestsSendResponses(requestForScopes(COMPUTE_READONLY_SCOPE),
-            TOKEN_RESPONSE, get, operationResponse).getOperationApi("party");
+            TOKEN_RESPONSE, get, response).operations();
 
       assertEquals(api.listPageInRegion("us-central1",
                   "CglPUEVSQVRJT04SOzU5MDQyMTQ4Nzg1Mi5vcGVyYXRpb24tMTM1MjI0NDI1ODAzMC00Y2RkYmU2YTJkNmIwLWVkMzIyMzQz",
                   filter("status eq done").maxResults(3)).toString(), regionList().toString());
    }
 
-
    private ListPage<Operation> zoneList() {
       return ListPage.create( //
             ImmutableList.of(new ParseZoneOperationTest().expected()), // items
@@ -236,35 +222,29 @@ public class OperationApiExpectTest extends BaseGoogleComputeEngineExpectTest<Go
       );
    }
 
-   public void listInZone() {
-      HttpRequest get = HttpRequest
-            .builder()
-            .method("GET")
-            .endpoint(ZONE_OPERATIONS_URL_PREFIX)
-            .addHeader("Accept", "application/json")
-            .addHeader("Authorization", "Bearer " + TOKEN).build();
+   HttpRequest listInZone = HttpRequest
+         .builder()
+         .method("GET")
+         .endpoint(ZONE_OPERATIONS_URL_PREFIX)
+         .addHeader("Accept", "application/json")
+         .addHeader("Authorization", "Bearer " + TOKEN).build();
 
-      HttpResponse operationResponse = HttpResponse.builder().statusCode(200)
+   public void listInZone() {
+      HttpResponse response = HttpResponse.builder().statusCode(200)
             .payload(payloadFromResource("/zone_operation_list.json")).build();
 
       OperationApi api = requestsSendResponses(requestForScopes(COMPUTE_READONLY_SCOPE),
-            TOKEN_RESPONSE, get, operationResponse).getOperationApi("party");
+            TOKEN_RESPONSE, listInZone, response).operations();
 
-      assertEquals(api.listInZone("us-central1-a").next().toString(), zoneList().toString());
+      assertEquals(api.listInZone("us-central1-a").next(), zoneList());
    }
 
-   public void listInZoneResponseIs4xx() {
-      HttpRequest get = HttpRequest
-            .builder()
-            .method("GET")
-            .endpoint(ZONE_OPERATIONS_URL_PREFIX)
-            .addHeader("Accept", "application/json")
-            .addHeader("Authorization", "Bearer " + TOKEN).build();
-
-      HttpResponse operationResponse = HttpResponse.builder().statusCode(404).build();
+   public void listInZoneEmpty() {
+      HttpResponse response = HttpResponse.builder().statusCode(200)
+            .payload(payloadFromResource("/list_empty.json")).build();
 
       OperationApi api = requestsSendResponses(requestForScopes(COMPUTE_READONLY_SCOPE),
-            TOKEN_RESPONSE, get, operationResponse).getOperationApi("party");
+            TOKEN_RESPONSE, listInZone, response).operations();
 
       assertFalse(api.listInZone("us-central1-a").hasNext());
    }
@@ -282,11 +262,11 @@ public class OperationApiExpectTest extends BaseGoogleComputeEngineExpectTest<Go
             .addHeader("Accept", "application/json")
             .addHeader("Authorization", "Bearer " + TOKEN).build();
 
-      HttpResponse operationResponse = HttpResponse.builder().statusCode(200)
+      HttpResponse response = HttpResponse.builder().statusCode(200)
             .payload(payloadFromResource("/zone_operation_list.json")).build();
 
       OperationApi api = requestsSendResponses(requestForScopes(COMPUTE_READONLY_SCOPE),
-            TOKEN_RESPONSE, get, operationResponse).getOperationApi("party");
+            TOKEN_RESPONSE, get, response).operations();
 
       assertEquals(api.listPageInZone("us-central1-a",
             "CglPUEVSQVRJT04SOzU5MDQyMTQ4Nzg1Mi5vcGVyYXRpb24tMTM1MjI0NDI1ODAzMC00Y2RkYmU2YTJkNmIwLWVkMzIyMzQz",

http://git-wip-us.apache.org/repos/asf/jclouds-labs-google/blob/37e0397d/google-compute-engine/src/test/java/org/jclouds/googlecomputeengine/features/OperationApiLiveTest.java
----------------------------------------------------------------------
diff --git a/google-compute-engine/src/test/java/org/jclouds/googlecomputeengine/features/OperationApiLiveTest.java b/google-compute-engine/src/test/java/org/jclouds/googlecomputeengine/features/OperationApiLiveTest.java
index 9b8e6da..a9e15e4 100644
--- a/google-compute-engine/src/test/java/org/jclouds/googlecomputeengine/features/OperationApiLiveTest.java
+++ b/google-compute-engine/src/test/java/org/jclouds/googlecomputeengine/features/OperationApiLiveTest.java
@@ -34,7 +34,7 @@ public class OperationApiLiveTest extends BaseGoogleComputeEngineApiLiveTest {
    private Operation operation;
 
    private OperationApi api() {
-      return api.getOperationApi(userProject.get());
+      return api.operations();
    }
 
    public void listWithOptions() {
@@ -44,7 +44,7 @@ public class OperationApiLiveTest extends BaseGoogleComputeEngineApiLiveTest {
       int count = 0;
       for (; count < 2 && operations.hasNext(); ) {
          ListPage<Operation> result = operations.next();
-         if (result.isEmpty()) {
+         if (!result.isEmpty()) {
             operation = result.get(0);
             count++;
          }
@@ -69,7 +69,7 @@ public class OperationApiLiveTest extends BaseGoogleComputeEngineApiLiveTest {
       int count = 0;
       for (; count < 2 && operations.hasNext(); ) {
          ListPage<Operation> result = operations.next();
-         if (result.isEmpty()) {
+         if (!result.isEmpty()) {
             count++;
          }
       }
@@ -86,7 +86,7 @@ public class OperationApiLiveTest extends BaseGoogleComputeEngineApiLiveTest {
       int count = 0;
       for (; count < 2 && operations.hasNext(); ) {
          ListPage<Operation> result = operations.next();
-         if (result.isEmpty()) {
+         if (!result.isEmpty()) {
             count++;
          }
       }

http://git-wip-us.apache.org/repos/asf/jclouds-labs-google/blob/37e0397d/google-compute-engine/src/test/java/org/jclouds/googlecomputeengine/features/ProjectApiExpectTest.java
----------------------------------------------------------------------
diff --git a/google-compute-engine/src/test/java/org/jclouds/googlecomputeengine/features/ProjectApiExpectTest.java b/google-compute-engine/src/test/java/org/jclouds/googlecomputeengine/features/ProjectApiExpectTest.java
index 1b78aea..0fd86e2 100644
--- a/google-compute-engine/src/test/java/org/jclouds/googlecomputeengine/features/ProjectApiExpectTest.java
+++ b/google-compute-engine/src/test/java/org/jclouds/googlecomputeengine/features/ProjectApiExpectTest.java
@@ -17,8 +17,8 @@
 package org.jclouds.googlecomputeengine.features;
 
 import static javax.ws.rs.core.MediaType.APPLICATION_JSON;
-import static org.jclouds.googlecomputeengine.GoogleComputeEngineConstants.COMPUTE_READONLY_SCOPE;
-import static org.jclouds.googlecomputeengine.GoogleComputeEngineConstants.COMPUTE_SCOPE;
+import static org.jclouds.googlecomputeengine.config.GoogleComputeEngineScopes.COMPUTE_READONLY_SCOPE;
+import static org.jclouds.googlecomputeengine.config.GoogleComputeEngineScopes.COMPUTE_SCOPE;
 import static org.testng.Assert.assertEquals;
 import static org.testng.Assert.assertNull;
 
@@ -47,9 +47,9 @@ public class ProjectApiExpectTest extends BaseGoogleComputeEngineExpectTest<Goog
 
    public void testGetProjectResponseIs2xx() throws Exception {
       ProjectApi api = requestsSendResponses(requestForScopes(COMPUTE_READONLY_SCOPE), TOKEN_RESPONSE,
-            GET_PROJECT_REQUEST, GET_PROJECT_RESPONSE).getProjectApi();
+            GET_PROJECT_REQUEST, GET_PROJECT_RESPONSE).project();
 
-      assertEquals(api.get("party"), new ParseProjectTest().expected());
+      assertEquals(api.get(), new ParseProjectTest().expected());
    }
 
    public void testGetProjectResponseIs4xx() throws Exception {
@@ -63,9 +63,9 @@ public class ProjectApiExpectTest extends BaseGoogleComputeEngineExpectTest<Goog
       HttpResponse getProjectResponse = HttpResponse.builder().statusCode(404).build();
 
       ProjectApi api = requestsSendResponses(requestForScopes(COMPUTE_READONLY_SCOPE), TOKEN_RESPONSE,
-            getProjectRequest, getProjectResponse).getProjectApi();
+            getProjectRequest, getProjectResponse).project();
 
-      assertNull(api.get("party"));
+      assertNull(api.get());
    }
 
    public void testSetCommonInstanceMetadata() {
@@ -82,10 +82,9 @@ public class ProjectApiExpectTest extends BaseGoogleComputeEngineExpectTest<Goog
               .payload(payloadFromResource("/global_operation.json")).build();
 
       ProjectApi api = requestsSendResponses(requestForScopes(COMPUTE_SCOPE), TOKEN_RESPONSE, setMetadata,
-            setMetadataResponse).getProjectApi();
+            setMetadataResponse).project();
 
       Metadata expected = new ParseMetadataTest().expected();
-      assertEquals(api.setCommonInstanceMetadata("party", expected), new ParseGlobalOperationTest().expected());
+      assertEquals(api.setCommonInstanceMetadata(expected), new ParseGlobalOperationTest().expected());
    }
-
 }