1 package it.com.atlassian.httpclient.apache.httpcomponents;
2
3 import com.fasterxml.jackson.databind.JsonNode;
4 import com.fasterxml.jackson.databind.ObjectMapper;
5 import org.apache.http.HttpHost;
6 import org.apache.http.HttpResponse;
7 import org.apache.http.HttpStatus;
8 import org.apache.http.auth.AuthScope;
9 import org.apache.http.auth.UsernamePasswordCredentials;
10 import org.apache.http.client.AuthCache;
11 import org.apache.http.client.CredentialsProvider;
12 import org.apache.http.client.HttpClient;
13 import org.apache.http.client.methods.HttpGet;
14 import org.apache.http.client.protocol.HttpClientContext;
15 import org.apache.http.impl.auth.BasicScheme;
16 import org.apache.http.impl.client.BasicAuthCache;
17 import org.apache.http.impl.client.BasicCredentialsProvider;
18 import org.apache.http.impl.client.HttpClientBuilder;
19 import org.junit.Test;
20
21 import java.io.IOException;
22 import java.net.URI;
23
24 import static org.hamcrest.MatcherAssert.assertThat;
25 import static org.hamcrest.Matchers.is;
26
27
28
29
30 public class AsyncHttpClientPluginTest {
31 @Test
32 public void testPluginStarts() throws IOException {
33 String baseurl = System.getProperty("baseurl");
34 if (!baseurl.endsWith("/")) {
35 baseurl = baseurl + "/";
36 }
37
38 URI baseUri = URI.create(baseurl);
39 HttpHost httpHost = new HttpHost(baseUri.getHost(), baseUri.getPort(), baseUri.getScheme());
40 CredentialsProvider credentialsProvider = new BasicCredentialsProvider();
41 UsernamePasswordCredentials credentials = new UsernamePasswordCredentials("admin:admin");
42 credentialsProvider.setCredentials(AuthScope.ANY, credentials);
43
44 AuthCache authCache = new BasicAuthCache();
45 authCache.put(httpHost, new BasicScheme());
46
47 HttpClientContext context = HttpClientContext.create();
48 context.setAuthCache(authCache);
49 context.setCredentialsProvider(credentialsProvider);
50
51 HttpClient client = HttpClientBuilder.create().build();
52 URI pluginStateUri = baseUri.resolve("rest/plugins/1.0/com.atlassian.httpclient.atlassian-httpclient-plugin-key");
53 HttpGet request = new HttpGet(pluginStateUri);
54 HttpResponse response = client.execute(request, context);
55 assertThat(response.getStatusLine().getStatusCode(), is(HttpStatus.SC_OK));
56 ObjectMapper mapper = new ObjectMapper();
57 JsonNode root = mapper.readTree(response.getEntity().getContent());
58 assertThat("Expected plugin enabled: " + root, root.get("enabled").asBoolean(), is(true));
59 }
60 }