package org.axway.grapes.server.db; import org.axway.grapes.commons.datamodel.*; 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.junit.Test; import java.util.List; import java.util.Set; import static org.junit.Assert.assertEquals; public class DataUtilsTest { @Test public void getAllDbArtifacts(){ final DbModule module = new DbModule(); module.addArtifact(new DbArtifact()); final DbModule submodule1 = new DbModule(); submodule1.addArtifact(new DbArtifact()); final DbModule submodule2 = new DbModule(); submodule2.addArtifact(new DbArtifact()); submodule1.addSubmodule(submodule2); module.addSubmodule(submodule1); final List<String> gavcs = DataUtils.getAllArtifacts(module); assertEquals(3, gavcs.size()); } @Test public void getAllArtifacts(){ final Module module = DataModelFactory.createModule("root", "1"); module.addArtifact(DataModelFactory.createArtifact("gr1","art1","123","","","")); final Module submodule1 = DataModelFactory.createModule("sub1", "1"); submodule1.addArtifact(DataModelFactory.createArtifact("gr2","art2","321","","","")); final Module submodule2 = DataModelFactory.createModule("sub2", "1"); submodule2.addArtifact(DataModelFactory.createArtifact("gr3","art3","456","","","")); submodule1.addSubmodule(submodule2); module.addSubmodule(submodule1); final Set<Artifact> artifacts = DataUtils.getAllArtifacts(module); assertEquals(3, artifacts.size()); } @Test public void getAllDependencies(){ final Module module = DataModelFactory.createModule("root", "1"); module.addDependency(DataModelFactory.createDependency(DataModelFactory.createArtifact("gr1", "art1", "123", "", "", ""), Scope.SYSTEM)); final Module submodule1 = DataModelFactory.createModule("sub1", "1"); submodule1.addDependency(DataModelFactory.createDependency(DataModelFactory.createArtifact("gr2", "art2", "123", "", "", ""), Scope.SYSTEM)); final Module submodule2 = DataModelFactory.createModule("sub2", "1"); submodule2.addDependency(DataModelFactory.createDependency(DataModelFactory.createArtifact("gr3", "art3", "123", "", "", ""), Scope.SYSTEM)); submodule1.addSubmodule(submodule2); module.addSubmodule(submodule1); final Set<Dependency> dependencies = DataUtils.getAllDependencies(module); assertEquals(3, dependencies.size()); } @Test public void getAllDbDependencies(){ final DbModule module = new DbModule(); module.addDependency("", Scope.TEST); final DbModule submodule1 = new DbModule(); submodule1.addDependency("", Scope.TEST); final DbModule submodule2 = new DbModule(); submodule2.addDependency("", Scope.TEST); submodule1.addSubmodule(submodule2); module.addSubmodule(submodule1); final List<DbDependency> dependencies = DataUtils.getAllDbDependencies(module); assertEquals(3, dependencies.size()); } @Test public void getModuleName(){ assertEquals("", DataUtils.getModuleName(":123")); assertEquals("modulename", DataUtils.getModuleName("modulename:")); assertEquals("modulename", DataUtils.getModuleName("modulename:123")); assertEquals("module", DataUtils.getModuleName("module:name:123")); assertEquals("modulename123", DataUtils.getModuleName("modulename123")); } @Test public void getModuleVersion(){ assertEquals("123", DataUtils.getModuleVersion(":123")); assertEquals("", DataUtils.getModuleVersion("modulename:")); assertEquals("123", DataUtils.getModuleVersion("modulename:123")); assertEquals("123", DataUtils.getModuleVersion("module:name:123")); assertEquals("modulename123", DataUtils.getModuleVersion("modulename123")); } @Test public void getArtifactFromGavc(){ DbArtifact artifact = DataUtils.createDbArtifact("groupId:artifactId:1.0.0:classifier:extension"); assertEquals("groupId", artifact.getGroupId()); assertEquals("artifactId", artifact.getArtifactId()); assertEquals("1.0.0", artifact.getVersion()); assertEquals("classifier", artifact.getClassifier()); assertEquals("extension", artifact.getExtension()); artifact = DataUtils.createDbArtifact("groupId:artifactId:1.0.0::"); assertEquals("groupId", artifact.getGroupId()); assertEquals("artifactId", artifact.getArtifactId()); assertEquals("1.0.0", artifact.getVersion()); assertEquals("", artifact.getClassifier()); assertEquals("", artifact.getExtension()); } @Test public void getModulesSubmodules(){ DbModule module = new DbModule(); assertEquals(0, DataUtils.getAllSubmodules(module).size()); DbModule submodule1 = new DbModule(); module.addSubmodule(submodule1); DbModule submodule2 = new DbModule(); module.addSubmodule(submodule2); assertEquals(2, DataUtils.getAllSubmodules(module).size()); DbModule subsubmodule = new DbModule(); submodule1.addSubmodule(subsubmodule); assertEquals(3, DataUtils.getAllSubmodules(module).size()); } @Test public void getGroupIdFromGavc(){ final String gavc1 = "groupId:artifactId:version:classifier:extension"; final String gavc2 = "test"; assertEquals("groupId", DataUtils.getGroupId(gavc1)); assertEquals("test", DataUtils.getGroupId(gavc2)); } }