MiniUriTest.java

 1package de.gultsch.common;
 2
 3import com.google.common.collect.ImmutableMap;
 4import org.junit.Assert;
 5import org.junit.Test;
 6
 7public class MiniUriTest {
 8
 9    @Test
10    public void httpsUrl() {
11        final var miniUri = new MiniUri("https://example.com");
12        Assert.assertEquals("https", miniUri.getScheme());
13        Assert.assertEquals("example.com", miniUri.getAuthority());
14        Assert.assertNull(miniUri.getPath());
15    }
16
17    @Test
18    public void httpsUrlHtml() {
19        final var miniUri = new MiniUri("https://example.com/test.html");
20        Assert.assertEquals("https", miniUri.getScheme());
21        Assert.assertEquals("example.com", miniUri.getAuthority());
22        Assert.assertEquals("/test.html", miniUri.getPath());
23    }
24
25    @Test
26    public void httpsUrlCgiFooBar() {
27        final var miniUri = new MiniUri("https://example.com/test.cgi?foo=bar");
28        Assert.assertEquals("https", miniUri.getScheme());
29        Assert.assertEquals("example.com", miniUri.getAuthority());
30        Assert.assertEquals("/test.cgi", miniUri.getPath());
31        Assert.assertEquals(ImmutableMap.of("foo", "bar"), miniUri.getParameter());
32    }
33
34    @Test
35    public void xmppUri() {
36        final var miniUri = new MiniUri("xmpp:user@example.com");
37        Assert.assertEquals("xmpp", miniUri.getScheme());
38        Assert.assertNull(miniUri.getAuthority());
39        Assert.assertEquals("user@example.com", miniUri.getPath());
40    }
41
42    @Test
43    public void xmppUriJoin() {
44        final var miniUri = new MiniUri("xmpp:room@chat.example.com?join");
45        Assert.assertEquals("xmpp", miniUri.getScheme());
46        Assert.assertNull(miniUri.getAuthority());
47        Assert.assertEquals("room@chat.example.com", miniUri.getPath());
48        Assert.assertEquals(ImmutableMap.of("join", ""), miniUri.getParameter());
49    }
50
51    @Test
52    public void xmppUriMessage() {
53        final var miniUri =
54                new MiniUri("xmpp:romeo@montague.net?message;body=Here%27s%20a%20test%20message");
55        Assert.assertEquals("xmpp", miniUri.getScheme());
56        Assert.assertNull(miniUri.getAuthority());
57        Assert.assertEquals("romeo@montague.net", miniUri.getPath());
58        Assert.assertEquals(
59                ImmutableMap.of("message", "", "body", "Here's a test message"),
60                miniUri.getParameter());
61    }
62}