Search in sources :

Example 51 with HttpGet

use of org.apache.http.client.methods.HttpGet in project nanohttpd by NanoHttpd.

the class TestHttpServer method doSomeBasicTest.

@Test
public void doSomeBasicTest() throws Exception {
    CloseableHttpClient httpclient = HttpClients.createDefault();
    HttpGet httpget = new HttpGet("http://localhost:9090/testdir/test.html");
    CloseableHttpResponse response = httpclient.execute(httpget);
    HttpEntity entity = response.getEntity();
    String string = new String(readContents(entity), "UTF-8");
    Assert.assertEquals("<html>\n<head>\n<title>dummy</title>\n</head>\n<body>\n\t<h1>it works</h1>\n</body>\n</html>", string);
    response.close();
    httpget = new HttpGet("http://localhost:9090/");
    response = httpclient.execute(httpget);
    entity = response.getEntity();
    string = new String(readContents(entity), "UTF-8");
    Assert.assertTrue(string.indexOf("testdir") > 0);
    response.close();
    httpget = new HttpGet("http://localhost:9090/testdir");
    response = httpclient.execute(httpget);
    entity = response.getEntity();
    string = new String(readContents(entity), "UTF-8");
    Assert.assertTrue(string.indexOf("test.html") > 0);
    response.close();
    httpget = new HttpGet("http://localhost:9090/testdir/testpdf.pdf");
    response = httpclient.execute(httpget);
    entity = response.getEntity();
    byte[] actual = readContents(entity);
    byte[] expected = readContents(new FileInputStream("src/test/resources/testdir/testpdf.pdf"));
    Assert.assertArrayEquals(expected, actual);
    response.close();
}
Also used : CloseableHttpClient(org.apache.http.impl.client.CloseableHttpClient) HttpEntity(org.apache.http.HttpEntity) HttpGet(org.apache.http.client.methods.HttpGet) CloseableHttpResponse(org.apache.http.client.methods.CloseableHttpResponse) CoreMatchers.containsString(org.hamcrest.CoreMatchers.containsString) FileInputStream(java.io.FileInputStream) Test(org.junit.Test)

Example 52 with HttpGet

use of org.apache.http.client.methods.HttpGet in project nanohttpd by NanoHttpd.

the class TestHttpServer method doArgumentTest.

@Test
public void doArgumentTest() throws InterruptedException, UnsupportedEncodingException, IOException {
    final String testPort = "9458";
    Thread testServer = new Thread(new Runnable() {

        @Override
        public void run() {
            String[] args = { "-h", "localhost", "-p", testPort, "-d", "src/test/resources" };
            SimpleWebServer.main(args);
        }
    });
    testServer.start();
    Thread.sleep(200);
    HttpGet httpget = new HttpGet("http://localhost:" + testPort + "/");
    CloseableHttpClient httpclient = HttpClients.createDefault();
    CloseableHttpResponse response = null;
    try {
        response = httpclient.execute(httpget);
        HttpEntity entity = response.getEntity();
        String str = new String(readContents(entity), "UTF-8");
        Assert.assertTrue("The response entity didn't contain the string 'testdir'", str.indexOf("testdir") >= 0);
    } finally {
        if (response != null)
            response.close();
    }
}
Also used : CloseableHttpClient(org.apache.http.impl.client.CloseableHttpClient) HttpEntity(org.apache.http.HttpEntity) HttpGet(org.apache.http.client.methods.HttpGet) CloseableHttpResponse(org.apache.http.client.methods.CloseableHttpResponse) CoreMatchers.containsString(org.hamcrest.CoreMatchers.containsString) Test(org.junit.Test)

Example 53 with HttpGet

use of org.apache.http.client.methods.HttpGet in project nanohttpd by NanoHttpd.

the class TestHttpServer method testRangeHeaderAndIfNoneMatchHeader.

@Test
public void testRangeHeaderAndIfNoneMatchHeader() throws ClientProtocolException, IOException {
    CloseableHttpResponse response = null;
    try {
        HttpGet httpGet = new HttpGet("http://localhost:9090/testdir/test.html");
        httpGet.addHeader("range", "bytes=10-20");
        httpGet.addHeader("if-none-match", "*");
        CloseableHttpClient httpClient = HttpClients.createDefault();
        response = httpClient.execute(httpGet);
        Assert.assertEquals("The response status to a reqeuest with 'if-non-match=*' header and 'range' header should be NOT_MODIFIED(304)," + " if the file exists, because 'if-non-match' header should be given priority", 304, response.getStatusLine().getStatusCode());
    } finally {
        if (response != null) {
            response.close();
        }
    }
}
Also used : CloseableHttpClient(org.apache.http.impl.client.CloseableHttpClient) HttpGet(org.apache.http.client.methods.HttpGet) CloseableHttpResponse(org.apache.http.client.methods.CloseableHttpResponse) Test(org.junit.Test)

Example 54 with HttpGet

use of org.apache.http.client.methods.HttpGet in project nanohttpd by NanoHttpd.

the class TestHttpServer method testRangeHeaderWithStartPositionOnly.

@Test
public void testRangeHeaderWithStartPositionOnly() throws ClientProtocolException, IOException {
    CloseableHttpResponse response = null;
    try {
        HttpGet httpGet = new HttpGet("http://localhost:9090/testdir/test.html");
        httpGet.addHeader("range", "bytes=10-");
        CloseableHttpClient httpClient = HttpClients.createDefault();
        response = httpClient.execute(httpGet);
        HttpEntity entity = response.getEntity();
        String responseString = new String(readContents(entity), "UTF-8");
        Assert.assertThat("The data from the beginning of the file should have been skipped as specified in the 'range' header", responseString, not(containsString("<head>")));
        Assert.assertThat("The response should contain the data from the end of the file since end position was not given in the 'range' header", responseString, containsString("</head>"));
        Assert.assertEquals("The content length should be the length starting from the requested byte", "74", response.getHeaders("Content-Length")[0].getValue());
        Assert.assertEquals("The 'Content-Range' header should contain the correct lengths and offsets based on the range served", "bytes 10-83/84", response.getHeaders("Content-Range")[0].getValue());
        Assert.assertEquals("Response status for a successful range request should be PARTIAL_CONTENT(206)", 206, response.getStatusLine().getStatusCode());
    } finally {
        if (response != null) {
            response.close();
        }
    }
}
Also used : CloseableHttpClient(org.apache.http.impl.client.CloseableHttpClient) HttpEntity(org.apache.http.HttpEntity) HttpGet(org.apache.http.client.methods.HttpGet) CloseableHttpResponse(org.apache.http.client.methods.CloseableHttpResponse) CoreMatchers.containsString(org.hamcrest.CoreMatchers.containsString) Test(org.junit.Test)

Example 55 with HttpGet

use of org.apache.http.client.methods.HttpGet in project nanohttpd by NanoHttpd.

the class TestHttpServer method testIfNoneMatchHeader.

@Test
public void testIfNoneMatchHeader() throws ClientProtocolException, IOException {
    CloseableHttpResponse response = null;
    try {
        HttpGet httpGet = new HttpGet("http://localhost:9090/testdir/test.html");
        httpGet.addHeader("if-none-match", "*");
        CloseableHttpClient httpClient = HttpClients.createDefault();
        response = httpClient.execute(httpGet);
        Assert.assertEquals("The response status to a reqeuest with 'if-non-match=*' header should be NOT_MODIFIED(304), if the file exists", 304, response.getStatusLine().getStatusCode());
    } finally {
        if (response != null) {
            response.close();
        }
    }
}
Also used : CloseableHttpClient(org.apache.http.impl.client.CloseableHttpClient) HttpGet(org.apache.http.client.methods.HttpGet) CloseableHttpResponse(org.apache.http.client.methods.CloseableHttpResponse) Test(org.junit.Test)

Aggregations

HttpGet (org.apache.http.client.methods.HttpGet)1143 HttpResponse (org.apache.http.HttpResponse)717 Test (org.junit.Test)504 CloseableHttpResponse (org.apache.http.client.methods.CloseableHttpResponse)242 TestHttpClient (io.undertow.testutils.TestHttpClient)239 IOException (java.io.IOException)200 HttpClient (org.apache.http.client.HttpClient)185 CloseableHttpClient (org.apache.http.impl.client.CloseableHttpClient)179 DefaultHttpClient (org.apache.http.impl.client.DefaultHttpClient)176 HttpEntity (org.apache.http.HttpEntity)152 Header (org.apache.http.Header)133 InputStream (java.io.InputStream)103 URI (java.net.URI)83 JsonNode (com.fasterxml.jackson.databind.JsonNode)68 ArrayList (java.util.ArrayList)60 MockResponse (com.google.mockwebserver.MockResponse)54 HttpPost (org.apache.http.client.methods.HttpPost)54 Deployment (org.activiti.engine.test.Deployment)49 ClientProtocolException (org.apache.http.client.ClientProtocolException)46 HttpUriRequest (org.apache.http.client.methods.HttpUriRequest)45