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.Before;
23 import org.junit.Test;
24
25 import java.io.IOException;
26 import java.net.URL;
27
28
29
30
31
32
33 public class DataSourceCompositeResolverTest extends AbstractDataSourceResolverTest
34 {
35
36 private DataSourceResolver[] dataSourceResolvers;
37
38 @Before
39 public void setUp() throws Exception
40 {
41 final DataSourceUrlResolver urlResolver = new DataSourceUrlResolver(new URL("http://www.apache.org"), false);
42 final DataSourceClassPathResolver classPathResolver = new DataSourceClassPathResolver("/images", false);
43 dataSourceResolvers = new DataSourceResolver[] { urlResolver, classPathResolver };
44 }
45
46 @Test
47 public void testResolvingFilesLenient() throws Exception
48 {
49 final DataSourceResolver dataSourceResolver = new DataSourceCompositeResolver(dataSourceResolvers, true);
50
51
52 assertTrue(toByteArray(dataSourceResolver.resolve("/images/feather-small.gif")).length > 0);
53
54
55 assertTrue(toByteArray(dataSourceResolver.resolve("/contentTypeTest.gif")).length > 0);
56 }
57
58 @Test(expected = IOException.class)
59 public void testResolvingFilesNonLenient() throws Exception
60 {
61 final DataSourceResolver dataSourceResolver = new DataSourceCompositeResolver(dataSourceResolvers, false);
62
63 dataSourceResolver.resolve("./image/does-not-exist.gif");
64 }
65
66 @Test
67 public void testExternalModification() throws Exception
68 {
69 final DataSourceCompositeResolver dataSourceResolver = new DataSourceCompositeResolver(dataSourceResolvers, true);
70
71 final DataSourceResolver[] arr = dataSourceResolver.getDataSourceResolvers();
72
73
74 arr[0] = null;
75
76 final DataSourceResolver[] arr2 = dataSourceResolver.getDataSourceResolvers();
77
78
79 assertNotNull(arr2[0]);
80 }
81
82 }