Skip to content

Commit

Permalink
[JENKINS-68008] Remove unnecessary usage of AHCUtils
Browse files Browse the repository at this point in the history
  • Loading branch information
Dohbedoh committed Mar 13, 2022
1 parent bc2f4e8 commit 5c35506
Show file tree
Hide file tree
Showing 3 changed files with 53 additions and 21 deletions.
6 changes: 0 additions & 6 deletions pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -118,12 +118,6 @@
<artifactId>metrics</artifactId>
<version>4.1.6.1</version>
</dependency>
<dependency>
<groupId>org.jenkins-ci.plugins</groupId>
<artifactId>async-http-client</artifactId>
<version>1.7.24.3</version>
<optional>true</optional>
</dependency>
<dependency>
<groupId>org.kohsuke</groupId>
<artifactId>wordnet-random-name</artifactId>
Expand Down
26 changes: 11 additions & 15 deletions src/main/java/com/cloudbees/jenkins/support/impl/UpdateCenter.java
Original file line number Diff line number Diff line change
Expand Up @@ -4,15 +4,15 @@
import com.cloudbees.jenkins.support.api.Container;
import com.cloudbees.jenkins.support.api.PrefilteredPrintedContent;
import com.cloudbees.jenkins.support.filter.ContentFilter;
import com.ning.http.client.ProxyServer;
import edu.umd.cs.findbugs.annotations.NonNull;
import hudson.Extension;
import hudson.ProxyConfiguration;
import hudson.model.UpdateSite;
import hudson.security.Permission;
import jenkins.model.Jenkins;
import jenkins.plugins.asynchttpclient.AHCUtils;

import java.io.PrintWriter;
import java.util.Arrays;
import java.util.Collections;
import java.util.Set;

Expand Down Expand Up @@ -55,12 +55,7 @@ public void printTo(PrintWriter out, ContentFilter filter) {

out.println("Last updated: " + updateCenter.getLastUpdatedString());

// Only do this part of the async-http-client plugin is installed.
if (Jenkins.get().getPlugin("async-http-client") != null) {
addProxyInformation(out, filter);
} else {
out.println("Proxy: 'async-http-client' not installed, so no proxy info available.");
}
addProxyInformation(out, filter);
} finally {
out.flush();
}
Expand All @@ -71,14 +66,15 @@ public void printTo(PrintWriter out, ContentFilter filter) {

private void addProxyInformation(PrintWriter out, ContentFilter filter) {
out.println("=== Proxy ===");
ProxyServer proxyServer = AHCUtils.getProxyServer();
if (proxyServer != null) {
out.println(" - Host: " + ContentFilter.filter(filter, proxyServer.getHost()));
out.println(" - Port: " + proxyServer.getPort());

ProxyConfiguration proxy = Jenkins.get().getProxy();
if (proxy != null) {
out.println(" - Host: " + ContentFilter.filter(filter, proxy.getName()));
out.println(" - Port: " + proxy.getPort());
out.println(" - No Proxy Hosts: ");
for (String noHost : proxyServer.getNonProxyHosts()) {
out.println(" * " + ContentFilter.filter(filter, noHost));
String noProxyHostsString = proxy.getNoProxyHost();
if(noProxyHostsString != null) {
Arrays.stream(noProxyHostsString.split("[ \t\n,|]+"))
.forEach(noProxyHost -> out.println(" * " + ContentFilter.filter(filter, noProxyHost)));
}
}
}
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,42 @@
package com.cloudbees.jenkins.support.impl;

import com.cloudbees.jenkins.support.SupportTestUtils;
import com.cloudbees.jenkins.support.api.Component;
import hudson.ExtensionList;
import hudson.ProxyConfiguration;
import org.junit.Rule;
import org.junit.Test;
import org.jvnet.hudson.test.Issue;
import org.jvnet.hudson.test.JenkinsRule;

import java.util.Arrays;
import java.util.List;
import java.util.Objects;

import static org.hamcrest.CoreMatchers.containsString;
import static org.hamcrest.CoreMatchers.not;
import static org.hamcrest.MatcherAssert.assertThat;

public class UpdateCenterTest {

@Rule
public JenkinsRule j = new JenkinsRule();

@Test
@Issue("JENKINS-68008")
public void testUpdateCenterProxyContent() {

List<String> noProxyHosts = Arrays.asList(".server.com", "*.example.com");
j.jenkins.get().setProxy(new ProxyConfiguration("proxy.server.com", 1234, "proxyUser", "proxyPass",
String.join("\n", noProxyHosts), "http://localhost:8080"));

String ucMdToString = SupportTestUtils.invokeComponentToString(Objects.requireNonNull(ExtensionList.lookup(Component.class).get(UpdateCenter.class)));
assertThat(ucMdToString, containsString(" - Host: proxy.server.com"));
assertThat(ucMdToString, containsString(" - Port: 1234"));
assertThat(ucMdToString, not(containsString("proxyUser")));
assertThat(ucMdToString, not(containsString("proxyPass")));
for (String noProxyHost : noProxyHosts) {
assertThat(ucMdToString, containsString(" * " + noProxyHost));
}
}
}

0 comments on commit 5c35506

Please sign in to comment.