Enforcing identity format '[email protected]' correctly
Project: http://git-wip-us.apache.org/repos/asf/jclouds-labs-google/repo Commit: http://git-wip-us.apache.org/repos/asf/jclouds-labs-google/commit/cacccf27 Tree: http://git-wip-us.apache.org/repos/asf/jclouds-labs-google/tree/cacccf27 Diff: http://git-wip-us.apache.org/repos/asf/jclouds-labs-google/diff/cacccf27 Branch: refs/heads/fix-project-name-validation Commit: cacccf278e4b02eef13e6da8d003ddd71680fd1c Parents: cec667a Author: Andrew Phillips <[email protected]> Authored: Tue Nov 5 14:09:07 2013 -0500 Committer: Andrew Phillips <[email protected]> Committed: Wed Nov 6 17:48:55 2013 -0500 ---------------------------------------------------------------------- .../config/GoogleComputeEngineHttpApiModule.java | 16 +++++----------- .../GoogleComputeEngineServiceExpectTest.java | 2 +- .../BaseGoogleComputeEngineApiExpectTest.java | 2 +- .../internal/BaseGoogleComputeEngineExpectTest.java | 2 +- 4 files changed, 8 insertions(+), 14 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/jclouds-labs-google/blob/cacccf27/google-compute-engine/src/main/java/org/jclouds/googlecomputeengine/config/GoogleComputeEngineHttpApiModule.java ---------------------------------------------------------------------- diff --git a/google-compute-engine/src/main/java/org/jclouds/googlecomputeengine/config/GoogleComputeEngineHttpApiModule.java b/google-compute-engine/src/main/java/org/jclouds/googlecomputeengine/config/GoogleComputeEngineHttpApiModule.java index bbf10f0..8189d90 100644 --- a/google-compute-engine/src/main/java/org/jclouds/googlecomputeengine/config/GoogleComputeEngineHttpApiModule.java +++ b/google-compute-engine/src/main/java/org/jclouds/googlecomputeengine/config/GoogleComputeEngineHttpApiModule.java @@ -101,18 +101,12 @@ public class GoogleComputeEngineHttpApiModule extends HttpApiModule<GoogleComput return MemoizedRetryOnTimeOutButNotOnAuthorizationExceptionSupplier.create(authException, compose(new Function<Credentials, String>() { public String apply(Credentials in) { - // ID should be of the form [email protected] - // OR (increasingly often) [email protected] - // where project_id is the NUMBER; - // HERE we also accept simply "project" as the identity, if no "@" is present; - // this is used in tests, but not sure if it is valid in the wild. String projectName = in.identity; - if (projectName.indexOf("@") != -1) { - projectName = Iterables.get(Splitter.on("@").split(projectName), 0); - if (projectName.indexOf("-") != -1) { - // if ID is of the form [email protected] - projectName = Iterables.get(Splitter.on("-").split(projectName), 0); - } + checkState(projectName.indexOf("@") > -1, + "identity should be [email protected] or [email protected] but was: %s", in.identity); + projectName = Iterables.get(Splitter.on("@").split(projectName), 0); + if (projectName.indexOf("-") != -1) { + projectName = Iterables.get(Splitter.on("-").split(projectName), 0); } Project project = api.getProjectApi().get(projectName); return project.getName(); http://git-wip-us.apache.org/repos/asf/jclouds-labs-google/blob/cacccf27/google-compute-engine/src/test/java/org/jclouds/googlecomputeengine/compute/GoogleComputeEngineServiceExpectTest.java ---------------------------------------------------------------------- diff --git a/google-compute-engine/src/test/java/org/jclouds/googlecomputeengine/compute/GoogleComputeEngineServiceExpectTest.java b/google-compute-engine/src/test/java/org/jclouds/googlecomputeengine/compute/GoogleComputeEngineServiceExpectTest.java index d9e68b5..6818541 100644 --- a/google-compute-engine/src/test/java/org/jclouds/googlecomputeengine/compute/GoogleComputeEngineServiceExpectTest.java +++ b/google-compute-engine/src/test/java/org/jclouds/googlecomputeengine/compute/GoogleComputeEngineServiceExpectTest.java @@ -198,7 +198,7 @@ public class GoogleComputeEngineServiceExpectTest extends BaseGoogleComputeEngin @Override protected Properties setupProperties() { Properties overrides = super.setupProperties(); - overrides.put("google-compute-engine.identity", "myproject"); + overrides.put("google-compute-engine.identity", "[email protected]"); try { overrides.put("google-compute-engine.credential", toStringAndClose(getClass().getResourceAsStream("/testpk.pem"))); } catch (IOException e) { http://git-wip-us.apache.org/repos/asf/jclouds-labs-google/blob/cacccf27/google-compute-engine/src/test/java/org/jclouds/googlecomputeengine/internal/BaseGoogleComputeEngineApiExpectTest.java ---------------------------------------------------------------------- diff --git a/google-compute-engine/src/test/java/org/jclouds/googlecomputeengine/internal/BaseGoogleComputeEngineApiExpectTest.java b/google-compute-engine/src/test/java/org/jclouds/googlecomputeengine/internal/BaseGoogleComputeEngineApiExpectTest.java index ae7be6a..787f467 100644 --- a/google-compute-engine/src/test/java/org/jclouds/googlecomputeengine/internal/BaseGoogleComputeEngineApiExpectTest.java +++ b/google-compute-engine/src/test/java/org/jclouds/googlecomputeengine/internal/BaseGoogleComputeEngineApiExpectTest.java @@ -28,7 +28,7 @@ public class BaseGoogleComputeEngineApiExpectTest extends BaseGoogleComputeEngin @Override protected Properties setupProperties() { Properties properties = super.setupProperties(); - properties.put("google-compute-engine.identity", "myproject"); + properties.put("google-compute-engine.identity", "[email protected]"); return properties; } } http://git-wip-us.apache.org/repos/asf/jclouds-labs-google/blob/cacccf27/google-compute-engine/src/test/java/org/jclouds/googlecomputeengine/internal/BaseGoogleComputeEngineExpectTest.java ---------------------------------------------------------------------- diff --git a/google-compute-engine/src/test/java/org/jclouds/googlecomputeengine/internal/BaseGoogleComputeEngineExpectTest.java b/google-compute-engine/src/test/java/org/jclouds/googlecomputeengine/internal/BaseGoogleComputeEngineExpectTest.java index 1c360f2..587afc7 100644 --- a/google-compute-engine/src/test/java/org/jclouds/googlecomputeengine/internal/BaseGoogleComputeEngineExpectTest.java +++ b/google-compute-engine/src/test/java/org/jclouds/googlecomputeengine/internal/BaseGoogleComputeEngineExpectTest.java @@ -73,7 +73,7 @@ public class BaseGoogleComputeEngineExpectTest<T> extends BaseRestApiExpectTest< private static final String header = "{\"alg\":\"none\",\"typ\":\"JWT\"}"; private static final String CLAIMS_TEMPLATE = "{" + - "\"iss\":\"myproject\"," + + "\"iss\":\"[email protected]\"," + "\"scope\":\"%s\"," + "\"aud\":\"https://accounts.google.com/o/oauth2/token\"," + "\"exp\":3600," +
