summaryrefslogtreecommitdiffstats
path: root/jdisc_http_service/src/test/java/com/yahoo/jdisc/http/test/RemoteServerTestCase.java
blob: f9fe1e36db68bf9d339e07d2d7d0c584934ddac7 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
// Copyright 2016 Yahoo Inc. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
package com.yahoo.jdisc.http.test;

import org.testng.annotations.Test;

import java.io.IOException;
import java.net.URI;
import java.net.URISyntaxException;
import java.util.concurrent.TimeUnit;

import static org.testng.AssertJUnit.assertEquals;
import static org.testng.AssertJUnit.assertTrue;
import static org.testng.AssertJUnit.fail;

/**
 * @author <a href="mailto:simon@yahoo-inc.com">Simon Thoresen</a>
 */
public class RemoteServerTestCase {

    @Test
    public void requireThatRequestUriFactoryWorks() throws IOException {
        RemoteServer server = RemoteServer.newInstance();
        try {
            server.newRequestUri((String)null);
            fail();
        } catch (NullPointerException e) {

        }
        try {
            server.newRequestUri((URI)null);
            fail();
        } catch (NullPointerException e) {

        }
        try {
            server.newRequestUri("foo");
            fail();
        } catch (IllegalArgumentException e) {
            assertTrue(e.getCause() instanceof URISyntaxException);
        }
        URI requestUri = server.newRequestUri("/foo?baz=cox#bar");
        URI serverUri = server.connectionSpec();
        assertEquals(serverUri.getScheme(), requestUri.getScheme());
        assertEquals(serverUri.getUserInfo(), requestUri.getUserInfo());
        assertEquals(serverUri.getHost(), requestUri.getHost());
        assertEquals(serverUri.getPort(), requestUri.getPort());
        assertEquals("/foo", requestUri.getPath());
        assertEquals("baz=cox", requestUri.getQuery());
        assertEquals("bar", requestUri.getFragment());
        assertTrue(server.close(60, TimeUnit.SECONDS));
    }
}