1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 package org.apache.maven.project;
20
21 import java.io.ByteArrayInputStream;
22 import java.io.InputStream;
23 import java.nio.charset.StandardCharsets;
24 import java.util.Arrays;
25
26 import junit.framework.TestCase;
27
28 import static org.hamcrest.Matchers.empty;
29 import static org.hamcrest.Matchers.is;
30 import static org.junit.Assert.assertThat;
31
32
33
34
35
36
37 public class ExtensionDescriptorBuilderTest extends TestCase {
38
39 private ExtensionDescriptorBuilder builder;
40
41 @Override
42 protected void setUp() throws Exception {
43 super.setUp();
44
45 builder = new ExtensionDescriptorBuilder();
46 }
47
48 @Override
49 protected void tearDown() throws Exception {
50 builder = null;
51
52 super.tearDown();
53 }
54
55 private InputStream toStream(String xml) {
56 return new ByteArrayInputStream(xml.getBytes(StandardCharsets.UTF_8));
57 }
58
59 public void testEmptyDescriptor() throws Exception {
60 String xml = "<extension></extension>";
61
62 ExtensionDescriptor ed = builder.build(toStream(xml));
63
64 assertNotNull(ed);
65 assertNotNull(ed.getExportedPackages());
66 assertThat(ed.getExportedPackages(), is(empty()));
67 assertNotNull(ed.getExportedArtifacts());
68 assertThat(ed.getExportedArtifacts(), is(empty()));
69 }
70
71 public void testCompleteDescriptor() throws Exception {
72 String xml = "<?xml version='1.0' encoding='UTF-8'?>" + "<extension>" + "<exportedPackages>"
73 + "<exportedPackage>a</exportedPackage>" + "<exportedPackage>b</exportedPackage>"
74 + "<exportedPackage>c</exportedPackage>" + "</exportedPackages>" + "<exportedArtifacts>"
75 + "<exportedArtifact>x</exportedArtifact>" + "<exportedArtifact>y</exportedArtifact>"
76 + "<exportedArtifact> z </exportedArtifact>" + "</exportedArtifacts>" + "</extension>";
77
78 ExtensionDescriptor ed = builder.build(toStream(xml));
79
80 assertNotNull(ed);
81 assertEquals(Arrays.asList("a", "b", "c"), ed.getExportedPackages());
82 assertEquals(Arrays.asList("x", "y", "z"), ed.getExportedArtifacts());
83 }
84 }