Author: awiner
Date: Fri Mar  6 23:14:04 2009
New Revision: 751125

URL: http://svn.apache.org/viewvc?rev=751125&view=rev
Log:
Add tests for per-container config of HTMLContentRewriter and CSSContentRewriter

Modified:
    
incubator/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/rewrite/BaseRewriterTestCase.java
    
incubator/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/rewrite/CSSContentRewriterTest.java
    
incubator/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/rewrite/HTMLContentRewriterTest.java

Modified: 
incubator/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/rewrite/BaseRewriterTestCase.java
URL: 
http://svn.apache.org/viewvc/incubator/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/rewrite/BaseRewriterTestCase.java?rev=751125&r1=751124&r2=751125&view=diff
==============================================================================
--- 
incubator/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/rewrite/BaseRewriterTestCase.java
 (original)
+++ 
incubator/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/rewrite/BaseRewriterTestCase.java
 Fri Mar  6 23:14:04 2009
@@ -20,6 +20,8 @@
 import org.apache.shindig.common.EasyMockTestCase;
 import org.apache.shindig.common.PropertiesModule;
 import org.apache.shindig.common.uri.Uri;
+import org.apache.shindig.config.AbstractContainerConfig;
+import org.apache.shindig.config.ContainerConfig;
 import org.apache.shindig.gadgets.Gadget;
 import org.apache.shindig.gadgets.GadgetContext;
 import org.apache.shindig.gadgets.GadgetException;
@@ -49,6 +51,12 @@
   public static final String DEFAULT_PROXY_BASE = 
"http://www.test.com/dir/proxy?url=";;
   public static final String DEFAULT_CONCAT_BASE = 
"http://www.test.com/dir/concat?";;
 
+  public static final String MOCK_CONTAINER = "mock";
+  public static final String MOCK_PROXY_BASE = 
+    replaceDefaultWithMockServer(DEFAULT_PROXY_BASE);
+  public static final String MOCK_CONCAT_BASE = 
+    replaceDefaultWithMockServer(DEFAULT_CONCAT_BASE);
+
   protected Set<String> tags;
   protected ContentRewriterFeature defaultRewriterFeature;
   protected ContentRewriterFeatureFactory rewriterFeatureFactory;
@@ -56,6 +64,7 @@
   protected GadgetHtmlParser parser;
   protected Injector injector;
   protected HttpResponse fakeResponse;
+  protected ContainerConfig config;
 
   @Override
   protected void setUp() throws Exception {
@@ -72,7 +81,23 @@
     parser = injector.getInstance(GadgetHtmlParser.class);
     fakeResponse = new HttpResponseBuilder().setHeader("Content-Type", 
"unknown")
         .setResponse(new byte[]{ (byte)0xFE, (byte)0xFF}).create();
-  }
+
+    config = new AbstractContainerConfig() {
+      @Override
+      public Object getProperty(String container, String name) {
+        if (MOCK_CONTAINER.equals(container)) {
+          if (ContentRewriterUris.PROXY_BASE_CONFIG_PROPERTY.equals(name)) {
+            return MOCK_PROXY_BASE;
+          } else if 
(ContentRewriterUris.CONCAT_BASE_CONFIG_PROPERTY.equals(name)) {
+            return MOCK_CONCAT_BASE;
+          }
+        }
+        
+        return null;
+      }
+    };
+    
+}
 
   public static GadgetSpec createSpecWithRewrite(String include, String 
exclude, String expires,
       Set<String> tags) throws GadgetException {
@@ -99,6 +124,10 @@
     return new GadgetSpec(SPEC_URL, xml);
   }
 
+  public static String replaceDefaultWithMockServer(String originalText) {
+    return originalText.replace("test.com", "mock.com");
+  }
+  
   ContentRewriterFeatureFactory mockContentRewriterFeatureFactory(
       ContentRewriterFeature feature) {
     return new FakeRewriterFeatureFactory(feature);
@@ -106,7 +135,7 @@
 
   String rewriteHelper(ContentRewriter rewriter, String s)
       throws Exception {
-    MutableContent mc = rewriteContent(rewriter, s);
+    MutableContent mc = rewriteContent(rewriter, s, null);
     String rewrittenContent = mc.getContent();
 
     // Strip around the HTML tags for convenience
@@ -118,7 +147,7 @@
     return rewrittenContent;
   }
 
-  MutableContent rewriteContent(ContentRewriter rewriter, String s)
+  MutableContent rewriteContent(ContentRewriter rewriter, String s, final 
String container)
       throws Exception {
     MutableContent mc = new MutableContent(parser, s);
 
@@ -130,6 +159,11 @@
       public URI getUrl() {
         return SPEC_URL.toJavaUri();
       }
+      
+      @Override
+      public String getContainer() {
+        return container;
+      }
     };
 
     Gadget gadget = new Gadget()

Modified: 
incubator/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/rewrite/CSSContentRewriterTest.java
URL: 
http://svn.apache.org/viewvc/incubator/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/rewrite/CSSContentRewriterTest.java?rev=751125&r1=751124&r2=751125&view=diff
==============================================================================
--- 
incubator/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/rewrite/CSSContentRewriterTest.java
 (original)
+++ 
incubator/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/rewrite/CSSContentRewriterTest.java
 Fri Mar  6 23:14:04 2009
@@ -20,21 +20,18 @@
 import org.apache.commons.io.IOUtils;
 import org.apache.commons.lang.StringUtils;
 import org.apache.shindig.common.uri.Uri;
-import org.apache.shindig.config.AbstractContainerConfig;
-import org.apache.shindig.config.ContainerConfig;
 import org.apache.shindig.gadgets.http.HttpRequest;
 import org.apache.shindig.gadgets.http.HttpResponse;
 import org.apache.shindig.gadgets.http.HttpResponseBuilder;
 import org.apache.shindig.gadgets.parse.caja.CajaCssLexerParser;
-
-import com.google.common.collect.Lists;
-
 import org.easymock.EasyMock;
 
 import java.io.StringReader;
 import java.io.StringWriter;
 import java.util.List;
 
+import com.google.common.collect.Lists;
+
 /**
  *
  */
@@ -49,13 +46,6 @@
         rewriterFeatureFactory.get(createSpecWithRewrite(".*", ".*exclude.*", 
"HTTP",
             HTMLContentRewriter.TAGS));
     ContentRewriterFeatureFactory factory = 
mockContentRewriterFeatureFactory(overrideFeature);
-    ContainerConfig config = new AbstractContainerConfig() {
-      @Override
-      public Object getProperty(String container, String name) {
-        return null;
-      }      
-    };
-    
     ContentRewriterUris rewriterUris = new ContentRewriterUris(config, 
DEFAULT_PROXY_BASE, null);
     rewriter = new CSSContentRewriter(factory, rewriterUris, new 
CajaCssLexerParser());
     dummyUri = Uri.parse("http://www.w3c.org";);
@@ -80,7 +70,29 @@
         StringUtils.deleteWhitespace(mc.getContent()));
   }
 
-    public void testNoRewriteUnknownMimeType() {
+  public void testCssWithContainerProxy() throws Exception {
+    String content = IOUtils.toString(this.getClass().getClassLoader().
+        
getResourceAsStream("org/apache/shindig/gadgets/rewrite/rewritebasic.css"));
+    String expected = IOUtils.toString(this.getClass().getClassLoader().
+        
getResourceAsStream("org/apache/shindig/gadgets/rewrite/rewritebasic-expected.css"));
+    expected = replaceDefaultWithMockServer(expected);
+    
+    HttpRequest request = new 
HttpRequest(Uri.parse("http://www.example.org/path/rewritebasic.css";));
+    request.setMethod("GET");
+    request.setGadget(SPEC_URL);
+    request.setContainer(MOCK_CONTAINER);
+
+    HttpResponse response = new 
HttpResponseBuilder().setHeader("Content-Type", "text/css")
+      .setResponseString(content).create();
+
+    MutableContent mc = new MutableContent(null, content);
+    rewriter.rewrite(request, response, mc);
+
+    assertEquals(StringUtils.deleteWhitespace(expected),
+        StringUtils.deleteWhitespace(mc.getContent()));
+  }
+
+  public void testNoRewriteUnknownMimeType() {
     // Strict mock as we expect no calls
     MutableContent mc = mock(MutableContent.class, true);
     HttpRequest req = mock(HttpRequest.class);

Modified: 
incubator/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/rewrite/HTMLContentRewriterTest.java
URL: 
http://svn.apache.org/viewvc/incubator/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/rewrite/HTMLContentRewriterTest.java?rev=751125&r1=751124&r2=751125&view=diff
==============================================================================
--- 
incubator/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/rewrite/HTMLContentRewriterTest.java
 (original)
+++ 
incubator/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/rewrite/HTMLContentRewriterTest.java
 Fri Mar  6 23:14:04 2009
@@ -19,11 +19,8 @@
 
 import org.apache.commons.io.IOUtils;
 import org.apache.commons.lang.StringUtils;
-import org.apache.shindig.config.AbstractContainerConfig;
-import org.apache.shindig.config.ContainerConfig;
 import org.apache.shindig.gadgets.http.HttpRequest;
 import org.apache.shindig.gadgets.parse.caja.CajaCssLexerParser;
-
 import org.easymock.EasyMock;
 import org.w3c.dom.Document;
 
@@ -40,13 +37,6 @@
         rewriterFeatureFactory.get(createSpecWithRewrite(".*", ".*exclude.*", 
"HTTP",
             HTMLContentRewriter.TAGS));
     ContentRewriterFeatureFactory factory = 
mockContentRewriterFeatureFactory(overrideFeature);
-    ContainerConfig config = new AbstractContainerConfig() {
-      @Override
-      public Object getProperty(String container, String name) {
-        return null;
-      }      
-    };
-    
     ContentRewriterUris rewriterUris = new ContentRewriterUris(config, 
DEFAULT_PROXY_BASE,
         DEFAULT_CONCAT_BASE);
 
@@ -57,7 +47,7 @@
   public void testScriptsBasic() throws Exception {
     String content = IOUtils.toString(this.getClass().getClassLoader().
         
getResourceAsStream("org/apache/shindig/gadgets/rewrite/rewritescriptbasic.html"));
-    Document doc = rewriteContent(rewriter, content).getDocument();
+    Document doc = rewriteContent(rewriter, content, null).getDocument();
 
     XPathWrapper wrapper = new XPathWrapper(doc);
 
@@ -110,11 +100,20 @@
             "&1=http%3A%2F%2Fwww.example.org%2F6.js");
 
   }
-
+  
+  public void testScriptsForContainer() throws Exception {
+    String content = IOUtils.toString(this.getClass().getClassLoader().
+        
getResourceAsStream("org/apache/shindig/gadgets/rewrite/rewritescriptbasic.html"));
+    String text = rewriteContent(rewriter, content, 
MOCK_CONTAINER).getContent();
+    // Verify that the correct concat base was used
+    assertFalse(text.contains(DEFAULT_CONCAT_BASE));
+    assertTrue(text.contains(MOCK_CONCAT_BASE));
+  }
+  
   public void testLinksBasic() throws Exception {
     String content = IOUtils.toString(this.getClass().getClassLoader().
         
getResourceAsStream("org/apache/shindig/gadgets/rewrite/rewritelinksbasic.html"));
-    Document doc = rewriteContent(rewriter, content).getDocument();
+    Document doc = rewriteContent(rewriter, content, null).getDocument();
 
     XPathWrapper wrapper = new XPathWrapper(doc);
 
@@ -137,10 +136,19 @@
     assertEquals("http://www.example.org/excluded/some.swf";, 
wrapper.getValue("//embed[2]/@src"));
   }
 
+  public void testLinksForContainer() throws Exception {
+    String content = IOUtils.toString(this.getClass().getClassLoader().
+        
getResourceAsStream("org/apache/shindig/gadgets/rewrite/rewritelinksbasic.html"));
+    String text = rewriteContent(rewriter, content, 
MOCK_CONTAINER).getContent();
+    // Verify that the correct proxy base was used
+    assertFalse(text.contains(DEFAULT_PROXY_BASE));
+    assertTrue(text.contains(MOCK_PROXY_BASE));
+  }
+  
   public void testStyleBasic() throws Exception {
     String content = IOUtils.toString(this.getClass().getClassLoader().
         
getResourceAsStream("org/apache/shindig/gadgets/rewrite/rewritestylebasic.html"));
-    MutableContent mc = rewriteContent(rewriter, content);
+    MutableContent mc = rewriteContent(rewriter, content, null);
     Document doc = mc.getDocument();
 
     XPathWrapper wrapper = new XPathWrapper(doc);
@@ -176,11 +184,20 @@
         
getResourceAsStream("org/apache/shindig/gadgets/rewrite/rewritestyle2.html"));
     String expected = IOUtils.toString(this.getClass().getClassLoader().
         
getResourceAsStream("org/apache/shindig/gadgets/rewrite/rewritestyle2-expected.html"));
-    MutableContent mc = rewriteContent(rewriter, content);
+    MutableContent mc = rewriteContent(rewriter, content, null);
     assertEquals(StringUtils.deleteWhitespace(mc.getContent()),
                  StringUtils.deleteWhitespace(expected));
   }
 
+  public void testStyleForContainer() throws Exception {
+    String content = IOUtils.toString(this.getClass().getClassLoader().
+        
getResourceAsStream("org/apache/shindig/gadgets/rewrite/rewritestylebasic.html"));
+    String text = rewriteContent(rewriter, content, 
MOCK_CONTAINER).getContent();
+    // Verify that the correct concat base was used
+    assertFalse(text.contains(DEFAULT_CONCAT_BASE));
+    assertTrue(text.contains(MOCK_CONCAT_BASE));
+  }
+  
   public void testNoRewriteUnknownMimeType() {
     // Strict mock as we expect no calls
     MutableContent mc = mock(MutableContent.class, true);


Reply via email to