aslak

Arquillian - Portlets - Example

Jun 1st, 2010
84
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 1.92 KB | None | 0 0
  1. package com.acme.portlet;
  2.  
  3. import static org.jboss.arquillian.api.RunModeType.AS_CLIENT;
  4.  
  5. import java.io.ByteArrayOutputStream;
  6. import java.io.File;
  7. import java.io.InputStream;
  8. import java.net.URL;
  9.  
  10. import org.jboss.arquillian.api.Deployment;
  11. import org.jboss.arquillian.api.Run;
  12. import org.jboss.arquillian.junit.Arquillian;
  13. import org.jboss.shrinkwrap.api.Archive;
  14. import org.jboss.shrinkwrap.api.ArchivePaths;
  15. import org.jboss.shrinkwrap.api.ShrinkWrap;
  16. import org.jboss.shrinkwrap.api.exporter.ZipExporter;
  17. import org.jboss.shrinkwrap.api.spec.WebArchive;
  18. import org.junit.Assert;
  19. import org.junit.Test;
  20. import org.junit.runner.RunWith;
  21.  
  22. @RunWith(Arquillian.class)
  23. @Run(AS_CLIENT)
  24. public class PortletTest
  25. {
  26.    @Deployment
  27.    public static Archive<?> createDeployment()
  28.    {
  29.       Archive<?> deployment = ShrinkWrap.create("test.war", WebArchive.class)
  30.                .addPackage(PortletTest.class.getPackage())
  31.                .setWebXML("test-web.xml")
  32.                .addWebResource("test-portlet.xml", ArchivePaths.create("portlet.xml"));
  33.      
  34.       deployment.as(ZipExporter.class).exportZip(new File("target/test.war"), true);
  35.      
  36.       return deployment;
  37.    }
  38.  
  39.    @Test
  40.    public void shouldBeAbleTo() throws Exception
  41.    {
  42.       String body = readAllAndClose(new URL("http://localhost:8080/portal/public/classic/Test").openStream());
  43.      
  44.       Assert.assertTrue(
  45.             "Verify that the servlet was deployed and returns expected result",
  46.             body.contains("testing"));
  47.    }
  48.  
  49.    private String readAllAndClose(InputStream is) throws Exception
  50.    {
  51.       ByteArrayOutputStream out = new ByteArrayOutputStream();
  52.       try
  53.       {
  54.          int read;
  55.          while( (read = is.read()) != -1)
  56.          {
  57.             out.write(read);
  58.          }
  59.       }
  60.       finally
  61.       {
  62.          try { is.close(); } catch (Exception e) { }
  63.       }
  64.       return out.toString();
  65.    }
  66. }
Add Comment
Please, Sign In to add comment