Search in sources :

Example 6 with Tenant

use of org.killbill.billing.client.model.Tenant in project killbill by killbill.

the class TestCatalog method testAddSimplePlanWithoutKBDefault.

@Test(groups = "slow", description = "Upload and retrieve a per plugin payment state machine config")
public void testAddSimplePlanWithoutKBDefault() throws Exception {
    // Create another tenant initialized with no default catalog,...
    final Tenant otherTenantNoKBDefault = new Tenant();
    otherTenantNoKBDefault.setApiKey(UUID.randomUUID().toString());
    otherTenantNoKBDefault.setApiSecret(UUID.randomUUID().toString());
    killBillClient.createTenant(otherTenantNoKBDefault, false, requestOptions);
    final RequestOptions requestOptionsOtherTenant = requestOptions.extend().withTenantApiKey(otherTenantNoKBDefault.getApiKey()).withTenantApiSecret(otherTenantNoKBDefault.getApiSecret()).build();
    // Verify the template catalog is not returned
    List<Catalog> catalogsJson = killBillClient.getJSONCatalog(requestOptionsOtherTenant);
    Assert.assertEquals(catalogsJson.size(), 0);
    killBillClient.addSimplePan(new SimplePlan("foo-monthly", "Foo", ProductCategory.BASE, Currency.USD, BigDecimal.TEN, BillingPeriod.MONTHLY, 0, TimeUnit.UNLIMITED, ImmutableList.<String>of()), requestOptionsOtherTenant);
    catalogsJson = killBillClient.getJSONCatalog(requestOptionsOtherTenant);
    Assert.assertEquals(catalogsJson.size(), 1);
    Assert.assertEquals(catalogsJson.get(0).getProducts().size(), 1);
    Assert.assertEquals(catalogsJson.get(0).getProducts().get(0).getName(), "Foo");
    Assert.assertEquals(catalogsJson.get(0).getPriceLists().size(), 1);
    Assert.assertEquals(catalogsJson.get(0).getPriceLists().get(0).getName(), "DEFAULT");
    Assert.assertEquals(catalogsJson.get(0).getPriceLists().get(0).getPlans().size(), 1);
    Assert.assertEquals(catalogsJson.get(0).getPriceLists().get(0).getPlans().get(0), "foo-monthly");
    killBillClient.addSimplePan(new SimplePlan("foo-annual", "Foo", ProductCategory.BASE, Currency.USD, new BigDecimal("100.00"), BillingPeriod.ANNUAL, 0, TimeUnit.UNLIMITED, ImmutableList.<String>of()), requestOptionsOtherTenant);
    catalogsJson = killBillClient.getJSONCatalog(requestOptionsOtherTenant);
    Assert.assertEquals(catalogsJson.size(), 1);
    Assert.assertEquals(catalogsJson.get(0).getProducts().size(), 1);
    Assert.assertEquals(catalogsJson.get(0).getProducts().get(0).getName(), "Foo");
    Assert.assertEquals(catalogsJson.get(0).getPriceLists().size(), 1);
    Assert.assertEquals(catalogsJson.get(0).getPriceLists().get(0).getName(), "DEFAULT");
    Assert.assertEquals(catalogsJson.get(0).getPriceLists().get(0).getPlans().size(), 2);
}
Also used : SimplePlan(org.killbill.billing.client.model.SimplePlan) Tenant(org.killbill.billing.client.model.Tenant) RequestOptions(org.killbill.billing.client.RequestOptions) Catalog(org.killbill.billing.client.model.Catalog) BigDecimal(java.math.BigDecimal) Test(org.testng.annotations.Test)

Aggregations

Tenant (org.killbill.billing.client.model.Tenant)6 Test (org.testng.annotations.Test)5 RequestOptions (org.killbill.billing.client.RequestOptions)3 KillBillClientException (org.killbill.billing.client.KillBillClientException)2 Account (org.killbill.billing.client.model.Account)2 TenantKey (org.killbill.billing.client.model.TenantKey)2 BigDecimal (java.math.BigDecimal)1 HashMap (java.util.HashMap)1 AtomicReference (java.util.concurrent.atomic.AtomicReference)1 Ehcache (net.sf.ehcache.Ehcache)1 LocalDate (org.joda.time.LocalDate)1 Catalog (org.killbill.billing.client.model.Catalog)1 Payment (org.killbill.billing.client.model.Payment)1 Payments (org.killbill.billing.client.model.Payments)1 SimplePlan (org.killbill.billing.client.model.SimplePlan)1 ObjectMapper (org.killbill.billing.util.jackson.ObjectMapper)1 BeforeMethod (org.testng.annotations.BeforeMethod)1