You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@aries.apache.org by ma...@apache.org on 2010/01/12 11:15:29 UTC

svn commit: r898271 - /incubator/aries/trunk/application/application-converters/src/test/java/org/apache/aries/application/converters/WabConverterTest.java

Author: mahrwald
Date: Tue Jan 12 10:15:28 2010
New Revision: 898271

URL: http://svn.apache.org/viewvc?rev=898271&view=rev
Log:
ARIES-114 Merge UrlHandlerTest into existing tests in trunk

Modified:
    incubator/aries/trunk/application/application-converters/src/test/java/org/apache/aries/application/converters/WabConverterTest.java

Modified: incubator/aries/trunk/application/application-converters/src/test/java/org/apache/aries/application/converters/WabConverterTest.java
URL: http://svn.apache.org/viewvc/incubator/aries/trunk/application/application-converters/src/test/java/org/apache/aries/application/converters/WabConverterTest.java?rev=898271&r1=898270&r2=898271&view=diff
==============================================================================
--- incubator/aries/trunk/application/application-converters/src/test/java/org/apache/aries/application/converters/WabConverterTest.java (original)
+++ incubator/aries/trunk/application/application-converters/src/test/java/org/apache/aries/application/converters/WabConverterTest.java Tue Jan 12 10:15:28 2010
@@ -42,6 +42,9 @@
  */
 public class WabConverterTest
 {
+  public static final String WAR_FILE_NAME_WO_SUFFIX = "test";
+  public static final String WAR_FILE_NAME = WAR_FILE_NAME_WO_SUFFIX + ".war";
+  
   /**
    * Test that we can handle a null manifest (in case a jar archive was created without manifest)
    */
@@ -98,6 +101,84 @@
     assertEquals("test.bundle", m.getMainAttributes().getValue(Constants.BUNDLE_SYMBOLICNAME));
   }
   
+  @Test 
+  public void testDefaultProperties() throws Exception {
+    Attributes attrs = convertWithProperties();
+    
+    assertTrue(attrs.getValue(Constants.BUNDLE_SYMBOLICNAME).startsWith(WAR_FILE_NAME_WO_SUFFIX));
+    assertEquals("/", attrs.getValue(WarToWabConverter.WEB_JSP_EXTRACT_LOCATION));    
+    assertEquals("1.0", attrs.getValue(Constants.BUNDLE_VERSION));
+    assertEquals("javax.servlet;version=2.5,javax.servlet.http;version=2.5,javax.el;version=2.1," +
+        "javax.servlet.jsp;version=2.1,javax.servlet.jsp.el;version=2.1," +
+        "javax.servlet.jsp.tagext;version=2.1",
+        attrs.getValue(Constants.IMPORT_PACKAGE));
+    assertEquals("WEB-INF/classes/",attrs.getValue(Constants.BUNDLE_CLASSPATH));
+  }
+  
+  @Test
+  public void testPropertySupport() throws Exception {
+    Attributes attrs = convertWithProperties(
+        WarToWabConverter.WEB_CONTEXT_PATH, "../WebFiles",
+        WarToWabConverter.WEB_JSP_EXTRACT_LOCATION, "/jsp",
+        Constants.BUNDLE_VERSION, "2.0",
+        Constants.IMPORT_PACKAGE, "org.apache.aries.test;version=2.5,org.apache.aries.test.eba;version=1.0");
+    
+    assertEquals("../WebFiles", attrs.getValue(WarToWabConverter.WEB_CONTEXT_PATH));
+    assertEquals("/jsp", attrs.getValue(WarToWabConverter.WEB_JSP_EXTRACT_LOCATION));
+    assertEquals("2.0", attrs.getValue(Constants.BUNDLE_VERSION));
+    assertEquals("org.apache.aries.test;version=2.5,org.apache.aries.test.eba;version=1.0,"+
+        "javax.servlet;version=2.5,javax.servlet.http;version=2.5,javax.el;version=2.1," +
+        "javax.servlet.jsp;version=2.1,javax.servlet.jsp.el;version=2.1," +
+        "javax.servlet.jsp.tagext;version=2.1",
+        attrs.getValue(Constants.IMPORT_PACKAGE));
+  }
+  
+  @Test
+  public void testManifestAndPropertyOverwrites() throws Exception {
+    Manifest m = new Manifest();
+    Attributes attrs = m.getMainAttributes();
+    attrs.putValue(Constants.BUNDLE_SYMBOLICNAME, "org.apache.test");
+    attrs.putValue(Constants.BUNDLE_VERSION, "1.0");
+    attrs.putValue(Constants.IMPORT_PACKAGE, "org.apache.util,org.apache.test;version=1.0");
+    attrs.putValue(Constants.BUNDLE_CLASSPATH, "jsp/classes/");
+    
+    attrs = convertWithProperties(m, Constants.BUNDLE_VERSION, "2.0",
+        Constants.IMPORT_PACKAGE, "org.apache.wab,org.apache.test;version=2.0",
+        Constants.BUNDLE_CLASSPATH, "aries/generated/");
+    
+    assertEquals("org.apache.test", attrs.getValue(Constants.BUNDLE_SYMBOLICNAME));
+    assertEquals("2.0", attrs.getValue(Constants.BUNDLE_VERSION));
+    assertTrue(attrs.getValue(Constants.IMPORT_PACKAGE).contains("org.apache.util"));
+    assertTrue(attrs.getValue(Constants.IMPORT_PACKAGE).contains("org.apache.test;version=2.0"));    
+    assertTrue(attrs.getValue(Constants.IMPORT_PACKAGE).contains("org.apache.wab"));
+    assertEquals("WEB-INF/classes/,aries/generated/,jsp/classes/", attrs.getValue(Constants.BUNDLE_CLASSPATH));
+  }
+  
+  private Attributes convertWithProperties(Manifest m, String ... props) throws Exception {
+    Properties properties = new Properties();
+    for (int i=0;i<props.length;i+=2) {
+      properties.put(props[i], props[i+1]);
+    }
+    
+    byte[] bytes = new byte[0];
+
+    if (m != null) {      
+      m.getMainAttributes().put(Attributes.Name.MANIFEST_VERSION, "1");
+      final ByteArrayOutputStream bout = new ByteArrayOutputStream();
+      JarOutputStream out = new JarOutputStream(bout,m);
+      out.close();
+      bytes = bout.toByteArray();
+    }
+    
+    WarToWabConverter sut = new WarToWabConverter(makeTestFile(bytes), properties);
+    return sut.getWABManifest().getMainAttributes();
+  }
+  
+  private Attributes convertWithProperties(String ... props) throws Exception {
+    return convertWithProperties(null, props);
+  }
+  
+  
   private IFile makeTestFile(byte[] content) {
     return Skeleton.newMock(new IFileProxy(content), IFile.class);
   }
@@ -113,7 +194,7 @@
       return new ByteArrayInputStream(content);
     }
     
-    public String getName() { return "test.war"; }
+    public String getName() { return WAR_FILE_NAME; }
   }
   
 }