1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 package org.apache.commons.mail.resolver;
18
19 import static org.junit.Assert.*;
20
21 import org.apache.commons.mail.DataSourceResolver;
22 import org.junit.Test;
23
24 import java.io.File;
25 import java.io.IOException;
26 import java.net.URL;
27
28
29
30
31
32
33 public class DataSourceUrlResolverTest extends AbstractDataSourceResolverTest
34 {
35
36
37
38
39
40
41
42 @Test
43 public void testResolvingFilesLenient() throws Exception
44 {
45 final DataSourceResolver dataSourceResolver = new DataSourceUrlResolver(new File("./src/test/resources").toURI().toURL(), true);
46 assertTrue(toByteArray(dataSourceResolver.resolve("images/asf_logo_wide.gif")).length == IMG_SIZE);
47 assertTrue(toByteArray(dataSourceResolver.resolve("./images/asf_logo_wide.gif")).length == IMG_SIZE);
48 assertNull(dataSourceResolver.resolve("./images/does-not-exist.gif"));
49 assertNull(dataSourceResolver.resolve("/images/asf_logo_wide.gif"));
50 }
51
52
53
54
55
56
57 @Test
58 public void testResolvingHttpLenient() throws Exception
59 {
60 final DataSourceResolver dataSourceResolver = new DataSourceUrlResolver(new URL("http://www.apache.org"), true);
61 assertTrue(toByteArray(dataSourceResolver.resolve("http://www.apache.org/images/feather-small.gif")).length > 1);
62 assertTrue(toByteArray(dataSourceResolver.resolve("images/feather-small.gif")).length > 1);
63 assertTrue(toByteArray(dataSourceResolver.resolve("./images/feather-small.gif")).length > 1);
64 assertTrue(toByteArray(dataSourceResolver.resolve("/images/feather-small.gif")).length > 1);
65 assertNull(toByteArray(dataSourceResolver.resolve("/images/does-not-exist.gif")));
66 }
67
68
69
70
71
72
73 @Test(expected = IOException.class)
74 public void testResolvingHttpNonLenient() throws Exception
75 {
76 final DataSourceResolver dataSourceResolver = new DataSourceUrlResolver(new URL("http://www.apache.org"), false);
77 assertNotNull(dataSourceResolver.resolve("images/asf_logo_wide.gif"));
78
79 dataSourceResolver.resolve("images/does-not-exist.gif");
80 }
81
82 }