package org.axway.grapes.server.core.options.filters; import org.axway.grapes.server.GrapesTestUtils; import org.axway.grapes.server.db.datamodel.DbArtifact; import org.axway.grapes.server.db.datamodel.DbDependency; import org.axway.grapes.server.db.datamodel.DbModule; import org.axway.grapes.server.db.datamodel.DbOrganization; import org.junit.Test; import java.util.Map; import static junit.framework.TestCase.*; public class CorporateFilterTest { @Test public void checkFilterModuleThatHasNoArtifactAndWhichIsNotCorporate(){ final DbOrganization organization = new DbOrganization(); organization.setName("testOrganization"); organization.getCorporateGroupIdPrefixes().add(GrapesTestUtils.CORPORATE_GROUPID_4TEST); final CorporateFilter filter = new CorporateFilter(organization); final DbModule module = new DbModule(); module.setName("module"); module.setVersion("1.0.0"); assertFalse(filter.filter(module)); } @Test public void checkFilterModuleThatHasNoArtifactAndWhichIsCorporate(){ final DbOrganization organization = new DbOrganization(); organization.setName("testOrganization"); organization.getCorporateGroupIdPrefixes().add(GrapesTestUtils.CORPORATE_GROUPID_4TEST); final CorporateFilter filter = new CorporateFilter(organization); final DbModule module = new DbModule(); module.setName(GrapesTestUtils.CORPORATE_GROUPID_4TEST+":module"); module.setVersion("1.0.0"); assertTrue(filter.filter(module)); } @Test public void checkFilterModuleWithAnArtifactAndWhichIsNotCorporate(){ final DbOrganization organization = new DbOrganization(); organization.setName("testOrganization"); organization.getCorporateGroupIdPrefixes().add(GrapesTestUtils.CORPORATE_GROUPID_4TEST); final CorporateFilter filter = new CorporateFilter(organization); final DbModule module = new DbModule(); module.setName("module"); module.setVersion("1.0.0"); module.getArtifacts().add("org.apache.something.module:test:1.0.0::jar"); assertFalse(filter.filter(module)); } @Test public void checkFilterModuleWithAnArtifactAndWhichIsCorporate(){ final DbOrganization organization = new DbOrganization(); organization.setName("testOrganization"); organization.getCorporateGroupIdPrefixes().add(GrapesTestUtils.CORPORATE_GROUPID_4TEST); final CorporateFilter filter = new CorporateFilter(organization); final DbModule module = new DbModule(); module.setName("module"); module.setVersion("1.0.0"); module.getArtifacts().add(GrapesTestUtils.CORPORATE_GROUPID_4TEST + ".module:test:1.0.0::jar"); assertTrue(filter.filter(module)); } @Test public void checkFilterArtifactWhichIsNotCorporate(){ final DbOrganization organization = new DbOrganization(); organization.setName("testOrganization"); organization.getCorporateGroupIdPrefixes().add(GrapesTestUtils.CORPORATE_GROUPID_4TEST); final CorporateFilter filter = new CorporateFilter(organization); final DbArtifact artifact = new DbArtifact(); artifact.setGroupId("org.apache.something"); assertFalse(filter.filter(artifact)); } @Test public void checkFilterArtifactWhichIsCorporate(){ final DbOrganization organization = new DbOrganization(); organization.setName("testOrganization"); organization.getCorporateGroupIdPrefixes().add(GrapesTestUtils.CORPORATE_GROUPID_4TEST); final CorporateFilter filter = new CorporateFilter(organization); final DbArtifact artifact = new DbArtifact(); artifact.setGroupId(GrapesTestUtils.CORPORATE_GROUPID_4TEST); assertTrue(filter.filter(artifact)); } @Test public void checkFilterDependencyWhichIsNotCorporate(){ final DbOrganization organization = new DbOrganization(); organization.setName("testOrganization"); organization.getCorporateGroupIdPrefixes().add(GrapesTestUtils.CORPORATE_GROUPID_4TEST); final CorporateFilter filter = new CorporateFilter(organization); final DbDependency dependency = new DbDependency(); dependency.setTarget("com.company.all:test:1.0.0::"); assertFalse(filter.filter(dependency)); } @Test public void checkFilterDependencyWhichIsCorporate(){ final DbOrganization organization = new DbOrganization(); organization.setName("testOrganization"); organization.getCorporateGroupIdPrefixes().add(GrapesTestUtils.CORPORATE_GROUPID_4TEST); final CorporateFilter filter = new CorporateFilter(organization); final DbDependency dependency = new DbDependency(); dependency.setTarget(GrapesTestUtils.CORPORATE_GROUPID_4TEST + ":test:1.0.0::"); assertTrue(filter.filter(dependency)); } @Test public void checkMongoRegExpGenerationForArtifacts(){ final DbOrganization organization = new DbOrganization(); organization.setName("testOrganization"); organization.getCorporateGroupIdPrefixes().add(GrapesTestUtils.CORPORATE_GROUPID_4TEST); organization.getCorporateGroupIdPrefixes().add("my.corporate.gid"); final CorporateFilter filter = new CorporateFilter(organization); Map<String, Object> params = filter.artifactFilterFields(); assertNotNull(params); assertEquals(1, params.size()); assertEquals(DbArtifact.GROUPID_DB_FIELD, params.keySet().iterator().next()); assertEquals(GrapesTestUtils.CORPORATE_GROUPID_4TEST + "*|my.corporate.gid*", params.values().iterator().next().toString()); } @Test public void checkMongoRegExpGenerationForModules(){ final DbOrganization organization = new DbOrganization(); organization.setName("testOrganization"); organization.getCorporateGroupIdPrefixes().add(GrapesTestUtils.CORPORATE_GROUPID_4TEST); final CorporateFilter filter = new CorporateFilter(organization); Map<String, Object> params = filter.moduleFilterFields(); assertNotNull(params); assertEquals(1, params.size()); assertEquals(DbModule.ORGANIZATION_DB_FIELD, params.keySet().iterator().next()); assertEquals(organization.getName(), params.values().iterator().next()); } }