Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Replace similar OS EoL tests with @ParameterizedTests #8153

Merged
merged 5 commits into from
Jul 5, 2023
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,11 @@
import java.io.File;
import java.io.IOException;
import java.util.Random;
import java.util.stream.Stream;
import org.junit.Test;
import org.junit.jupiter.params.ParameterizedTest;
import org.junit.jupiter.params.provider.Arguments;
import org.junit.jupiter.params.provider.MethodSource;

public class OperatingSystemEndOfLifeAdminMonitorTest {

Expand Down Expand Up @@ -105,106 +109,33 @@ private String docsUrl(String component) {
return "https://www.jenkins.io/redirect/operating-system-end-of-life?q=" + component;
}

@Test
public void testReadDocumentationUrlAlma8() throws Exception {
File releaseFile = new File(this.getClass().getResource("os-release-alma-8").toURI());
assertThat(monitor.readDocumentationUrl(releaseFile, "AlmaLinux.* 8"), is(docsUrl("AlmaLinux-8.7-Stone-Smilodon")));
}

@Test
public void testReadDocumentationUrlAlpine314() throws Exception {
File releaseFile = new File(this.getClass().getResource("os-release-alpine-3.14").toURI());
assertThat(monitor.readDocumentationUrl(releaseFile, "Alpine Linux v3.14"), is(docsUrl("Alpine-Linux-v3.14")));
}

@Test
public void testReadDocumentationUrlAlpine315() throws Exception {
File releaseFile = new File(this.getClass().getResource("os-release-alpine-3.15").toURI());
assertThat(monitor.readDocumentationUrl(releaseFile, "Alpine Linux v3.15"), is(docsUrl("Alpine-Linux-v3.15")));
}

@Test
public void testReadDocumentationUrlAlpine316() throws Exception {
File releaseFile = new File(this.getClass().getResource("os-release-alpine-3.16").toURI());
assertThat(monitor.readDocumentationUrl(releaseFile, "Alpine Linux v3.16"), is(docsUrl("Alpine-Linux-v3.16")));
}

@Test
public void testReadDocumentationUrlAlpine317() throws Exception {
File releaseFile = new File(this.getClass().getResource("os-release-alpine-3.17").toURI());
assertThat(monitor.readDocumentationUrl(releaseFile, "Alpine Linux v3.17"), is(docsUrl("Alpine-Linux-v3.17")));
}

@Test
public void testReadDocumentationUrlAlpine318() throws Exception {
File releaseFile = new File(this.getClass().getResource("os-release-alpine-3.18").toURI());
assertThat(monitor.readDocumentationUrl(releaseFile, "Alpine Linux v3.18"), is(docsUrl("Alpine-Linux-v3.18")));
}

@Test
public void testReadDocumentationUrlCentOS7() throws Exception {
File releaseFile = new File(this.getClass().getResource("os-release-centos-7").toURI());
assertThat(monitor.readDocumentationUrl(releaseFile, "CentOS Linux.* 7"), is(docsUrl("CentOS-Linux-7-Core")));
}

@Test
public void testReadDocumentationUrlDebian10() throws Exception {
File releaseFile = new File(this.getClass().getResource("os-release-debian-10").toURI());
assertThat(monitor.readDocumentationUrl(releaseFile, "Debian.* 10"), is(docsUrl("Debian-GNU-Linux-10-buster")));
}

@Test
public void testReadDocumentationUrlFedora36() throws Exception {
File releaseFile = new File(this.getClass().getResource("os-release-fedora-36").toURI());
assertThat(monitor.readDocumentationUrl(releaseFile, "Fedora.* 36"), is(docsUrl("Fedora-Linux-36-Container-Image")));
}

@Test
public void testReadDocumentationUrlFedora37() throws Exception {
File releaseFile = new File(this.getClass().getResource("os-release-fedora-37").toURI());
assertThat(monitor.readDocumentationUrl(releaseFile, "Fedora.* 37"), is(docsUrl("Fedora-Linux-37-Container-Image")));
}

@Test
public void testReadDocumentationUrlOracle7() throws Exception {
File releaseFile = new File(this.getClass().getResource("os-release-oracle-7").toURI());
assertThat(monitor.readDocumentationUrl(releaseFile, "Oracle Linux.* 7"), is(docsUrl("Oracle-Linux-Server-7.9")));
}

@Test
public void testReadDocumentationUrlOracle8() throws Exception {
File releaseFile = new File(this.getClass().getResource("os-release-oracle-8").toURI());
assertThat(monitor.readDocumentationUrl(releaseFile, "Oracle Linux.* 8"), is(docsUrl("Oracle-Linux-Server-8.7")));
}

@Test
public void testReadDocumentationUrlRedHat7() throws Exception {
File releaseFile = new File(this.getClass().getResource("os-release-redhat-7").toURI());
assertThat(monitor.readDocumentationUrl(releaseFile, "Red Hat Enterprise Linux.* 7"), is(docsUrl("Red-Hat-Enterprise-Linux-Server-7.9-Maipo")));
}

@Test
public void testReadDocumentationUrlRedHat8() throws Exception {
File releaseFile = new File(this.getClass().getResource("os-release-redhat-8").toURI());
assertThat(monitor.readDocumentationUrl(releaseFile, "Red Hat Enterprise Linux.* 8"), is(docsUrl("Red-Hat-Enterprise-Linux-8.8-Ootpa")));
}

@Test
public void testReadDocumentationUrlRocky8() throws Exception {
File releaseFile = new File(this.getClass().getResource("os-release-rocky-8").toURI());
assertThat(monitor.readDocumentationUrl(releaseFile, "Rocky Linux.* 8"), is(docsUrl("Rocky-Linux-8.7-Green-Obsidian")));
}

@Test
public void testReadDocumentationUrlScientific7() throws Exception {
File releaseFile = new File(this.getClass().getResource("os-release-scientific-7").toURI());
assertThat(monitor.readDocumentationUrl(releaseFile, "Scientific Linux.* 7"), is(docsUrl("Scientific-Linux-7.9-Nitrogen")));
}

@Test
public void testReadDocumentationUrlUbuntu18() throws Exception {
File releaseFile = new File(this.getClass().getResource("os-release-ubuntu-18.04").toURI());
assertThat(monitor.readDocumentationUrl(releaseFile, "Ubuntu.* 18"), is(docsUrl("Ubuntu-18.04.6-LTS")));
private static Stream<Arguments> testReadDocumentationUrls() {
return Stream.of(
Arguments.of("os-release-alma-8", "AlmaLinux.* 8", "AlmaLinux-8.7-Stone-Smilodon"),
Arguments.of("os-release-alpine-3.14", "Alpine Linux v3.14", "Alpine-Linux-v3.14"),
Arguments.of("os-release-alpine-3.15", "Alpine Linux v3.15", "Alpine-Linux-v3.15"),
Arguments.of("os-release-alpine-3.16", "Alpine Linux v3.16", "Alpine-Linux-v3.16"),
Arguments.of("os-release-alpine-3.17", "Alpine Linux v3.17", "Alpine-Linux-v3.17"),
Arguments.of("os-release-alpine-3.18", "Alpine Linux v3.18", "Alpine-Linux-v3.18"),
Arguments.of("os-release-centos-7", "CentOS Linux.* 7", "CentOS-Linux-7-Core"),
Arguments.of("os-release-debian-10", "Debian.* 10", "Debian-GNU-Linux-10-buster"),
Arguments.of("os-release-fedora-36", "Fedora.* 36", "Fedora-Linux-36-Container-Image"),
Arguments.of("os-release-fedora-37", "Fedora.* 37", "Fedora-Linux-37-Container-Image"),
Arguments.of("os-release-oracle-7", "Oracle Linux.* 7", "Oracle-Linux-Server-7.9"),
Arguments.of("os-release-oracle-8", "Oracle Linux.* 8", "Oracle-Linux-Server-8.7"),
Arguments.of("os-release-redhat-7", "Red Hat Enterprise Linux.* 7", "Red-Hat-Enterprise-Linux-Server-7.9-Maipo"),
Arguments.of("os-release-redhat-8", "Red Hat Enterprise Linux.* 8", "Red-Hat-Enterprise-Linux-8.8-Ootpa"),
Arguments.of("os-release-rocky-8", "Rocky Linux.* 8", "Rocky-Linux-8.7-Green-Obsidian"),
Arguments.of("os-release-scientific-7", "Scientific Linux.* 7", "Scientific-Linux-7.9-Nitrogen"),
Arguments.of("os-release-ubuntu-18.04", "Ubuntu.* 18", "Ubuntu-18.04.6-LTS")
);
}

@ParameterizedTest
@MethodSource
public void testReadDocumentationUrls(String fileName, String pattern, String component) throws Exception {
File releaseFile = new File(this.getClass().getResource(fileName).toURI());
assertThat(monitor.readDocumentationUrl(releaseFile, pattern), is(docsUrl(component)));
}

@Test
Expand All @@ -225,110 +156,37 @@ public void testReadOperatingSystemListNoPattern() {
assertThat(e.getMessage(), is("Missing pattern in definition file"));
}

@Test
public void testReadOperatingSystemNameAlma8() throws Exception {
File releaseFile = new File(this.getClass().getResource("os-release-alma-8").toURI());
assertThat(monitor.readOperatingSystemName(releaseFile, "AlmaLinux.* 8"), is("AlmaLinux 8.7 (Stone Smilodon)"));
}

@Test
public void testReadOperatingSystemNameAlpine314() throws Exception {
File releaseFile = new File(this.getClass().getResource("os-release-alpine-3.14").toURI());
assertThat(monitor.readOperatingSystemName(releaseFile, "Alpine Linux v3.14"), is("Alpine Linux v3.14"));
}

@Test
public void testReadOperatingSystemNameAlpine315() throws Exception {
File releaseFile = new File(this.getClass().getResource("os-release-alpine-3.15").toURI());
assertThat(monitor.readOperatingSystemName(releaseFile, "Alpine Linux v3.15"), is("Alpine Linux v3.15"));
}

@Test
public void testReadOperatingSystemNameAlpine316() throws Exception {
File releaseFile = new File(this.getClass().getResource("os-release-alpine-3.16").toURI());
assertThat(monitor.readOperatingSystemName(releaseFile, "Alpine Linux v3.16"), is("Alpine Linux v3.16"));
}

@Test
public void testReadOperatingSystemNameAlpine317() throws Exception {
File releaseFile = new File(this.getClass().getResource("os-release-alpine-3.17").toURI());
assertThat(monitor.readOperatingSystemName(releaseFile, "Alpine Linux v3.17"), is("Alpine Linux v3.17"));
}

@Test
public void testReadOperatingSystemNameAlpine318() throws Exception {
File releaseFile = new File(this.getClass().getResource("os-release-alpine-3.18").toURI());
assertThat(monitor.readOperatingSystemName(releaseFile, "Alpine Linux v3.18"), is("Alpine Linux v3.18"));
}

@Test
public void testReadOperatingSystemNameCentOS7() throws Exception {
File releaseFile = new File(this.getClass().getResource("os-release-centos-7").toURI());
assertThat(monitor.readOperatingSystemName(releaseFile, "CentOS Linux.* 7"), is("CentOS Linux 7 (Core)"));
}

@Test
public void testReadOperatingSystemNameDebian10() throws Exception {
File releaseFile = new File(this.getClass().getResource("os-release-debian-10").toURI());
assertThat(monitor.readOperatingSystemName(releaseFile, "Debian.* 10"), is("Debian GNU/Linux 10 (buster)"));
}

@Test
public void testReadOperatingSystemNameFedora36() throws Exception {
File releaseFile = new File(this.getClass().getResource("os-release-fedora-36").toURI());
assertThat(monitor.readOperatingSystemName(releaseFile, "Fedora.* 36"), is("Fedora Linux 36 (Container Image)"));
}

@Test
public void testReadOperatingSystemNameFedora37() throws Exception {
File releaseFile = new File(this.getClass().getResource("os-release-fedora-37").toURI());
assertThat(monitor.readOperatingSystemName(releaseFile, "Fedora.* 37"), is("Fedora Linux 37 (Container Image)"));
private static Stream<Arguments> testReadOperatingSystemNames() {
return Stream.of(
Arguments.of("os-release-alma-8", "AlmaLinux.* 8", "AlmaLinux 8.7 (Stone Smilodon)"),
Arguments.of("os-release-alpine-3.14", "Alpine Linux v3.14", "Alpine Linux v3.14"),
Arguments.of("os-release-alpine-3.15", "Alpine Linux v3.15", "Alpine Linux v3.15"),
Arguments.of("os-release-alpine-3.16", "Alpine Linux v3.16", "Alpine Linux v3.16"),
Arguments.of("os-release-alpine-3.17", "Alpine Linux v3.17", "Alpine Linux v3.17"),
Arguments.of("os-release-alpine-3.18", "Alpine Linux v3.18", "Alpine Linux v3.18"),
Arguments.of("os-release-centos-7", "CentOS Linux.* 7", "CentOS Linux 7 (Core)"),
Arguments.of("os-release-debian-10", "Debian.* 10", "Debian GNU/Linux 10 (buster)"),
Arguments.of("os-release-fedora-36", "Fedora.* 36", "Fedora Linux 36 (Container Image)"),
Arguments.of("os-release-fedora-37", "Fedora.* 37", "Fedora Linux 37 (Container Image)"),
Arguments.of("os-release-oracle-7", "Oracle Linux.* 7", "Oracle Linux Server 7.9"),
Arguments.of("os-release-oracle-8", "Oracle Linux.* 8", "Oracle Linux Server 8.7"),
Arguments.of("os-release-redhat-7", "Red Hat Enterprise Linux.* 7", "Red Hat Enterprise Linux Server 7.9 (Maipo)"),
Arguments.of("os-release-redhat-8", "Red Hat Enterprise Linux.* 8", "Red Hat Enterprise Linux 8.8 (Ootpa)"),
Arguments.of("os-release-rocky-8", "Rocky Linux.* 8", "Rocky Linux 8.7 (Green Obsidian)"),
Arguments.of("os-release-scientific-7", "Scientific Linux.* 7", "Scientific Linux 7.9 (Nitrogen)"),
Arguments.of("os-release-ubuntu-18.04", "Ubuntu.* 18", "Ubuntu 18.04.6 LTS")
);
}

@ParameterizedTest
@MethodSource
public void testReadOperatingSystemNames(String fileName, String pattern, String job) throws Exception {
File releaseFile = new File(this.getClass().getResource(fileName).toURI());
assertThat(monitor.readOperatingSystemName(releaseFile, pattern), is(job));
}

@Test
public void testReadOperatingSystemNameMissingFile() {
assertThat(monitor.readOperatingSystemName(new File("/this/file/does/not/exist"), ".*"), is(""));
}

@Test
public void testReadOperatingSystemNameOracle7() throws Exception {
File releaseFile = new File(this.getClass().getResource("os-release-oracle-7").toURI());
assertThat(monitor.readOperatingSystemName(releaseFile, "Oracle Linux.* 7"), is("Oracle Linux Server 7.9"));
}

@Test
public void testReadOperatingSystemNameOracle8() throws Exception {
File releaseFile = new File(this.getClass().getResource("os-release-oracle-8").toURI());
assertThat(monitor.readOperatingSystemName(releaseFile, "Oracle Linux.* 8"), is("Oracle Linux Server 8.7"));
}

@Test
public void testReadOperatingSystemNameRedHat7() throws Exception {
File releaseFile = new File(this.getClass().getResource("os-release-redhat-7").toURI());
assertThat(monitor.readOperatingSystemName(releaseFile, "Red Hat Enterprise Linux.* 7"), is("Red Hat Enterprise Linux Server 7.9 (Maipo)"));
}

@Test
public void testReadOperatingSystemNameRedHat8() throws Exception {
File releaseFile = new File(this.getClass().getResource("os-release-redhat-8").toURI());
assertThat(monitor.readOperatingSystemName(releaseFile, "Red Hat Enterprise Linux.* 8"), is("Red Hat Enterprise Linux 8.8 (Ootpa)"));
}

@Test
public void testReadOperatingSystemNameRocky8() throws Exception {
File releaseFile = new File(this.getClass().getResource("os-release-rocky-8").toURI());
assertThat(monitor.readOperatingSystemName(releaseFile, "Rocky Linux.* 8"), is("Rocky Linux 8.7 (Green Obsidian)"));
}

@Test
public void testReadOperatingSystemNameScientific7() throws Exception {
File releaseFile = new File(this.getClass().getResource("os-release-scientific-7").toURI());
assertThat(monitor.readOperatingSystemName(releaseFile, "Scientific Linux.* 7"), is("Scientific Linux 7.9 (Nitrogen)"));
}

@Test
public void testReadOperatingSystemNameUbuntu18() throws Exception {
File releaseFile = new File(this.getClass().getResource("os-release-ubuntu-18.04").toURI());
assertThat(monitor.readOperatingSystemName(releaseFile, "Ubuntu.* 18"), is("Ubuntu 18.04.6 LTS"));
}
}