public DefaultVersionedCatalog toVersionedCatalog(final VersionedPluginCatalog pluginCatalog, final InternalTenantContext internalTenantContext) throws CatalogApiException { final DefaultVersionedCatalog result = new DefaultVersionedCatalog(clock); for (final StandalonePluginCatalog cur : pluginCatalog.getStandalonePluginCatalogs()) { result.add(toStandaloneCatalogWithPriceOverride(pluginCatalog, cur, internalTenantContext)); } return result; }
final StandaloneCatalog catalog = XMLLoader.getObjectFromStream(curCatalogStream, StandaloneCatalog.class); if (!filterTemplateCatalog || !catalog.isTemplateCatalog()) { result.add(new StandaloneCatalogWithPriceOverride(catalog, priceOverride, tenantRecordId, internalCallContextFactory));
@Test(groups = "fast") public void testVersionedCatalog() throws Exception { final StandaloneCatalog catalog = XMLLoader.getObjectFromString(Resources.getResource("SpyCarAdvanced.xml").toExternalForm(), StandaloneCatalog.class); final DefaultVersionedCatalog versionedCatalog = new DefaultVersionedCatalog(clock); versionedCatalog.add(catalog); final String newCatalogStr = XMLWriter.writeXML(versionedCatalog, DefaultVersionedCatalog.class); //System.err.println(newCatalogStr); }
for (final URI u : xmlURIs) { final StandaloneCatalog catalog = XMLLoader.getObjectFromUri(u, StandaloneCatalog.class); result.add(new StandaloneCatalogWithPriceOverride(catalog, priceOverride, InternalCallContextFactory.INTERNAL_TENANT_RECORD_ID, internalCallContextFactory));
@Override protected void configure() { final CatalogService catalogService = Mockito.mock(CatalogService.class); final CatalogInternalApi catalogInternalApi = Mockito.mock(CatalogInternalApi.class); try { final DefaultVersionedCatalog mockVersionedCatalog = new DefaultVersionedCatalog(); final MockCatalog mockCatalog = new MockCatalog(); mockVersionedCatalog.add(mockCatalog); Mockito.when(catalogService.getFullCatalogForInternalUse(Mockito.any(Boolean.class), Mockito.any(Boolean.class), Mockito.any(InternalCallContext.class))).thenReturn(mockVersionedCatalog); Mockito.when(catalogService.getFullCatalog(Mockito.any(Boolean.class), Mockito.any(Boolean.class), Mockito.any(InternalCallContext.class))).thenReturn(mockVersionedCatalog); bind(CatalogService.class).toInstance(catalogService); bind(CatalogInternalApi.class).toInstance(catalogInternalApi); } catch (final CatalogApiException e) { throw new RuntimeException(e); } } }
@Override public VersionedCatalog<? extends StaticCatalog> getCatalog(final String catalogName, @Nullable final DateTime catalogDateVersion, final TenantContext tenantContext) throws CatalogApiException { final InternalTenantContext internalTenantContext; if (tenantContext.getAccountId() != null) { internalTenantContext = internalCallContextFactory.createInternalTenantContext(tenantContext.getAccountId(), tenantContext); } else { internalTenantContext = createInternalTenantContext(tenantContext); } final DefaultVersionedCatalog fullCatalog = catalogService.getFullCatalog(true, true, internalTenantContext); if (catalogDateVersion == null) { return fullCatalog; } else { final DefaultVersionedCatalog filteredCatalog = new DefaultVersionedCatalog(clock); for (final StandaloneCatalog v : fullCatalog.getVersions()) { if (v.getEffectiveDate().compareTo(catalogDateVersion.toDate()) >= 0) { filteredCatalog.add(v); break; } } return filteredCatalog; } }
@Override @BeforeMethod(groups = "fast") public void beforeMethod() throws Exception { super.beforeMethod(); final SubscriptionDao dao = Mockito.mock(SubscriptionDao.class); final DefaultVersionedCatalog versionedCatalog = new DefaultVersionedCatalog(); final MockCatalog mockCatalog = new MockCatalog(); versionedCatalog.add(mockCatalog); final CatalogService catalogService = new MockCatalogService(versionedCatalog, cacheControllerDispatcher); final CatalogInternalApi catalogInternalApiWithMockCatalogService = new DefaultCatalogInternalApi(catalogService); final SubscriptionBaseApiService apiService = Mockito.mock(SubscriptionBaseApiService.class); final SubscriptionBaseTimelineApi timelineApi = Mockito.mock(SubscriptionBaseTimelineApi.class); transferApi = new DefaultSubscriptionBaseTransferApi(clock, dao, timelineApi, catalogInternalApiWithMockCatalogService, subscriptionInternalApi, apiService, internalCallContextFactory); // Overrride catalog with our MockCatalog this.catalog = mockCatalog; }
@Test(groups = "fast") public void testDefaultCatalog() throws CatalogApiException { catalogCache.loadDefaultCatalog(Resources.getResource("SpyCarBasic.xml").toExternalForm()); final DefaultVersionedCatalog result = catalogCache.getCatalog(true, true, false, internalCallContext); Assert.assertNotNull(result); final Collection<Product> products = result.getProducts(clock.getUTCNow()); Assert.assertEquals(products.size(), 3); // Verify the lookup with other contexts final DefaultVersionedCatalog resultForMultiTenantContext = new DefaultVersionedCatalog(result.getClock()); for (final StandaloneCatalog cur : result.getVersions()) { resultForMultiTenantContext.add(new StandaloneCatalogWithPriceOverride(cur, priceOverride, multiTenantContext.getTenantRecordId(), internalCallContextFactory)); } Assert.assertEquals(catalogCache.getCatalog(true, true, false, multiTenantContext).getCatalogName(), resultForMultiTenantContext.getCatalogName()); Assert.assertEquals(catalogCache.getCatalog(true, true, false, multiTenantContext).getVersions().size(), resultForMultiTenantContext.getVersions().size()); for (int i = 0; i < catalogCache.getCatalog(true, true, false, multiTenantContext).getVersions().size(); i++) { Assert.assertEquals(((StandaloneCatalogWithPriceOverride) catalogCache.getCatalog(true, true, false, multiTenantContext).getVersions().get(i)).getTenantRecordId(), ((StandaloneCatalogWithPriceOverride) resultForMultiTenantContext.getVersions().get(i)).getTenantRecordId()); } }
for (final StandaloneCatalog cur : defaultCatalog.getVersions()) { final StandaloneCatalogWithPriceOverride curWithOverride = new StandaloneCatalogWithPriceOverride(cur, priceOverride, tenantContext.getTenantRecordId(), internalCallContextFactory); tenantCatalog.add(curWithOverride);
final StandaloneCatalog catalog = XMLLoader.getObjectFromStream(curCatalogStream, StandaloneCatalog.class); if (!filterTemplateCatalog || !catalog.isTemplateCatalog()) { result.add(new StandaloneCatalogWithPriceOverride(catalog, priceOverride, tenantRecordId, internalCallContextFactory));
public DefaultVersionedCatalog toVersionedCatalog(final VersionedPluginCatalog pluginCatalog, final InternalTenantContext internalTenantContext) throws CatalogApiException { final DefaultVersionedCatalog result = new DefaultVersionedCatalog(clock); for (final StandalonePluginCatalog cur : pluginCatalog.getStandalonePluginCatalogs()) { result.add(toStandaloneCatalogWithPriceOverride(pluginCatalog, cur, internalTenantContext)); } return result; }
@Test(groups = "fast") public void testVersionedCatalog() throws Exception { final StandaloneCatalog catalog = XMLLoader.getObjectFromString(Resources.getResource("SpyCarAdvanced.xml").toExternalForm(), StandaloneCatalog.class); final DefaultVersionedCatalog versionedCatalog = new DefaultVersionedCatalog(clock); versionedCatalog.add(catalog); final String newCatalogStr = XMLWriter.writeXML(versionedCatalog, DefaultVersionedCatalog.class); //System.err.println(newCatalogStr); }
for (final URI u : xmlURIs) { final StandaloneCatalog catalog = XMLLoader.getObjectFromUri(u, StandaloneCatalog.class); result.add(new StandaloneCatalogWithPriceOverride(catalog, priceOverride, InternalCallContextFactory.INTERNAL_TENANT_RECORD_ID, internalCallContextFactory));
@Override protected void configure() { final CatalogService catalogService = Mockito.mock(CatalogService.class); final CatalogInternalApi catalogInternalApi = Mockito.mock(CatalogInternalApi.class); try { final DefaultVersionedCatalog mockVersionedCatalog = new DefaultVersionedCatalog(); final MockCatalog mockCatalog = new MockCatalog(); mockVersionedCatalog.add(mockCatalog); Mockito.when(catalogService.getFullCatalogForInternalUse(Mockito.any(Boolean.class), Mockito.any(Boolean.class), Mockito.any(InternalCallContext.class))).thenReturn(mockVersionedCatalog); Mockito.when(catalogService.getFullCatalog(Mockito.any(Boolean.class), Mockito.any(Boolean.class), Mockito.any(InternalCallContext.class))).thenReturn(mockVersionedCatalog); bind(CatalogService.class).toInstance(catalogService); bind(CatalogInternalApi.class).toInstance(catalogInternalApi); } catch (final CatalogApiException e) { throw new RuntimeException(e); } } }
@Override public VersionedCatalog<? extends StaticCatalog> getCatalog(final String catalogName, @Nullable final DateTime catalogDateVersion, final TenantContext tenantContext) throws CatalogApiException { final InternalTenantContext internalTenantContext; if (tenantContext.getAccountId() != null) { internalTenantContext = internalCallContextFactory.createInternalTenantContext(tenantContext.getAccountId(), tenantContext); } else { internalTenantContext = createInternalTenantContext(tenantContext); } final DefaultVersionedCatalog fullCatalog = catalogService.getFullCatalog(true, true, internalTenantContext); if (catalogDateVersion == null) { return fullCatalog; } else { final DefaultVersionedCatalog filteredCatalog = new DefaultVersionedCatalog(clock); for (final StandaloneCatalog v : fullCatalog.getVersions()) { if (v.getEffectiveDate().compareTo(catalogDateVersion.toDate()) >= 0) { filteredCatalog.add(v); break; } } return filteredCatalog; } }
public void addCatalogVersion(final String catalogResource) throws Exception { final StandaloneCatalog inputCatalogVersion = XMLLoader.getObjectFromString(Resources.getResource(catalogResource).toExternalForm(), StandaloneCatalog.class); final StandaloneCatalogWithPriceOverride inputCatalogVersionWithOverride = new StandaloneCatalogWithPriceOverride(inputCatalogVersion, priceOverride, internalTenantContext.getTenantRecordId(), internalCallContextFactory); this.latestCatalogUpdate = new DateTime(inputCatalogVersion.getEffectiveDate()); if (versionedCatalog == null) { versionedCatalog = new DefaultVersionedCatalog(clock); } versionedCatalog.add(inputCatalogVersionWithOverride); }
@Override @BeforeMethod(groups = "fast") public void beforeMethod() throws Exception { super.beforeMethod(); final SubscriptionDao dao = Mockito.mock(SubscriptionDao.class); final DefaultVersionedCatalog versionedCatalog = new DefaultVersionedCatalog(); final MockCatalog mockCatalog = new MockCatalog(); versionedCatalog.add(mockCatalog); final CatalogService catalogService = new MockCatalogService(versionedCatalog, cacheControllerDispatcher); final CatalogInternalApi catalogInternalApiWithMockCatalogService = new DefaultCatalogInternalApi(catalogService); final SubscriptionBaseApiService apiService = Mockito.mock(SubscriptionBaseApiService.class); final SubscriptionBaseTimelineApi timelineApi = Mockito.mock(SubscriptionBaseTimelineApi.class); transferApi = new DefaultSubscriptionBaseTransferApi(clock, dao, timelineApi, catalogInternalApiWithMockCatalogService, subscriptionInternalApi, apiService, internalCallContextFactory); // Overrride catalog with our MockCatalog this.catalog = mockCatalog; }
@Test(groups = "fast") public void testDefaultCatalog() throws CatalogApiException { catalogCache.loadDefaultCatalog(Resources.getResource("SpyCarBasic.xml").toExternalForm()); final DefaultVersionedCatalog result = catalogCache.getCatalog(true, true, false, internalCallContext); Assert.assertNotNull(result); final Collection<Product> products = result.getProducts(clock.getUTCNow()); Assert.assertEquals(products.size(), 3); // Verify the lookup with other contexts final DefaultVersionedCatalog resultForMultiTenantContext = new DefaultVersionedCatalog(result.getClock()); for (final StandaloneCatalog cur : result.getVersions()) { resultForMultiTenantContext.add(new StandaloneCatalogWithPriceOverride(cur, priceOverride, multiTenantContext.getTenantRecordId(), internalCallContextFactory)); } Assert.assertEquals(catalogCache.getCatalog(true, true, false, multiTenantContext).getCatalogName(), resultForMultiTenantContext.getCatalogName()); Assert.assertEquals(catalogCache.getCatalog(true, true, false, multiTenantContext).getVersions().size(), resultForMultiTenantContext.getVersions().size()); for (int i = 0; i < catalogCache.getCatalog(true, true, false, multiTenantContext).getVersions().size(); i++) { Assert.assertEquals(((StandaloneCatalogWithPriceOverride) catalogCache.getCatalog(true, true, false, multiTenantContext).getVersions().get(i)).getTenantRecordId(), ((StandaloneCatalogWithPriceOverride) resultForMultiTenantContext.getVersions().get(i)).getTenantRecordId()); } }
for (final StandaloneCatalog cur : defaultCatalog.getVersions()) { final StandaloneCatalogWithPriceOverride curWithOverride = new StandaloneCatalogWithPriceOverride(cur, priceOverride, tenantContext.getTenantRecordId(), internalCallContextFactory); tenantCatalog.add(curWithOverride);