killbill-memoizeit

Fixes #238

3/2/2015 3:28:27 PM

Details

diff --git a/jaxrs/src/main/java/org/killbill/billing/jaxrs/resources/TenantResource.java b/jaxrs/src/main/java/org/killbill/billing/jaxrs/resources/TenantResource.java
index 23b8636..d1626c8 100644
--- a/jaxrs/src/main/java/org/killbill/billing/jaxrs/resources/TenantResource.java
+++ b/jaxrs/src/main/java/org/killbill/billing/jaxrs/resources/TenantResource.java
@@ -156,8 +156,7 @@ public class TenantResource extends JaxRsResourceBase {
 
     @Timed
     @DELETE
-    @Path("/REGISTER_NOTIFICATION_CALLBACK")
-    //@Path("/" + REGISTER_NOTIFICATION_CALLBACK) @see #238
+    @Path("/" + REGISTER_NOTIFICATION_CALLBACK)
     @ApiOperation(value = "Delete a push notification")
     @ApiResponses(value = {@ApiResponse(code = 400, message = "Invalid tenantId supplied")})
     public Response deletePushNotificationCallbacks(@HeaderParam(HDR_CREATED_BY) final String createdBy,
diff --git a/profiles/killbill/src/test/java/org/killbill/billing/jaxrs/TestPushNotification.java b/profiles/killbill/src/test/java/org/killbill/billing/jaxrs/TestPushNotification.java
index ccb0d0c..342305c 100644
--- a/profiles/killbill/src/test/java/org/killbill/billing/jaxrs/TestPushNotification.java
+++ b/profiles/killbill/src/test/java/org/killbill/billing/jaxrs/TestPushNotification.java
@@ -31,6 +31,8 @@ import javax.servlet.http.HttpServletResponse;
 import org.eclipse.jetty.server.Server;
 import org.eclipse.jetty.servlet.ServletContextHandler;
 import org.eclipse.jetty.servlet.ServletHolder;
+import org.killbill.billing.client.JaxrsResource;
+import org.killbill.billing.client.model.TenantKey;
 import org.killbill.billing.jaxrs.json.NotificationJson;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
@@ -91,7 +93,8 @@ public class TestPushNotification extends TestJaxrsBase {
     @Test(groups = "slow")
     public void testPushNotification() throws Exception {
         // Register tenant for callback
-        killBillClient.registerCallbackNotificationForTenant("http://127.0.0.1:" + SERVER_PORT + CALLBACK_ENDPPOINT, createdBy, reason, comment);
+        final String callback = "http://127.0.0.1:" + SERVER_PORT + CALLBACK_ENDPPOINT;
+        killBillClient.registerCallbackNotificationForTenant(callback, createdBy, reason, comment);
         // Create account to trigger a push notification
         createAccount();
 
@@ -103,6 +106,16 @@ public class TestPushNotification extends TestJaxrsBase {
         if (callbackCompletedWithError) {
             Assert.fail("Assertion during callback failed...");
         }
+
+        final TenantKey result = killBillClient.getCallbackNotificationForTenant(createdBy, reason, comment);
+        Assert.assertEquals(result.getKey(), org.killbill.billing.tenant.api.TenantKV.TenantKey.PUSH_NOTIFICATION_CB.toString());
+        Assert.assertEquals(result.getValues().size(), 1);
+        Assert.assertEquals(result.getValues().get(0), callback);
+
+        killBillClient.unregisterCallbackNotificationForTenant(createdBy, reason, comment);
+        final TenantKey result2 = killBillClient.getCallbackNotificationForTenant(createdBy, reason, comment);
+        Assert.assertEquals(result2.getKey(), org.killbill.billing.tenant.api.TenantKV.TenantKey.PUSH_NOTIFICATION_CB.toString());
+        Assert.assertEquals(result2.getValues().size(), 0);
     }
 
     public void setCompleted(final boolean withError) {