package org.axway.grapes.server.db.datamodel;
import org.axway.grapes.commons.datamodel.Scope;
import org.junit.Test;
import static org.junit.Assert.assertEquals;
public class DbModuleTest {
@Test
public void checkUID() {
DbModule module = new DbModule();
module.setName("module");
module.setVersion("1.0.0-2");
assertEquals("module:1.0.0-2", module.getId());
}
@Test
public void checkStaticGenerationOfUID() {
DbModule module = new DbModule();
module.setName("module");
module.setVersion("1.0.0-2");
assertEquals(module.getId(), DbModule.generateID(module.getName(), module.getVersion()));
}
@Test
public void checkToString() {
DbModule module = new DbModule();
module.setName("module");
module.setVersion("1.0.0-2");
assertEquals("Name: module, Version: 1.0.0-2", module.toString());
}
@Test
public void checkArtifactManagement() {
DbModule module = new DbModule();
DbArtifact artifact = new DbArtifact();
artifact.setGroupId("com.axway.test");
artifact.setArtifactId("UidTest");
artifact.setVersion("1.0.0-SNAPSHOT");
artifact.setClassifier("win");
artifact.setType("jar");
assertEquals(0, module.getArtifacts().size());
module.addArtifact(artifact);
assertEquals(1, module.getArtifacts().size());
assertEquals(artifact.getGavc(), module.getArtifacts().get(0));
module.flushArtifacts();
assertEquals(0, module.getArtifacts().size());
}
@Test
public void checkDependencyManagement() {
DbModule module = new DbModule();
module.addDependency("test", Scope.COMPILE);
assertEquals(1, module.getDependencies().size());
assertEquals("test", module.getDependencies().get(0).getTarget());
assertEquals(Scope.COMPILE, module.getDependencies().get(0).getScope());
module.flushDependencies();
assertEquals(0, module.getDependencies().size());
}
@Test
public void checkSubmoduleManagement() {
DbModule module = new DbModule();
DbModule module2 = new DbModule();
module2.setName("name");
module2.setVersion("1.0.0-3");
module.addSubmodule(module2);
assertEquals(1, module.getSubmodules().size());
assertEquals(module2, module.getSubmodules().get(0));
module.flushSubmodules();
assertEquals(0, module.getSubmodules().size());
}
@Test
public void checkUpdateHasAndUse(){
final DbModule module = new DbModule();
final DbArtifact artifact = new DbArtifact();
artifact.setGroupId("groupId");
artifact.setArtifactId("artifactId");
artifact.setVersion("1");
module.addArtifact(artifact);
module.addDependency("target1", Scope.COMPILE);
final DbModule submodule = new DbModule();
final DbArtifact artifact2 = new DbArtifact();
artifact2.setGroupId("groupId2");
artifact2.setArtifactId("artifactId2");
artifact2.setVersion("1");
submodule.addArtifact(artifact2);
submodule.addDependency("target2", Scope.COMPILE);
module.addSubmodule(submodule);
module.updateHasAndUse();
assertEquals(2, module.getHas().size());
assertEquals(2, module.getUses().size());
}
}