package org.ovirt.engine.core.utils;
import static org.assertj.core.api.Assertions.assertThat;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.junit.runners.Parameterized;
import org.ovirt.engine.core.compat.Version;
@RunWith(Parameterized.class)
public class OSParserTest {
private Version version;
private String name;
private String fullVersion;
public OSParserTest(String name, int major, int minor, int release, int build, String fullVersion) {
this.name = name;
this.version = new Version(major, minor, release, build);
this.fullVersion = fullVersion;
}
@Test
public void verifyOsFormatCanBeParsed() {
final OS validOs = OS.fromPackageVersionString(name);
assertThat(validOs.isValid()).isTrue();
assertThat(validOs.getVersion()).isEqualTo(version);
assertThat(validOs.getFullVersion()).isEqualTo(fullVersion);
}
@Parameterized.Parameters
public static Object[][] namesParams() {
return new Object[][] {
{ "RHEL - 7.2 - 9.el7", 7, 2, -1, -1, "7.2 - 9.el7" },
{ "RHEL - 7 - 1.1503.el7.centos.2.8", 7, -1, -1, -1, "7 - 1.1503.el7.centos.2.8" },
{ "oVirt Node - 3.6 - 0.999.201608161021.el7.centos", 3, 6, -1, -1,
"3.6 - 0.999.201608161021.el7.centos" },
{ "RHEV Hypervisor - 7.2 - 20160711.0.el7ev", 7, 2, -1, -1, "7.2 - 20160711.0.el7ev" },
{ "Fedora - 19 - 1", 19, 1, -1, -1, "19 - 1" },
};
}
}