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 8f1145d..f785888 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
@@ -37,14 +37,13 @@ import javax.ws.rs.core.Response;
import javax.ws.rs.core.Response.Status;
import javax.ws.rs.core.UriInfo;
-import org.joda.time.DateTime;
import org.killbill.billing.ObjectType;
import org.killbill.billing.account.api.AccountUserApi;
import org.killbill.billing.callcontext.DefaultCallContext;
import org.killbill.billing.catalog.api.CatalogApiException;
import org.killbill.billing.catalog.api.CatalogUserApi;
import org.killbill.billing.jaxrs.json.TenantJson;
-import org.killbill.billing.jaxrs.json.TenantKeyJson;
+import org.killbill.billing.jaxrs.json.TenantKeyValueJson;
import org.killbill.billing.jaxrs.util.Context;
import org.killbill.billing.jaxrs.util.JaxrsUriBuilder;
import org.killbill.billing.payment.api.PaymentApi;
@@ -153,7 +152,7 @@ public class TenantResource extends JaxRsResourceBase {
@Path("/" + REGISTER_NOTIFICATION_CALLBACK)
@Consumes(APPLICATION_JSON)
@Produces(APPLICATION_JSON)
- @ApiOperation(value = "Create a push notification", response = TenantKeyJson.class)
+ @ApiOperation(value = "Create a push notification", response = TenantKeyValueJson.class)
@ApiResponses(value = {@ApiResponse(code = 400, message = "Invalid tenantId supplied")})
public Response registerPushNotificationCallback(@QueryParam(QUERY_NOTIFICATION_CALLBACK) final String notificationCallback,
@HeaderParam(HDR_CREATED_BY) final String createdBy,
@@ -168,7 +167,7 @@ public class TenantResource extends JaxRsResourceBase {
@GET
@Path("/" + REGISTER_NOTIFICATION_CALLBACK)
@Produces(APPLICATION_JSON)
- @ApiOperation(value = "Retrieve a push notification", response = TenantKeyJson.class)
+ @ApiOperation(value = "Retrieve a push notification", response = TenantKeyValueJson.class)
@ApiResponses(value = {@ApiResponse(code = 400, message = "Invalid tenantId supplied")})
public Response getPushNotificationCallbacks(@javax.ws.rs.core.Context final HttpServletRequest request) throws TenantApiException {
return getTenantKey(TenantKey.PUSH_NOTIFICATION_CB, null, request);
@@ -191,7 +190,7 @@ public class TenantResource extends JaxRsResourceBase {
@Path("/" + UPLOAD_PLUGIN_CONFIG + "/{pluginName:" + ANYTHING_PATTERN + "}")
@Consumes(TEXT_PLAIN)
@Produces(APPLICATION_JSON)
- @ApiOperation(value = "Add a per tenant configuration for a plugin", response = TenantKeyJson.class)
+ @ApiOperation(value = "Add a per tenant configuration for a plugin", response = TenantKeyValueJson.class)
@ApiResponses(value = {@ApiResponse(code = 400, message = "Invalid tenantId supplied")})
public Response uploadPluginConfiguration(final String pluginConfig,
@PathParam("pluginName") final String pluginName,
@@ -209,7 +208,7 @@ public class TenantResource extends JaxRsResourceBase {
@GET
@Path("/" + UPLOAD_PLUGIN_CONFIG + "/{pluginName:" + ANYTHING_PATTERN + "}")
@Produces(APPLICATION_JSON)
- @ApiOperation(value = "Retrieve a per tenant configuration for a plugin", response = TenantKeyJson.class)
+ @ApiOperation(value = "Retrieve a per tenant configuration for a plugin", response = TenantKeyValueJson.class)
@ApiResponses(value = {@ApiResponse(code = 400, message = "Invalid tenantId supplied")})
public Response getPluginConfiguration(@PathParam("pluginName") final String pluginName,
@javax.ws.rs.core.Context final HttpServletRequest request) throws TenantApiException {
@@ -234,16 +233,16 @@ public class TenantResource extends JaxRsResourceBase {
@GET
@Path("/" + UPLOAD_PER_TENANT_CONFIG + "/{keyPrefix:" + ANYTHING_PATTERN + "}" + "/" + SEARCH)
@Produces(APPLICATION_JSON)
- @ApiOperation(value = "Retrieve a per tenant key value based on key prefix", response = TenantKeyJson.class)
+ @ApiOperation(value = "Retrieve a per tenant key value based on key prefix", response = TenantKeyValueJson.class)
@ApiResponses(value = {@ApiResponse(code = 400, message = "Invalid tenantId supplied")})
public Response getAllPluginConfiguration(@PathParam("keyPrefix") final String keyPrefix,
@javax.ws.rs.core.Context final HttpServletRequest request) throws TenantApiException {
final TenantContext tenantContext = context.createTenantContextNoAccountId(request);
final Map<String, List<String>> apiResult = tenantApi.searchTenantKeyValues(keyPrefix, tenantContext);
- final List<TenantKeyJson> result = new ArrayList<TenantKeyJson>();
+ final List<TenantKeyValueJson> result = new ArrayList<TenantKeyValueJson>();
for (final String cur : apiResult.keySet()) {
- result.add(new TenantKeyJson(cur, apiResult.get(cur)));
+ result.add(new TenantKeyValueJson(cur, apiResult.get(cur)));
}
return Response.status(Status.OK).entity(result).build();
}
@@ -254,7 +253,7 @@ public class TenantResource extends JaxRsResourceBase {
@Path("/" + UPLOAD_PER_TENANT_CONFIG)
@Consumes(TEXT_PLAIN)
@Produces(APPLICATION_JSON)
- @ApiOperation(value = "Add a per tenant configuration (system properties)", response = TenantKeyJson.class)
+ @ApiOperation(value = "Add a per tenant configuration (system properties)", response = TenantKeyValueJson.class)
@ApiResponses(value = {@ApiResponse(code = 400, message = "Invalid tenantId supplied")})
public Response uploadPerTenantConfiguration(final String perTenantConfig,
@HeaderParam(HDR_CREATED_BY) final String createdBy,
@@ -269,7 +268,7 @@ public class TenantResource extends JaxRsResourceBase {
@GET
@Path("/" + UPLOAD_PER_TENANT_CONFIG)
@Produces(APPLICATION_JSON)
- @ApiOperation(value = "Retrieve a per tenant configuration (system properties)", response = TenantKeyJson.class)
+ @ApiOperation(value = "Retrieve a per tenant configuration (system properties)", response = TenantKeyValueJson.class)
@ApiResponses(value = {@ApiResponse(code = 400, message = "Invalid tenantId supplied")})
public Response getPerTenantConfiguration(@javax.ws.rs.core.Context final HttpServletRequest request) throws TenantApiException {
return getTenantKey(TenantKey.PER_TENANT_CONFIG, null, request);
@@ -292,7 +291,7 @@ public class TenantResource extends JaxRsResourceBase {
@Path("/" + UPLOAD_PLUGIN_PAYMENT_STATE_MACHINE_CONFIG + "/{pluginName:" + ANYTHING_PATTERN + "}")
@Consumes(TEXT_PLAIN)
@Produces(APPLICATION_JSON)
- @ApiOperation(value = "Add a per tenant payment state machine for a plugin", response = TenantKeyJson.class)
+ @ApiOperation(value = "Add a per tenant payment state machine for a plugin", response = TenantKeyValueJson.class)
@ApiResponses(value = {@ApiResponse(code = 400, message = "Invalid tenantId supplied")})
public Response uploadPluginPaymentStateMachineConfig(final String paymentStateMachineConfig,
@PathParam("pluginName") final String pluginName,
@@ -308,7 +307,7 @@ public class TenantResource extends JaxRsResourceBase {
@GET
@Path("/" + UPLOAD_PLUGIN_PAYMENT_STATE_MACHINE_CONFIG + "/{pluginName:" + ANYTHING_PATTERN + "}")
@Produces(APPLICATION_JSON)
- @ApiOperation(value = "Retrieve a per tenant payment state machine for a plugin", response = TenantKeyJson.class)
+ @ApiOperation(value = "Retrieve a per tenant payment state machine for a plugin", response = TenantKeyValueJson.class)
@ApiResponses(value = {@ApiResponse(code = 400, message = "Invalid tenantId supplied")})
public Response getPluginPaymentStateMachineConfig(@PathParam("pluginName") final String pluginName,
@javax.ws.rs.core.Context final HttpServletRequest request) throws TenantApiException {
@@ -333,7 +332,7 @@ public class TenantResource extends JaxRsResourceBase {
@Path("/" + USER_KEY_VALUE + "/{keyName:" + ANYTHING_PATTERN + "}")
@Consumes(TEXT_PLAIN)
@Produces(APPLICATION_JSON)
- @ApiOperation(value = "Add a per tenant user key/value", response = TenantKeyJson.class)
+ @ApiOperation(value = "Add a per tenant user key/value", response = TenantKeyValueJson.class)
@ApiResponses(value = {@ApiResponse(code = 400, message = "Invalid tenantId supplied")})
public Response insertUserKeyValue(@PathParam("keyName") final String key,
final String value,
@@ -351,13 +350,13 @@ public class TenantResource extends JaxRsResourceBase {
@GET
@Path("/" + USER_KEY_VALUE + "/{keyName:" + ANYTHING_PATTERN + "}")
@Produces(APPLICATION_JSON)
- @ApiOperation(value = "Retrieve a per tenant user key/value", response = TenantKeyJson.class)
+ @ApiOperation(value = "Retrieve a per tenant user key/value", response = TenantKeyValueJson.class)
@ApiResponses(value = {@ApiResponse(code = 400, message = "Invalid tenantId supplied")})
public Response getUserKeyValue(@PathParam("keyName") final String key,
@javax.ws.rs.core.Context final HttpServletRequest request) throws TenantApiException {
final TenantContext tenantContext = context.createTenantContextNoAccountId(request);
final List<String> values = tenantApi.getTenantValuesForKey(key, tenantContext);
- final TenantKeyJson result = new TenantKeyJson(key, values);
+ final TenantKeyValueJson result = new TenantKeyValueJson(key, values);
return Response.status(Status.OK).entity(result).build();
}
@@ -403,7 +402,7 @@ public class TenantResource extends JaxRsResourceBase {
final TenantContext tenantContext = context.createTenantContextNoAccountId(request);
final String tenantKey = keyPostfix != null ? key.toString() + keyPostfix : key.toString();
final List<String> values = tenantApi.getTenantValuesForKey(tenantKey, tenantContext);
- final TenantKeyJson result = new TenantKeyJson(tenantKey, values);
+ final TenantKeyValueJson result = new TenantKeyValueJson(tenantKey, values);
return Response.status(Status.OK).entity(result).build();
}
diff --git a/profiles/killbill/src/test/java/org/killbill/billing/jaxrs/KillbillClient.java b/profiles/killbill/src/test/java/org/killbill/billing/jaxrs/KillbillClient.java
index da41b6f..deb7659 100644
--- a/profiles/killbill/src/test/java/org/killbill/billing/jaxrs/KillbillClient.java
+++ b/profiles/killbill/src/test/java/org/killbill/billing/jaxrs/KillbillClient.java
@@ -80,7 +80,7 @@ public abstract class KillbillClient extends GuicyKillbillTestSuiteWithEmbeddedD
- protected final int DEFAULT_WAIT_COMPLETION_TIMEOUT_SEC = 10;
+ protected final long DEFAULT_WAIT_COMPLETION_TIMEOUT_SEC = 10;
protected static final String PLUGIN_NAME = "noop";
@@ -195,7 +195,7 @@ public abstract class KillbillClient extends GuicyKillbillTestSuiteWithEmbeddedD
return accountApi.createAccount(input, requestOptions);
}
- protected Subscription createEntitlement(final UUID accountId, final String bundleExternalKey, final String productName,
+ protected Subscription createSubscription(final UUID accountId, final String bundleExternalKey, final String productName,
final ProductCategory productCategory, final BillingPeriod billingPeriod, final boolean waitCompletion) throws Exception {
final Subscription input = new Subscription();
input.setAccountId(accountId);
@@ -204,7 +204,7 @@ public abstract class KillbillClient extends GuicyKillbillTestSuiteWithEmbeddedD
input.setProductCategory(productCategory);
input.setBillingPeriod(billingPeriod);
input.setPriceList(PriceListSet.DEFAULT_PRICELIST_NAME);
- return subscriptionApi.createEntitlement(input, null, null, true, false, null, waitCompletion, waitCompletion ? DEFAULT_WAIT_COMPLETION_TIMEOUT_SEC : -1L, NULL_PLUGIN_PROPERTIES, requestOptions);
+ return subscriptionApi.createSubscription(input, null, null, true, false, null, waitCompletion, waitCompletion ? DEFAULT_WAIT_COMPLETION_TIMEOUT_SEC : -1L, NULL_PLUGIN_PROPERTIES, requestOptions);
}
protected Account createAccountWithPMBundleAndSubscriptionAndWaitForFirstInvoice() throws Exception {
@@ -212,7 +212,7 @@ public abstract class KillbillClient extends GuicyKillbillTestSuiteWithEmbeddedD
assertNotNull(accountJson);
// Add a bundle, subscription and move the clock to get the first invoice
- final Subscription subscriptionJson = createEntitlement(accountJson.getAccountId(), UUID.randomUUID().toString(), "Shotgun",
+ final Subscription subscriptionJson = createSubscription(accountJson.getAccountId(), UUID.randomUUID().toString(), "Shotgun",
ProductCategory.BASE, BillingPeriod.MONTHLY, true);
assertNotNull(subscriptionJson);
clock.addDays(32);
@@ -230,7 +230,7 @@ public abstract class KillbillClient extends GuicyKillbillTestSuiteWithEmbeddedD
assertEquals(accountTag.get(0).getTagDefinitionId(), ControlTagType.MANUAL_PAY.getId());
// Add a bundle, subscription and move the clock to get the first invoice
- final Subscription subscriptionJson = createEntitlement(accountJson.getAccountId(), UUID.randomUUID().toString(), "Shotgun",
+ final Subscription subscriptionJson = createSubscription(accountJson.getAccountId(), UUID.randomUUID().toString(), "Shotgun",
ProductCategory.BASE, BillingPeriod.MONTHLY, true);
assertNotNull(subscriptionJson);
clock.addDays(32);
@@ -245,7 +245,7 @@ public abstract class KillbillClient extends GuicyKillbillTestSuiteWithEmbeddedD
assertNotNull(accountJson);
// Add a bundle, subscription and move the clock to get the first invoice
- final Subscription subscriptionJson = createEntitlement(accountJson.getAccountId(), UUID.randomUUID().toString(), "Shotgun",
+ final Subscription subscriptionJson = createSubscription(accountJson.getAccountId(), UUID.randomUUID().toString(), "Shotgun",
ProductCategory.BASE, BillingPeriod.MONTHLY, true);
assertNotNull(subscriptionJson);
@@ -258,7 +258,7 @@ public abstract class KillbillClient extends GuicyKillbillTestSuiteWithEmbeddedD
assertNotNull(accountJson);
// Add a bundle, subscription and move the clock to get the first invoice
- final Subscription subscriptionJson = createEntitlement(accountJson.getAccountId(), UUID.randomUUID().toString(), "Shotgun",
+ final Subscription subscriptionJson = createSubscription(accountJson.getAccountId(), UUID.randomUUID().toString(), "Shotgun",
ProductCategory.BASE, BillingPeriod.MONTHLY, true);
assertNotNull(subscriptionJson);
clock.addMonths(1);
diff --git a/profiles/killbill/src/test/java/org/killbill/billing/jaxrs/TestAccountEmail.java b/profiles/killbill/src/test/java/org/killbill/billing/jaxrs/TestAccountEmail.java
index f0ef8d6..f09de1e 100644
--- a/profiles/killbill/src/test/java/org/killbill/billing/jaxrs/TestAccountEmail.java
+++ b/profiles/killbill/src/test/java/org/killbill/billing/jaxrs/TestAccountEmail.java
@@ -21,8 +21,8 @@ package org.killbill.billing.jaxrs;
import java.util.List;
import java.util.UUID;
-import org.killbill.billing.client.model.Account;
-import org.killbill.billing.client.model.AccountEmail;
+import org.killbill.billing.client.model.gen.Account;
+import org.killbill.billing.client.model.gen.AccountEmail;
import org.testng.Assert;
import org.testng.annotations.Test;
@@ -35,27 +35,27 @@ public class TestAccountEmail extends TestJaxrsBase {
final String email1 = UUID.randomUUID().toString();
final String email2 = UUID.randomUUID().toString();
- final AccountEmail accountEmailJson1 = new AccountEmail(accountId, email1);
- final AccountEmail accountEmailJson2 = new AccountEmail(accountId, email2);
+ final AccountEmail accountEmailJson1 = new AccountEmail(accountId, email1, null);
+ final AccountEmail accountEmailJson2 = new AccountEmail(accountId, email2, null);
// Verify the initial state
- final List<AccountEmail> firstEmails = killBillClient.getEmailsForAccount(accountId);
+ final List<AccountEmail> firstEmails = accountApi.getEmails(accountId, requestOptions);
Assert.assertEquals(firstEmails.size(), 0);
// Add an email
- killBillClient.addEmailToAccount(accountEmailJson1, createdBy, reason, comment);
+ accountApi.addEmail(accountEmailJson1, accountId, requestOptions);
// Verify we can retrieve it
- final List<AccountEmail> secondEmails = killBillClient.getEmailsForAccount(accountId);
+ final List<AccountEmail> secondEmails = accountApi.getEmails(accountId, requestOptions);
Assert.assertEquals(secondEmails.size(), 1);
Assert.assertEquals(secondEmails.get(0).getAccountId(), accountId);
Assert.assertEquals(secondEmails.get(0).getEmail(), email1);
// Add another email
- killBillClient.addEmailToAccount(accountEmailJson2, createdBy, reason, comment);
+ accountApi.addEmail(accountEmailJson2, accountId, requestOptions);
// Verify we can retrieve both
- final List<AccountEmail> thirdEmails = killBillClient.getEmailsForAccount(accountId);
+ final List<AccountEmail> thirdEmails = accountApi.getEmails(accountId, requestOptions);
Assert.assertEquals(thirdEmails.size(), 2);
Assert.assertEquals(thirdEmails.get(0).getAccountId(), accountId);
Assert.assertEquals(thirdEmails.get(1).getAccountId(), accountId);
@@ -63,16 +63,16 @@ public class TestAccountEmail extends TestJaxrsBase {
Assert.assertTrue(thirdEmails.get(1).getEmail().equals(email1) || thirdEmails.get(1).getEmail().equals(email2));
// Delete the first email
- killBillClient.removeEmailFromAccount(accountEmailJson1, createdBy, reason, comment);
+ accountApi.removeEmail(accountId, accountEmailJson1.getEmail(), requestOptions);
// Verify it has been deleted
- final List<AccountEmail> fourthEmails = killBillClient.getEmailsForAccount(accountId);
+ final List<AccountEmail> fourthEmails = accountApi.getEmails(accountId, requestOptions);
Assert.assertEquals(fourthEmails.size(), 1);
Assert.assertEquals(fourthEmails.get(0).getAccountId(), accountId);
Assert.assertEquals(fourthEmails.get(0).getEmail(), email2);
// Try to add the same email
- killBillClient.addEmailToAccount(accountEmailJson2, createdBy, reason, comment);
- Assert.assertEquals(killBillClient.getEmailsForAccount(accountId), fourthEmails);
+ accountApi.addEmail(accountEmailJson2, accountId, requestOptions);
+ Assert.assertEquals(accountApi.getEmails(accountId, requestOptions), fourthEmails);
}
}
diff --git a/profiles/killbill/src/test/java/org/killbill/billing/jaxrs/TestCredit.java b/profiles/killbill/src/test/java/org/killbill/billing/jaxrs/TestCredit.java
index e323ac2..5a604ba 100644
--- a/profiles/killbill/src/test/java/org/killbill/billing/jaxrs/TestCredit.java
+++ b/profiles/killbill/src/test/java/org/killbill/billing/jaxrs/TestCredit.java
@@ -23,9 +23,10 @@ import java.util.UUID;
import org.joda.time.DateTime;
import org.killbill.billing.client.KillBillClientException;
-import org.killbill.billing.client.model.Account;
-import org.killbill.billing.client.model.Credit;
-import org.killbill.billing.client.model.Invoice;
+import org.killbill.billing.client.model.gen.Account;
+import org.killbill.billing.client.model.gen.Credit;
+import org.killbill.billing.client.model.gen.Invoice;
+import org.testng.Assert;
import org.testng.annotations.BeforeMethod;
import org.testng.annotations.Test;
@@ -44,19 +45,17 @@ public class TestCredit extends TestJaxrsBase {
@Test(groups = "slow", description = "Can add a credit to an existing invoice")
public void testAddCreditToInvoice() throws Exception {
- //final Invoice invoice = killBillClient.getInvoicesForAccount(accountJson.getAccountId()).get(1);
-
final DateTime effectiveDate = clock.getUTCNow();
final BigDecimal creditAmount = BigDecimal.ONE;
final Credit credit = new Credit();
credit.setAccountId(accountJson.getAccountId());
credit.setCreditAmount(creditAmount);
credit.setDescription("description");
- Credit objFromJson = killBillClient.createCredit(credit, false, createdBy, reason, comment);
+ Credit objFromJson = creditApi.createCredit(credit, false, requestOptions);
final UUID invoiceId = objFromJson.getInvoiceId();
credit.setInvoiceId(invoiceId);
- objFromJson = killBillClient.createCredit(credit, false, createdBy, reason, comment);
+ objFromJson = creditApi.createCredit(credit, false, requestOptions);
// We can't just compare the object via .equals() due e.g. to the invoice id
assertEquals(objFromJson.getAccountId(), accountJson.getAccountId());
@@ -69,15 +68,15 @@ public class TestCredit extends TestJaxrsBase {
@Test(groups = "slow", description = "Can add a credit to an existing account",
expectedExceptions = KillBillClientException.class, expectedExceptionsMessageRegExp = ".*it is already in COMMITTED status")
public void testAddCreditToCommittedInvoice() throws Exception {
- final Invoice invoice = killBillClient.getInvoicesForAccount(accountJson.getAccountId()).get(1);
+ final Invoice invoice = accountApi.getInvoices(accountJson.getAccountId(), requestOptions).get(1);
- final DateTime effectiveDate = clock.getUTCNow();
final BigDecimal creditAmount = BigDecimal.ONE;
final Credit credit = new Credit();
credit.setAccountId(accountJson.getAccountId());
credit.setInvoiceId(invoice.getInvoiceId());
credit.setCreditAmount(creditAmount);
- final Credit objFromJson = killBillClient.createCredit(credit, true, createdBy, reason, comment);
+ final Credit objFromJson = creditApi.createCredit(credit, true, requestOptions);
+ Assert.assertTrue(objFromJson.getCreditAmount().compareTo(creditAmount) == 0);
}
@Test(groups = "slow", description = "Cannot add a credit if the account doesn't exist")
@@ -87,7 +86,7 @@ public class TestCredit extends TestJaxrsBase {
credit.setCreditAmount(BigDecimal.TEN);
// Try to create the credit
- assertNull(killBillClient.createCredit(credit, true, createdBy, reason, comment));
+ assertNull(creditApi.createCredit(credit, true, requestOptions));
}
@Test(groups = "slow", description = "Cannot credit a badly formatted credit")
@@ -98,7 +97,7 @@ public class TestCredit extends TestJaxrsBase {
// Try to create the credit
try {
- killBillClient.createCredit(credit, true, createdBy, reason, comment);
+ creditApi.createCredit(credit, true, requestOptions);
fail();
} catch (final KillBillClientException e) {
}
@@ -106,6 +105,6 @@ public class TestCredit extends TestJaxrsBase {
@Test(groups = "slow", description = "Cannot retrieve a non existing credit")
public void testCreditDoesNotExist() throws Exception {
- assertNull(killBillClient.getCredit(UUID.randomUUID()));
+ assertNull(creditApi.getCredit(UUID.randomUUID(), requestOptions));
}
}
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 5d08db5..683c3c6 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
@@ -39,7 +39,7 @@ import org.joda.time.DateTime;
import org.killbill.CreatorName;
import org.killbill.billing.api.FlakyRetryAnalyzer;
import org.killbill.billing.client.KillBillClientException;
-import org.killbill.billing.client.model.TenantKey;
+import org.killbill.billing.client.model.gen.TenantKeyValue;
import org.killbill.billing.jaxrs.json.NotificationJson;
import org.killbill.billing.notification.plugin.api.ExtBusEventType;
import org.killbill.billing.server.DefaultServerService;
@@ -115,7 +115,7 @@ public class TestPushNotification extends TestJaxrsBase {
public void retrieveAccountWithAsserts(final UUID accountId) {
try {
// Just check we can retrieve the account with the id from the callback
- killBillClient.getAccount(accountId, requestOptions);
+ accountApi.getAccount(accountId, requestOptions);
} catch (final Exception e) {
Assert.fail(e.getMessage());
}
@@ -209,20 +209,20 @@ public class TestPushNotification extends TestJaxrsBase {
}
private void unregisterTenantForCallback(final String callback) throws KillBillClientException {
- final TenantKey result = killBillClient.getCallbackNotificationForTenant(requestOptions);
+ final TenantKeyValue result = tenantApi.registerPushNotificationCallback(callback, requestOptions);
Assert.assertEquals(result.getKey(), TenantKV.TenantKey.PUSH_NOTIFICATION_CB.toString());
Assert.assertEquals(result.getValues().size(), 1);
Assert.assertEquals(result.getValues().get(0), callback);
- killBillClient.unregisterCallbackNotificationForTenant(requestOptions);
- final TenantKey result2 = killBillClient.getCallbackNotificationForTenant(requestOptions);
+ tenantApi.deletePushNotificationCallbacks(requestOptions);
+ final TenantKeyValue result2 = tenantApi.getPushNotificationCallbacks(requestOptions);
Assert.assertEquals(result2.getKey(), TenantKV.TenantKey.PUSH_NOTIFICATION_CB.toString());
Assert.assertEquals(result2.getValues().size(), 0);
}
private String registerTenantForCallback() throws KillBillClientException, InterruptedException {// Register tenant for callback
final String callback = "http://127.0.0.1:" + SERVER_PORT + CALLBACK_ENDPOINT;
- final TenantKey result0 = killBillClient.registerCallbackNotificationForTenant(callback, requestOptions);
+ final TenantKeyValue result0 = tenantApi.registerPushNotificationCallback(callback, requestOptions);
Assert.assertTrue(waitForCallbacksToComplete());
@@ -232,6 +232,7 @@ public class TestPushNotification extends TestJaxrsBase {
// reset values
resetCallbackStatusProperties();
+
return callback;
}
diff --git a/profiles/killbill/src/test/java/org/killbill/billing/jaxrs/TestSecurity.java b/profiles/killbill/src/test/java/org/killbill/billing/jaxrs/TestSecurity.java
index 47e92ac..ccca414 100644
--- a/profiles/killbill/src/test/java/org/killbill/billing/jaxrs/TestSecurity.java
+++ b/profiles/killbill/src/test/java/org/killbill/billing/jaxrs/TestSecurity.java
@@ -18,10 +18,11 @@
package org.killbill.billing.jaxrs;
+import java.io.File;
+import java.nio.charset.Charset;
import java.util.ArrayList;
import java.util.HashSet;
import java.util.List;
-import java.util.Set;
import java.util.UUID;
import javax.annotation.Nullable;
@@ -29,17 +30,15 @@ import javax.ws.rs.core.Response.Status;
import org.killbill.billing.client.KillBillClientException;
import org.killbill.billing.client.RequestOptions;
-import org.killbill.billing.client.model.Permissions;
-import org.killbill.billing.client.model.RoleDefinition;
-import org.killbill.billing.client.model.UserRoles;
+import org.killbill.billing.client.model.gen.RoleDefinition;
+import org.killbill.billing.client.model.gen.UserRoles;
import org.killbill.billing.security.Permission;
import org.testng.Assert;
import org.testng.annotations.Test;
-import com.ning.http.client.Response;
-
import com.google.common.collect.ImmutableList;
import com.google.common.collect.ImmutableSet;
+import com.google.common.io.Files;
import com.google.common.io.Resources;
public class TestSecurity extends TestJaxrsBase {
@@ -49,7 +48,7 @@ public class TestSecurity extends TestJaxrsBase {
logout();
try {
- killBillClient.getPermissions();
+ securityApi.getCurrentUserPermissions(requestOptions);
Assert.fail();
} catch (final KillBillClientException e) {
Assert.assertEquals(e.getResponse().getStatusCode(), Status.UNAUTHORIZED.getStatusCode());
@@ -73,12 +72,12 @@ public class TestSecurity extends TestJaxrsBase {
@Test(groups = "slow")
public void testDynamicUserRolesAllCatalogPermissions() throws Exception {
- testDynamicUserRolesInternal("wqeqsdswe", "jsddsh763s", "allcatalog", ImmutableList.of("catalog:*","tenant_kvs:add"), true);
+ testDynamicUserRolesInternal("wqeqsdswe", "jsddsh763s", "allcatalog", ImmutableList.of("catalog:*", "tenant_kvs:add"), true);
}
@Test(groups = "slow")
public void testDynamicUserRolesCorrectCatalogPermissions() throws Exception {
- testDynamicUserRolesInternal("wqeq23f6we", "jds5gh763s", "correctcatalog", ImmutableList.of("catalog:config_upload","tenant_kvs:add"), true);
+ testDynamicUserRolesInternal("wqeq23f6we", "jds5gh763s", "correctcatalog", ImmutableList.of("catalog:config_upload", "tenant_kvs:add"), true);
}
@Test(groups = "slow")
@@ -93,7 +92,7 @@ public class TestSecurity extends TestJaxrsBase {
final String role = UUID.randomUUID().toString();
testDynamicUserRolesInternal(username, password, role, ImmutableList.of(""), false);
- final Permissions permissions = killBillClient.getPermissions(RequestOptions.builder().withUser(username).withPassword(password).build());
+ final List<String> permissions = securityApi.getCurrentUserPermissions(RequestOptions.builder().withUser(username).withPassword(password).build());
Assert.assertEquals(permissions.size(), 0);
}
@@ -108,13 +107,11 @@ public class TestSecurity extends TestJaxrsBase {
permissions.add(cur.toString());
}
}
- Response response = killBillClient.addRoleDefinition(new RoleDefinition(roleDefinition, permissions), createdBy, reason, comment);
- Assert.assertEquals(response.getStatusCode(), 201);
+ securityApi.addRoleDefinition(new RoleDefinition(roleDefinition, permissions), requestOptions);
final String username = "candy";
final String password = "lolipop";
- response = killBillClient.addUserRoles(new UserRoles(username, password, ImmutableList.of(roleDefinition)), createdBy, reason, comment);
- Assert.assertEquals(response.getStatusCode(), 201);
+ securityApi.addUserRoles(new UserRoles(username, password, ImmutableList.of(roleDefinition)), requestOptions);
// Now 'login' as new user (along with roles to make an API call requiring permissions), and check behavior
logout();
@@ -122,7 +119,7 @@ public class TestSecurity extends TestJaxrsBase {
boolean success = false;
try {
- killBillClient.addRoleDefinition(new RoleDefinition("dsfdsfds", ImmutableList.of("*")), createdBy, reason, comment);
+ securityApi.addRoleDefinition(new RoleDefinition("dsfdsfds", ImmutableList.of("*")), requestOptions);
success = true;
} catch (final Exception e) {
} finally {
@@ -131,7 +128,7 @@ public class TestSecurity extends TestJaxrsBase {
success = false;
try {
- killBillClient.addUserRoles(new UserRoles("sdsd", "sdsdsd", ImmutableList.of(roleDefinition)), createdBy, reason, comment);
+ securityApi.addUserRoles(new UserRoles("sdsd", "sdsdsd", ImmutableList.of(roleDefinition)), requestOptions);
success = true;
} catch (final Exception e) {
} finally {
@@ -148,55 +145,49 @@ public class TestSecurity extends TestJaxrsBase {
final String username = "GuanYu";
final String password = "IamAGreatWarrior";
- Response response = killBillClient.addRoleDefinition(new RoleDefinition(roleDefinition, ImmutableList.of(allPermissions)), createdBy, reason, comment);
- Assert.assertEquals(response.getStatusCode(), 201);
+ securityApi.addRoleDefinition(new RoleDefinition(roleDefinition, ImmutableList.of(allPermissions)), requestOptions);
- response = killBillClient.addUserRoles(new UserRoles(username, password, ImmutableList.of(roleDefinition)), createdBy, reason, comment);
- Assert.assertEquals(response.getStatusCode(), 201);
+ securityApi.addUserRoles(new UserRoles(username, password, ImmutableList.of(roleDefinition)), requestOptions);
logout();
login(username, password);
- Permissions permissions = killBillClient.getPermissions();
+ List<String> permissions = securityApi.getCurrentUserPermissions(requestOptions);
Assert.assertEquals(permissions.size(), Permission.values().length);
String newPassword = "IamTheBestWarrior";
- killBillClient.updateUserPassword(username, newPassword, createdBy, reason, comment);
+ securityApi.updateUserPassword(new UserRoles(username, newPassword, null), username, requestOptions);
logout();
login(username, newPassword);
- permissions = killBillClient.getPermissions();
+ permissions = securityApi.getCurrentUserPermissions(requestOptions);
Assert.assertEquals(permissions.size(), Permission.values().length);
final String newRoleDefinition = "somethingLessNice";
// Only enough permissions to invalidate itself in the last step...
final String littlePermissions = "user";
- response = killBillClient.addRoleDefinition(new RoleDefinition(newRoleDefinition, ImmutableList.of(littlePermissions)), createdBy, reason, comment);
- Assert.assertEquals(response.getStatusCode(), 201);
+ securityApi.addRoleDefinition(new RoleDefinition(newRoleDefinition, ImmutableList.of(littlePermissions)), requestOptions);
- killBillClient.updateUserRoles(username, ImmutableList.of(newRoleDefinition), createdBy, reason, comment);
- permissions = killBillClient.getPermissions();
+ securityApi.updateUserRoles(new UserRoles(username, null, ImmutableList.of(newRoleDefinition)), username, requestOptions);
+ permissions = securityApi.getCurrentUserPermissions(requestOptions);
// This will only work if correct shiro cache invalidation was performed... requires lots of sweat to get it to work ;-)
Assert.assertEquals(permissions.size(), 2);
- killBillClient.invalidateUser(username, createdBy, reason, comment);
+ securityApi.invalidateUser(username, requestOptions);
try {
- killBillClient.getPermissions();
+ securityApi.getCurrentUserPermissions(requestOptions);
Assert.fail();
} catch (final KillBillClientException e) {
Assert.assertEquals(e.getResponse().getStatusCode(), Status.UNAUTHORIZED.getStatusCode());
}
-
}
private void testDynamicUserRolesInternal(final String username, final String password, final String roleDefinition, final List<String> permissions, final boolean expectPermissionSuccess) throws Exception {
- Response response = killBillClient.addRoleDefinition(new RoleDefinition(roleDefinition, permissions), createdBy, reason, comment);
- Assert.assertEquals(response.getStatusCode(), 201);
+ securityApi.addRoleDefinition(new RoleDefinition(roleDefinition, permissions), requestOptions);
- response = killBillClient.addUserRoles(new UserRoles(username, password, ImmutableList.of(roleDefinition)), createdBy, reason, comment);
- Assert.assertEquals(response.getStatusCode(), 201);
+ securityApi.addUserRoles(new UserRoles(username, password, ImmutableList.of(roleDefinition)), requestOptions);
// Now 'login' as new user (along with roles to make an API call requiring permissions), and check behavior
logout();
@@ -205,7 +196,9 @@ public class TestSecurity extends TestJaxrsBase {
boolean success = false;
try {
final String catalogPath = Resources.getResource("SpyCarBasic.xml").getPath();
- killBillClient.uploadXMLCatalog(catalogPath, createdBy, reason, comment);
+ final File catalogFile = new File(catalogPath);
+ final String body = Files.toString(catalogFile, Charset.forName("UTF-8"));
+ catalogApi.uploadCatalogXml(body, requestOptions);
success = true;
} catch (final Exception e) {
if (expectPermissionSuccess ||
@@ -219,6 +212,6 @@ public class TestSecurity extends TestJaxrsBase {
private List<String> getPermissions(@Nullable final String username, @Nullable final String password) throws Exception {
login(username, password);
- return killBillClient.getPermissions();
+ return securityApi.getCurrentUserPermissions(requestOptions);
}
}