/** Configure export query with specific product export criteria. */ private void setUpExportContextWithProductExportCriteria() { exportConfiguration = new ExportConfiguration(); ExporterConfiguration exporterConfiguration = new ExporterConfiguration(); List<OptionalExporterConfiguration> optionalExporterConfigurationList = new ArrayList<OptionalExporterConfiguration>(); OptionalExporterConfiguration optionalExporterConfiguration = new OptionalExporterConfiguration(); optionalExporterConfiguration.setType(JobType.PRODUCTASSOCIATION); List<ConfigurationOption> options = new ArrayList<ConfigurationOption>(); ConfigurationOption option = new ConfigurationOption(); option.setKey(ProductExporterImpl.DIRECT_ONLY); option.setValue(Boolean.TRUE.toString()); options.add(option); optionalExporterConfiguration.setOptions(options); optionalExporterConfigurationList.add(optionalExporterConfiguration); exporterConfiguration.setOptionalExporterConfigurationList(optionalExporterConfigurationList); exportConfiguration.setExporterConfiguration(exporterConfiguration); searchConfiguration = new SearchConfiguration(); searchConfiguration.setEpQLQuery(SPECIFIC_QUERY); exportContext = new ExportContext(exportConfiguration, searchConfiguration); exportContext.setDependencyRegistry(new DependencyRegistry(new ArrayList<Class<?>>())); exportContext.setSummary(new SummaryImpl()); }
/** * Check that during initialization exporter prepares the list of UidPk for products to be * exported. */ @Test public void testExporterInitializationWithRetrieveAllProductsQuery() throws Exception { final long uid = PRODUCT_UID; final List<Long> productUidPkList = new ArrayList<Long>(); productUidPkList.add(uid); exportConfiguration = new ExportConfiguration(); ExporterConfiguration exporterConfiguration = new ExporterConfiguration(); List<OptionalExporterConfiguration> optionalExporterConfigurationList = new ArrayList<OptionalExporterConfiguration>(); OptionalExporterConfiguration optionalExporterConfiguration = new OptionalExporterConfiguration(); optionalExporterConfiguration.setType(JobType.PRODUCTASSOCIATION); List<ConfigurationOption> options = new ArrayList<ConfigurationOption>(); ConfigurationOption option = new ConfigurationOption(); option.setKey(ProductExporterImpl.DIRECT_ONLY); option.setValue(Boolean.TRUE.toString()); options.add(option); optionalExporterConfiguration.setOptions(options); optionalExporterConfigurationList.add(optionalExporterConfiguration); exporterConfiguration.setOptionalExporterConfigurationList(optionalExporterConfigurationList); exportConfiguration.setExporterConfiguration(exporterConfiguration); searchConfiguration = new SearchConfiguration(); searchConfiguration.setEpQLQuery(QUERY); exportContext = new ExportContext(exportConfiguration, searchConfiguration); exportContext.setDependencyRegistry(new DependencyRegistry(new ArrayList<Class<?>>())); exportContext.setSummary(new SummaryImpl()); context.checking( new Expectations() { { oneOf(mockImportExportSearcher).searchUids(searchConfiguration, EPQueryType.PRODUCT); will(returnValue(productUidPkList)); } }); productExporter.initialize(exportContext); }