killbill-memoizeit

jaxrs: revisit account emails path Use /1.0/kb/accounts/<accountId>/emails

6/13/2012 9:18:08 PM

Details

diff --git a/jaxrs/src/main/java/com/ning/billing/jaxrs/resources/AccountResource.java b/jaxrs/src/main/java/com/ning/billing/jaxrs/resources/AccountResource.java
index a51b47f..149ae73 100644
--- a/jaxrs/src/main/java/com/ning/billing/jaxrs/resources/AccountResource.java
+++ b/jaxrs/src/main/java/com/ning/billing/jaxrs/resources/AccountResource.java
@@ -83,7 +83,6 @@ public class AccountResource extends JaxRsResourceBase {
     private static final String ID_PARAM_NAME = "accountId";
     private static final String CUSTOM_FIELD_URI = JaxrsResource.CUSTOM_FIELDS + "/{" + ID_PARAM_NAME + ":" + UUID_PATTERN + "}";
     private static final String TAG_URI = JaxrsResource.TAGS + "/{" + ID_PARAM_NAME + ":" + UUID_PATTERN + "}";
-    private static final String EMAIL_URI = JaxrsResource.EMAILS + "/{" + ID_PARAM_NAME + ":" + UUID_PATTERN + "}";
 
     private final AccountUserApi accountApi;
     private final EntitlementUserApi entitlementApi;
@@ -443,7 +442,7 @@ public class AccountResource extends JaxRsResourceBase {
      */
 
     @GET
-    @Path(EMAIL_URI)
+    @Path("/{accountId:" + UUID_PATTERN + "}/" + EMAILS)
     @Produces(APPLICATION_JSON)
     public Response getEmails(@PathParam(ID_PARAM_NAME) final String id) {
         final UUID accountId = UUID.fromString(id);
@@ -457,7 +456,7 @@ public class AccountResource extends JaxRsResourceBase {
     }
 
     @POST
-    @Path(EMAIL_URI)
+    @Path("/{accountId:" + UUID_PATTERN + "}/" + EMAILS)
     @Consumes(APPLICATION_JSON)
     @Produces(APPLICATION_JSON)
     public Response addEmail(final AccountEmailJson json,
@@ -484,7 +483,7 @@ public class AccountResource extends JaxRsResourceBase {
     }
 
     @DELETE
-    @Path(EMAIL_URI + "/{email}")
+    @Path("/{accountId:" + UUID_PATTERN + "}/" + EMAILS + "/{email}")
     @Produces(APPLICATION_JSON)
     public Response removeEmail(@PathParam(ID_PARAM_NAME) final String id,
                                 @PathParam("email") final String email,
diff --git a/server/src/test/java/com/ning/billing/jaxrs/TestAccountEmail.java b/server/src/test/java/com/ning/billing/jaxrs/TestAccountEmail.java
index 428a352..fccecbf 100644
--- a/server/src/test/java/com/ning/billing/jaxrs/TestAccountEmail.java
+++ b/server/src/test/java/com/ning/billing/jaxrs/TestAccountEmail.java
@@ -31,7 +31,7 @@ import com.ning.http.client.Response;
 import static org.testng.Assert.assertEquals;
 
 public class TestAccountEmail extends TestJaxrsBase {
-    @Test(groups = "slow", enabled = true)
+    @Test(groups = "slow")
     public void testAddAndRemoveAccountEmail() throws Exception {
         final AccountJson input = createAccount(UUID.randomUUID().toString(), UUID.randomUUID().toString(), UUID.randomUUID().toString());
         final String accountId = input.getAccountId();
@@ -41,7 +41,7 @@ public class TestAccountEmail extends TestJaxrsBase {
         final AccountEmailJson accountEmailJson1 = new AccountEmailJson(accountId, email1);
         final AccountEmailJson accountEmailJson2 = new AccountEmailJson(accountId, email2);
 
-        final String baseUri = JaxrsResource.ACCOUNTS_PATH + "/" + JaxrsResource.EMAILS + "/" + accountId;
+        final String baseUri = JaxrsResource.ACCOUNTS_PATH + "/" + accountId + "/" + JaxrsResource.EMAILS;
 
         // Verify the initial state
         final Response firstResponse = doGet(baseUri, DEFAULT_EMPTY_QUERY, DEFAULT_HTTP_TIMEOUT_SEC);