Exporter { private void exportDistributorVersions(File baseDir) throws IOException { List<DistributorVersion> versions = distVerCurator.findAll(); if (versions == null || versions.isEmpty()) { return; } File distVerDir = new File(baseDir.getCanonicalPath(), "distributor_version"); distVerDir.mkdir(); FileWriter writer = null; for (DistributorVersion dv : versions) { if (log.isDebugEnabled()) { log.debug("Exporting Distributor Version" + dv.getName()); } try { File file = new File(distVerDir.getCanonicalPath(), dv.getName() + ".json"); writer = new FileWriter(file); distVerExporter.export(mapper, writer, dv); } finally { if (writer != null) { writer.close(); } } } } @Inject  Exporter(ConsumerTypeCurator consumerTypeCurator, OwnerCurator ownerCurator, MetaExporter meta,
        ConsumerExporter consumerExporter, ConsumerTypeExporter consumerType,
        RulesExporter rules, EntitlementCertExporter entCert,
        EntitlementCertServiceAdapter entCertAdapter, ProductExporter productExporter,
        ProductServiceAdapter productAdapter, ProductCertExporter productCertExporter,
        EntitlementCurator entitlementCurator, EntitlementExporter entExporter,
        PKIUtility pki, Configuration config, ExportRules exportRules,
        PrincipalProvider principalProvider, DistributorVersionCurator distVerCurator,
        DistributorVersionExporter distVerExporter,
        CdnCurator cdnCurator,
        CdnExporter cdnExporter,
        ProductCurator productCurator,
        SyncUtils syncUtils, ExportExtensionAdapter extensionAdapter,
        ModelTranslator translator); File getFullExport(Consumer consumer, String cdnLabel, String webUrl,
        String apiUrl, Map<String, String> extensionData); File getEntitlementExport(Consumer consumer, Set<Long> serials);  }
@Test public void exportDistributorVersions() throws ExportCreationException, IOException { config.setProperty(ConfigProperties.SYNC_WORK_DIR, "/tmp/"); config.setProperty(ConfigProperties.PREFIX_WEBURL, "localhost:8443/weburl"); config.setProperty(ConfigProperties.PREFIX_APIURL, "localhost:8443/apiurl"); Rules mrules = mock(Rules.class); Consumer consumer = mock(Consumer.class); Principal principal = mock(Principal.class); when(mrules.getRules()).thenReturn("foobar"); when(pki.getSHA256WithRSAHash(any(InputStream.class))).thenReturn("signature".getBytes()); when(rc.getRules()).thenReturn(mrules); when(pprov.get()).thenReturn(principal); when(principal.getUsername()).thenReturn("testUser"); IdentityCertificate idcert = new IdentityCertificate(); idcert.setSerial(new CertificateSerial(10L, new Date())); idcert.setKey("euh0876puhapodifbvj094"); idcert.setCert("hpj-08ha-w4gpoknpon*)&^%#"); idcert.setCreated(new Date()); idcert.setUpdated(new Date()); when(consumer.getIdCert()).thenReturn(idcert); ConsumerType ctype = new ConsumerType(ConsumerTypeEnum.CANDLEPIN); ctype.setId("test-ctype"); KeyPair keyPair = createKeyPair(); when(consumer.getKeyPair()).thenReturn(keyPair); when(pki.getPemEncoded(keyPair.getPrivateKey())).thenReturn("privateKey".getBytes()); when(consumer.getUuid()).thenReturn("8auuid"); when(consumer.getName()).thenReturn("consumer_name"); when(consumer.getTypeId()).thenReturn(ctype.getId()); when(ctc.getConsumerType(eq(consumer))).thenReturn(ctype); when(ctc.get(eq(ctype.getId()))).thenReturn(ctype); DistributorVersion dv = new DistributorVersion("test-dist-ver"); Set<DistributorVersionCapability> dvcSet = new HashSet<>(); dvcSet.add(new DistributorVersionCapability(dv, "capability-1")); dvcSet.add(new DistributorVersionCapability(dv, "capability-2")); dvcSet.add(new DistributorVersionCapability(dv, "capability-3")); dv.setCapabilities(dvcSet); List<DistributorVersion> dvList = new ArrayList<>(); dvList.add(dv); when(dvc.findAll()).thenReturn(dvList); CandlepinQuery cqmock = mock(CandlepinQuery.class); when(cqmock.iterator()).thenReturn(Arrays.asList(new ConsumerType("system")).iterator()); when(ctc.listAll()).thenReturn(cqmock); CandlepinQuery emptyIteratorMock = mock(CandlepinQuery.class); when(emptyIteratorMock.iterate()).thenReturn(new MockResultIterator(Arrays.asList().iterator())); when(emptyIteratorMock.iterator()).thenReturn(Arrays.asList().iterator()); when(cdnc.listAll()).thenReturn(emptyIteratorMock); when(ctc.listAll()).thenReturn(emptyIteratorMock); Exporter e = new Exporter(ctc, oc, me, ce, cte, re, ece, ecsa, pe, psa, pce, ec, ee, pki, config, exportRules, pprov, dvc, dve, cdnc, cdne, pc, su, exportExtensionAdapter, translator); File export = e.getFullExport(consumer, null, null, null, new HashMap<>()); verifyContent(export, "export/distributor_version/test-dist-ver.json", new VerifyDistributorVersion("test-dist-ver.json")); }