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

[JENKINS-53179] Extend env variable to facilitate the access to the BO URLs #24

Merged
merged 9 commits into from Jul 19, 2020
2 changes: 1 addition & 1 deletion pom.xml
Expand Up @@ -96,7 +96,7 @@
<dependency>
<groupId>org.jenkins-ci.plugins</groupId>
<artifactId>display-url-api</artifactId>
<version>2.3.2</version>
<version>2.3.3</version>
</dependency>
<dependency>
<groupId>org.jenkins-ci.plugins.workflow</groupId>
Expand Down
Expand Up @@ -79,6 +79,16 @@ public String getRunURL(Run<?, ?> run) {
return String.format("%sdetail/%s/%d/", jobURL, Util.rawEncode(job.getName()), run.getNumber());
}

@Override
@NonNull
public String getArtifactsURL(Run<?, ?> run) {
if (isSupported(run)) {
return getRunURL(run) + "artifacts";
} else {
return DisplayURLProvider.getDefault().getArtifactsURL(run);
}
}

@Override
@NonNull
public String getChangesURL(Run<?, ?> run) {
Expand All @@ -89,6 +99,16 @@ public String getChangesURL(Run<?, ?> run) {
}
}

@Override
@NonNull
public String getTestsURL(Run<?, ?> run) {
if (isSupported(run)) {
return getRunURL(run) + "tests";
} else {
return DisplayURLProvider.getDefault().getTestsURL(run);
}
}

@Override
@NonNull
public String getJobURL(Job<?, ?> job) {
Expand Down
Expand Up @@ -72,6 +72,7 @@ public void testProjectURL() throws Exception {
Assert.assertEquals("/jenkins/blue/organizations/jenkins/abc/", url);

}

@Test
public void testProjectURL_CustomOrganization() throws Exception {
FreeStyleProject p = orgFolder.createProject(FreeStyleProject.class, "abc");
Expand All @@ -92,9 +93,14 @@ public void testProjectInFolder() throws Exception {
url = getPath(displayURL.getRunURL(p.getLastBuild()));
Assert.assertEquals("/jenkins/blue/organizations/jenkins/test%2Fabc/detail/abc/1/", url);

url = getPath(displayURL.getArtifactsURL(p.getLastBuild()));
Assert.assertEquals("/jenkins/blue/organizations/jenkins/test%2Fabc/detail/abc/1/artifacts", url);

url = getPath(displayURL.getChangesURL(p.getLastBuild()));
Assert.assertEquals("/jenkins/blue/organizations/jenkins/test%2Fabc/detail/abc/1/changes", url);

url = getPath(displayURL.getTestsURL(p.getLastBuild()));
Assert.assertEquals("/jenkins/blue/organizations/jenkins/test%2Fabc/detail/abc/1/tests", url);
}

@Test
Expand All @@ -109,9 +115,14 @@ public void testProjectInFolder_CustomOrganization() throws Exception {
url = getPath(displayURL.getRunURL(p.getLastBuild()));
Assert.assertEquals("/jenkins/blue/organizations/TestOrg/test%2Fabc/detail/abc/1/", url);

url = getPath(displayURL.getArtifactsURL(p.getLastBuild()));
Assert.assertEquals("/jenkins/blue/organizations/TestOrg/test%2Fabc/detail/abc/1/artifacts", url);

url = getPath(displayURL.getChangesURL(p.getLastBuild()));
Assert.assertEquals("/jenkins/blue/organizations/TestOrg/test%2Fabc/detail/abc/1/changes", url);

url = getPath(displayURL.getTestsURL(p.getLastBuild()));
Assert.assertEquals("/jenkins/blue/organizations/TestOrg/test%2Fabc/detail/abc/1/tests", url);
}

@Test
Expand All @@ -129,8 +140,14 @@ public void testMultibranchUrls() throws Exception {

Assert.assertEquals("/jenkins/blue/organizations/jenkins/folder%2Ftest/detail/feature%2Ftest-1/1/", url);

url = getPath(displayURL.getArtifactsURL(job.getFirstBuild()));
Assert.assertEquals("/jenkins/blue/organizations/jenkins/folder%2Ftest/detail/feature%2Ftest-1/1/artifacts", url);

url = getPath(displayURL.getChangesURL(job.getFirstBuild()));
Assert.assertEquals("/jenkins/blue/organizations/jenkins/folder%2Ftest/detail/feature%2Ftest-1/1/changes", url);

url = getPath(displayURL.getTestsURL(job.getFirstBuild()));
Assert.assertEquals("/jenkins/blue/organizations/jenkins/folder%2Ftest/detail/feature%2Ftest-1/1/tests", url);
}

@Test
Expand All @@ -148,10 +165,15 @@ public void testMultibranchUrlsWithDisplayNameBranches() throws Exception {

Assert.assertEquals("/jenkins/blue/organizations/jenkins/folder%2Ftest/detail/feature%2Ftest-1/1/", url);

url = getPath(displayURL.getArtifactsURL(job.getFirstBuild()));
Assert.assertEquals("/jenkins/blue/organizations/jenkins/folder%2Ftest/detail/feature%2Ftest-1/1/artifacts", url);

url = getPath(displayURL.getChangesURL(job.getFirstBuild()));
Assert.assertEquals("/jenkins/blue/organizations/jenkins/folder%2Ftest/detail/feature%2Ftest-1/1/changes", url);
}

url = getPath(displayURL.getTestsURL(job.getFirstBuild()));
Assert.assertEquals("/jenkins/blue/organizations/jenkins/folder%2Ftest/detail/feature%2Ftest-1/1/tests", url);
}

@Test
public void testMultibranchUrls_CustomOrganization() throws Exception {
Expand All @@ -168,8 +190,14 @@ public void testMultibranchUrls_CustomOrganization() throws Exception {

Assert.assertEquals("/jenkins/blue/organizations/TestOrg/folder%2Ftest/detail/feature%2Ftest-1/1/", url);

url = getPath(displayURL.getArtifactsURL(job.getFirstBuild()));
Assert.assertEquals("/jenkins/blue/organizations/TestOrg/folder%2Ftest/detail/feature%2Ftest-1/1/artifacts", url);

url = getPath(displayURL.getChangesURL(job.getFirstBuild()));
Assert.assertEquals("/jenkins/blue/organizations/TestOrg/folder%2Ftest/detail/feature%2Ftest-1/1/changes", url);

url = getPath(displayURL.getTestsURL(job.getFirstBuild()));
Assert.assertEquals("/jenkins/blue/organizations/TestOrg/folder%2Ftest/detail/feature%2Ftest-1/1/tests", url);
}

MockFolder orgFolder;
Expand Down