aslak

Package-time Class manipulation

Mar 13th, 2010
87
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 1.71 KB | None | 0 0
  1. package com.acme.ejb;
  2.  
  3. import javax.ejb.EJB;
  4.  
  5. import org.jboss.arquillian.api.Deployment;
  6. import org.jboss.arquillian.junit.Arquillian;
  7. import org.jboss.shrinkwrap.api.Archives;
  8. import org.jboss.shrinkwrap.api.Filters;
  9. import org.jboss.shrinkwrap.api.spec.JavaArchive;
  10. import org.jboss.shrinkwrap.manipulation.api.Manipulators;
  11. import org.junit.Assert;
  12. import org.junit.Test;
  13. import org.junit.runner.RunWith;
  14.  
  15.  
  16. @RunWith(Arquillian.class)
  17. public class EJBExceptionTestCase
  18. {
  19.    @Deployment
  20.    public static JavaArchive createDeployment()
  21.    {
  22.       return Archives.create("test.jar", JavaArchive.class)
  23.                // Listen to added Assets to wrap them in a Javassist manipulator
  24.                .addListener(
  25.                      Filters.include(GreetingManagerBean.class),
  26.                      Manipulators.makeMethod("greet")
  27.                                  .throwException(IllegalArgumentException.class))
  28.                .addClasses(
  29.                      GreetingManager.class,
  30.                      GreetingManagerBean.class);
  31.    }
  32.    
  33.    @EJB
  34.    private GreetingManager greetingManager;
  35.  
  36.    @Test
  37.    public void shouldBeAbleToInjectEJB() throws Exception
  38.    {
  39.       String userName = "Devoxx";
  40.       try
  41.       {
  42.          greetingManager.greet(userName);
  43.          Assert.fail("Should have throw Exception");
  44.       }
  45.       catch (Exception e)
  46.       {
  47.          e.printStackTrace();
  48.       }
  49.    }
  50. }
  51.  
  52.  
  53.  
  54. package com.acme.ejb;
  55.  
  56. import javax.ejb.Local;
  57. import javax.ejb.Stateless;
  58.  
  59. @Local(GreetingManager.class)
  60. @Stateless
  61. public class GreetingManagerBean implements GreetingManager
  62. {
  63.    @Override
  64.    public String greet(String userName)
  65.    {
  66.       return "Hello " + userName;
  67.    }
  68. }
Add Comment
Please, Sign In to add comment