package org.ovirt.engine.core.compat;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertNotEquals;
import org.junit.Test;
public class RpmVersionTest {
@Test
public void rpmVersionTest() {
assertEquals("2.3.235.0", new RpmVersion("rhev-agent-2.3.235-1.el6").getValue());
assertEquals("2.3.17.0", new RpmVersion("rhev-agent-2.3.17-1.el6").getValue());
assertEquals("2.133.4.5", new RpmVersion("glibc-devel-2.133.4.5-1.x86_64").getValue());
assertEquals("10.6.2.0", new RpmVersion("test-javadb-common-10.6.2-1.1.i386").getValue());
assertEquals("10.6.2.3", new RpmVersion("test-javadb-common-10.6.2.3.3-1.1.i386").getValue());
assertEquals(0, new RpmVersion("").getValue().length());
assertEquals(0, new RpmVersion(null).getValue().length());
}
@Test
public void agentVersionTest() {
assertEquals("2.3.395.0", new RpmVersion("RHEV-Agent 2.3.395", "RHEV-Agent", true).getValue());
assertEquals("2.2.0.0", new RpmVersion("rhev-agent-2.2-1.el6", "RHEV-Agent", true).getValue());
assertEquals("2.3.7.0", new RpmVersion("rhev-agent-2.3.7-1.el6", "RHEV-Agent", true).getValue());
assertEquals("2.3.7.10", new RpmVersion("rhev-agent-2.3.7.10-1.el6", "RHEV-Agent", true).getValue());
assertEquals("2.3.7.10", new RpmVersion("rhev-agent-2.3.7.10.3-1.el6", "RHEV-Agent", true).getValue());
assertEquals("2.3.7.10", new RpmVersion("rhev-agent-2.3.7.10.3-1.el6", "rhev-agent", false).getValue());
assertEquals("2.3.7.10", new RpmVersion("rhev-agent-2.3.7.10.3-1.el6", "RHEV-Agent", false).getValue());
assertNotEquals("0.0.0.0", new RpmVersion("rhev-agent-2.3.7.10.3-1.el6", "RHEV-Agent", false).getValue());
assertEquals(0, new RpmVersion("", "", false).getValue().length());
assertEquals(0, new RpmVersion(null, null, false).getValue().length());
}
@Test
public void caseSensitiveTest() {
RpmVersion version1 = new RpmVersion("rhev-agent-2.3.7.10.3-1.el6", "RHEV-Agent", false);
RpmVersion version2 = new RpmVersion("rhev-agent-2.3.7.10.3-1.el6", "RHEV-Agent", true);
assertEquals(version1, version2);
}
@Test
public void testRpmRelease() {
assertEquals("20130212.fc18.noarch",
new RpmVersion("ovirt-node-iso-2.6.0-20130212.fc18.noarch").getRpmRelease());
assertEquals("1.1.i386", new RpmVersion("test-javadb-common-10.2.2.2.2-1.1.i386").getRpmRelease());
assertEquals("2.3.10.4.fc18.x86_64",
new RpmVersion("java-1.7.0-openjdk-devel-1.7.0.25-2.3.10.4.fc18.x86_64").getRpmRelease());
assertEquals("1.el6", new RpmVersion("rhev-agent-2.3.7.10.3-1.el6", "RHEV-Agent", true).getRpmRelease());
assertEquals("1.el6", new RpmVersion("rhev-agent-2.3.7.10.3-1.el6", "rhev-agent", false).getRpmRelease());
}
@Test
public void equalTest() {
RpmVersion rpm1 = new RpmVersion("test-javadb-common-10.2.2.2.2-1.1.i386");
RpmVersion rpm2 = new RpmVersion("test-javadb-common-10.2.2.2.2-1.1.i386");
RpmVersion rpm3 = new RpmVersion("test-javadb-common-10.2.2.2.3-1.1.i386");
assertEquals(rpm1, rpm2);
assertEquals(rpm2, rpm1);
assertNotEquals(rpm2, rpm3);
assertNotEquals(rpm3, rpm2);
RpmVersion version1 = new RpmVersion("rhev-agent-2.3.7.10.3-1.el6", "RHEV-Agent", false);
RpmVersion version2 = new RpmVersion("rhev-agent-2.3.7.10.3-2.el6", "RHEV-Agent", false);
assertNotEquals(version1, version2);
RpmVersion version3 = new RpmVersion("rhev-agent-2.3.7.10.3-1.el6", "", false);
RpmVersion version4 = new RpmVersion("rhev-agent-2.3.7.10.3-1.el6", null, false);
assertEquals(version3, version4);
RpmVersion version5 = new RpmVersion(null, null, false);
RpmVersion version6 = new RpmVersion(null, null, false);
assertEquals(version5, version6);
}
}