Search in sources :

Example 1 with ExportRules

use of org.candlepin.policy.js.export.ExportRules in project candlepin by candlepin.

the class ExporterTest method exportConsumer.

@Test
public void exportConsumer() 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");
    // specific to this test
    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(pki.getPemEncoded(keyPair.getPublicKey())).thenReturn("publicKey".getBytes());
    when(consumer.getUuid()).thenReturn("8auuid");
    when(consumer.getName()).thenReturn("consumer_name");
    when(consumer.getContentAccessMode()).thenReturn("access_mode");
    when(consumer.getTypeId()).thenReturn(ctype.getId());
    when(ctc.getConsumerType(eq(consumer))).thenReturn(ctype);
    when(ctc.find(eq(ctype.getId()))).thenReturn(ctype);
    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(cdnc.listAll()).thenReturn(emptyIteratorMock);
    // FINALLY test this badboy
    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);
    verifyContent(export, "export/consumer.json", new VerifyConsumer("consumer.json"));
}
Also used : KeyPair(org.candlepin.model.KeyPair) ZipInputStream(java.util.zip.ZipInputStream) FileInputStream(java.io.FileInputStream) InputStream(java.io.InputStream) CertificateSerial(org.candlepin.model.CertificateSerial) CandlepinQuery(org.candlepin.model.CandlepinQuery) Rules(org.candlepin.model.Rules) ExportRules(org.candlepin.policy.js.export.ExportRules) Date(java.util.Date) Consumer(org.candlepin.model.Consumer) ConsumerType(org.candlepin.model.ConsumerType) File(java.io.File) Principal(org.candlepin.auth.Principal) IdentityCertificate(org.candlepin.model.IdentityCertificate) MockResultIterator(org.candlepin.test.MockResultIterator) Test(org.junit.Test)

Example 2 with ExportRules

use of org.candlepin.policy.js.export.ExportRules in project candlepin by candlepin.

the class ExporterTest method exportDistributorVersions.

@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(pki.getPemEncoded(keyPair.getPublicKey())).thenReturn("publicKey".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.find(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);
    // FINALLY test this badboy
    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);
    verifyContent(export, "export/distributor_version/test-dist-ver.json", new VerifyDistributorVersion("test-dist-ver.json"));
}
Also used : KeyPair(org.candlepin.model.KeyPair) ZipInputStream(java.util.zip.ZipInputStream) FileInputStream(java.io.FileInputStream) InputStream(java.io.InputStream) ArrayList(java.util.ArrayList) CertificateSerial(org.candlepin.model.CertificateSerial) CandlepinQuery(org.candlepin.model.CandlepinQuery) Rules(org.candlepin.model.Rules) ExportRules(org.candlepin.policy.js.export.ExportRules) Date(java.util.Date) Consumer(org.candlepin.model.Consumer) DistributorVersionCapability(org.candlepin.model.DistributorVersionCapability) ConsumerType(org.candlepin.model.ConsumerType) File(java.io.File) Principal(org.candlepin.auth.Principal) IdentityCertificate(org.candlepin.model.IdentityCertificate) DistributorVersion(org.candlepin.model.DistributorVersion) HashSet(java.util.HashSet) MockResultIterator(org.candlepin.test.MockResultIterator) Test(org.junit.Test)

Example 3 with ExportRules

use of org.candlepin.policy.js.export.ExportRules in project candlepin by candlepin.

the class ExporterTest method verifyExportExtension.

@Test
public void verifyExportExtension() throws Exception {
    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);
    Map<String, String> extensionData = new HashMap<>();
    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);
    Principal principal = mock(Principal.class);
    when(pprov.get()).thenReturn(principal);
    when(principal.getUsername()).thenReturn("testUser");
    Consumer consumer = mock(Consumer.class);
    Rules mrules = mock(Rules.class);
    when(mrules.getRules()).thenReturn("foobar");
    when(pki.getSHA256WithRSAHash(any(InputStream.class))).thenReturn("signature".getBytes());
    when(rc.getRules()).thenReturn(mrules);
    // specific to this test
    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);
    e.getFullExport(consumer, "cdn-key", "webapp-prefix", "api-url", extensionData);
    // Default implementation of the ExportExtensionAdapter does nothing so
    // we only verify that the extension method was invoked.
    verify(exportExtensionAdapter).extendManifest(any(File.class), eq(consumer), eq(extensionData));
}
Also used : HashMap(java.util.HashMap) ZipInputStream(java.util.zip.ZipInputStream) FileInputStream(java.io.FileInputStream) InputStream(java.io.InputStream) CertificateSerial(org.candlepin.model.CertificateSerial) CandlepinQuery(org.candlepin.model.CandlepinQuery) Rules(org.candlepin.model.Rules) ExportRules(org.candlepin.policy.js.export.ExportRules) Date(java.util.Date) Consumer(org.candlepin.model.Consumer) File(java.io.File) Principal(org.candlepin.auth.Principal) MockResultIterator(org.candlepin.test.MockResultIterator) IdentityCertificate(org.candlepin.model.IdentityCertificate) Test(org.junit.Test)

Example 4 with ExportRules

use of org.candlepin.policy.js.export.ExportRules in project candlepin by candlepin.

the class ExporterTest method setUp.

@Before
public void setUp() {
    ctc = mock(ConsumerTypeCurator.class);
    mockEnvironmentCurator = mock(EnvironmentCurator.class);
    oc = mock(OwnerCurator.class);
    me = new MetaExporter();
    translator = new StandardTranslator(ctc, mockEnvironmentCurator, oc);
    ce = new ConsumerExporter(translator);
    cte = new ConsumerTypeExporter(translator);
    rc = mock(RulesCurator.class);
    re = new RulesExporter(rc);
    ece = new EntitlementCertExporter();
    ecsa = mock(EntitlementCertServiceAdapter.class);
    pe = new ProductExporter(translator);
    psa = mock(ProductServiceAdapter.class);
    pce = new ProductCertExporter();
    ec = mock(EntitlementCurator.class);
    ee = new EntitlementExporter(translator);
    pki = mock(PKIUtility.class);
    config = new CandlepinCommonTestConfig();
    exportRules = mock(ExportRules.class);
    pprov = mock(PrincipalProvider.class);
    dvc = mock(DistributorVersionCurator.class);
    dve = new DistributorVersionExporter();
    cdnc = mock(CdnCurator.class);
    cdne = new CdnExporter();
    pc = mock(ProductCurator.class);
    ProductCachedSerializationModule productCachedModule = new ProductCachedSerializationModule(pc);
    su = new SyncUtils(config, productCachedModule);
    exportExtensionAdapter = mock(ExportExtensionAdapter.class);
    when(exportRules.canExport(any(Entitlement.class))).thenReturn(Boolean.TRUE);
}
Also used : PrincipalProvider(org.candlepin.guice.PrincipalProvider) ConsumerTypeCurator(org.candlepin.model.ConsumerTypeCurator) PKIUtility(org.candlepin.pki.PKIUtility) OwnerCurator(org.candlepin.model.OwnerCurator) RulesCurator(org.candlepin.model.RulesCurator) ExportRules(org.candlepin.policy.js.export.ExportRules) DistributorVersionCurator(org.candlepin.model.DistributorVersionCurator) CdnCurator(org.candlepin.model.CdnCurator) EntitlementCurator(org.candlepin.model.EntitlementCurator) EntitlementCertServiceAdapter(org.candlepin.service.EntitlementCertServiceAdapter) StandardTranslator(org.candlepin.dto.StandardTranslator) ProductServiceAdapter(org.candlepin.service.ProductServiceAdapter) ProductCachedSerializationModule(org.candlepin.jackson.ProductCachedSerializationModule) CandlepinCommonTestConfig(org.candlepin.config.CandlepinCommonTestConfig) ProductCurator(org.candlepin.model.ProductCurator) EnvironmentCurator(org.candlepin.model.EnvironmentCurator) Entitlement(org.candlepin.model.Entitlement) ExportExtensionAdapter(org.candlepin.service.ExportExtensionAdapter) Before(org.junit.Before)

Example 5 with ExportRules

use of org.candlepin.policy.js.export.ExportRules in project candlepin by candlepin.

the class ExporterTest method exportIdentityCertificate.

@Test
public void exportIdentityCertificate() throws Exception {
    config.setProperty(ConfigProperties.SYNC_WORK_DIR, "/tmp/");
    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");
    // specific to this test
    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);
    KeyPair keyPair = createKeyPair();
    when(consumer.getKeyPair()).thenReturn(keyPair);
    when(pki.getPemEncoded(keyPair.getPrivateKey())).thenReturn("privateKey".getBytes());
    when(pki.getPemEncoded(keyPair.getPublicKey())).thenReturn("publicKey".getBytes());
    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);
    // FINALLY test this badboy
    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);
    // VERIFY
    assertNotNull(export);
    assertTrue(export.exists());
    verifyContent(export, "export/upstream_consumer/10.pem", new VerifyIdentityCert("10.pem"));
}
Also used : KeyPair(org.candlepin.model.KeyPair) ZipInputStream(java.util.zip.ZipInputStream) FileInputStream(java.io.FileInputStream) InputStream(java.io.InputStream) CertificateSerial(org.candlepin.model.CertificateSerial) CandlepinQuery(org.candlepin.model.CandlepinQuery) Rules(org.candlepin.model.Rules) ExportRules(org.candlepin.policy.js.export.ExportRules) Date(java.util.Date) Consumer(org.candlepin.model.Consumer) ConsumerType(org.candlepin.model.ConsumerType) File(java.io.File) Principal(org.candlepin.auth.Principal) IdentityCertificate(org.candlepin.model.IdentityCertificate) MockResultIterator(org.candlepin.test.MockResultIterator) Test(org.junit.Test)

Aggregations

ExportRules (org.candlepin.policy.js.export.ExportRules)8 InputStream (java.io.InputStream)7 Date (java.util.Date)7 Rules (org.candlepin.model.Rules)7 File (java.io.File)6 FileInputStream (java.io.FileInputStream)6 ZipInputStream (java.util.zip.ZipInputStream)6 Principal (org.candlepin.auth.Principal)6 CandlepinQuery (org.candlepin.model.CandlepinQuery)6 CertificateSerial (org.candlepin.model.CertificateSerial)6 Consumer (org.candlepin.model.Consumer)6 IdentityCertificate (org.candlepin.model.IdentityCertificate)6 MockResultIterator (org.candlepin.test.MockResultIterator)6 Test (org.junit.Test)6 ConsumerType (org.candlepin.model.ConsumerType)5 KeyPair (org.candlepin.model.KeyPair)5 HashSet (java.util.HashSet)2 Entitlement (org.candlepin.model.Entitlement)2 Before (org.junit.Before)2 ArrayList (java.util.ArrayList)1