View Javadoc

1   package com.atlassian.plugin;
2   
3   import com.atlassian.plugin.test.PluginJarBuilder;
4   import com.google.common.collect.ImmutableMap;
5   import org.junit.Test;
6   
7   import java.io.File;
8   import java.io.IOException;
9   
10  import static org.junit.Assert.assertFalse;
11  import static org.junit.Assert.assertNotNull;
12  import static org.junit.Assert.assertNull;
13  import static org.junit.Assert.assertTrue;
14  
15  public final class TestJarPluginArtifact
16  {
17      @Test
18      public void testGetResourceAsStream() throws IOException
19      {
20          final JarPluginArtifact artifact = new JarPluginArtifact(new PluginJarBuilder()
21                  .addResource("foo", "bar")
22                  .build());
23  
24          assertNotNull(artifact.getResourceAsStream("foo"));
25          assertNull(artifact.getResourceAsStream("bar"));
26      }
27  
28      @Test
29      public void testContainsJavaExecutableCodeWithNoJava() throws Exception
30      {
31          final JarPluginArtifact artifact = new JarPluginArtifact(new PluginJarBuilder()
32                  .addResource("foo", "bar")
33                  .build());
34  
35          assertFalse(artifact.containsJavaExecutableCode());
36      }
37  
38      @Test
39      public void testContainsJavaExecutableCodeWithNoJavaAndNoManifest() throws Exception
40      {
41          final JarPluginArtifact artifact = new JarPluginArtifact(new PluginJarBuilder()
42                  .addResource("foo", "bar")
43                  .buildWithNoManifest());
44  
45          assertFalse(artifact.containsJavaExecutableCode());
46      }
47  
48      @Test
49      public void testContainsJavaExecutableCodeAsJavaClass() throws Exception
50      {
51          final JarPluginArtifact artifact = new JarPluginArtifact(new PluginJarBuilder()
52                  .addFormattedJava("foo.Bar",
53                          "package foo;",
54                          "public final class Bar {}")
55                  .build());
56  
57          assertTrue(artifact.containsJavaExecutableCode());
58      }
59  
60      @Test
61      public void testContainsJavaExecutableCodeAsJavaLibrary() throws Exception
62      {
63          File innerJar = new PluginJarBuilder().build();
64  
65          final JarPluginArtifact artifact = new JarPluginArtifact(new PluginJarBuilder()
66                  .addFile("innerJar.jar", innerJar)
67                  .build());
68  
69          assertTrue(artifact.containsJavaExecutableCode());
70      }
71  
72      @Test
73      public void testContainsJavaExecutableCodeAsSpringContextXmlFiles() throws Exception
74      {
75          final JarPluginArtifact artifact = new JarPluginArtifact(new PluginJarBuilder()
76                  .addFormattedResource("META-INF/spring/file.xml", "bla")
77                  .build());
78  
79          assertTrue(artifact.containsJavaExecutableCode());
80      }
81  
82      @Test
83      public void testContainsJavaExecutableCodeAsSpringContextManifestEntry() throws Exception
84      {
85          final JarPluginArtifact artifact = new JarPluginArtifact(new PluginJarBuilder()
86                  .manifest(ImmutableMap.of("Spring-Context", "bla"))
87                  .build());
88  
89          assertTrue(artifact.containsJavaExecutableCode());
90      }
91  
92      @Test
93      public void testContainsJavaExecutableCodeAsBundleActivator() throws Exception
94      {
95          final JarPluginArtifact artifact = new JarPluginArtifact(new PluginJarBuilder()
96                  .manifest(ImmutableMap.of("Bundle-Activator", "bla"))
97                  .build());
98  
99          assertTrue(artifact.containsJavaExecutableCode());
100     }
101 
102     @Test
103     public void allowsReferenceDefaultsToFalse() throws Exception
104     {
105         final JarPluginArtifact jarPluginArtifact = new JarPluginArtifact(new File("some.jar"));
106         assertFalse(jarPluginArtifact.allowsReference());
107     }
108 
109     @Test
110     public void allowsReferenceFalseIsPropagated() throws Exception
111     {
112         final JarPluginArtifact jarPluginArtifact = new JarPluginArtifact(new File("some.jar"), false);
113         assertFalse(jarPluginArtifact.allowsReference());
114     }
115 
116     @Test
117     public void allowsReferenceTrueIsPropagated() throws Exception
118     {
119         final JarPluginArtifact jarPluginArtifact = new JarPluginArtifact(new File("some.jar"), true);
120         assertTrue(jarPluginArtifact.allowsReference());
121     }
122 }