View Javadoc

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   * Tests that we can start the plugin.
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  }