Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Migrated to Confluence 5.3

...

Code Block
xml
xml
<constant name="struts.enable.SlashesInActionNames" value="true" />
<constant name="struts.mapper.alwaysSelectFullNamespace" value="false" />

Unit testing

Below you will find a simple unit test to test how to test actions when Restful2ActionMapper is used.

Code Block
java
java

public class MovieActionTest extends StrutsJUnit4TestCase<MovieActionTest>{
    
    @Before
    public void setUp() throws Exception {
        //assumes Basic authentication
        super.setUp();
        String credentials = "username:password";
        request.addHeader("authorization", "BASIC " + Base64.encodeBase64String(credentials.getBytes()));
    }
        
    @Test
    public void testIndex() throws Exception {
        request.setMethod("get"); //Http method should be set
        
        ActionProxy proxy = getActionProxy("/rest/movie/");                        
      
        proxy.setExecuteResult(false);
        String result = proxy.execute();
        
       //assertions ...        
    }
    
    @Test
    public void testView() throws Exception {
        request.setMethod("get"); //Http method should be set
              
        ActionProxy proxy = getActionProxy("/rest/movie/1");                        
        MovieAction movieAction = MovieAction.class.cast(proxy.getAction());
           
        proxy.setExecuteResult(false);
        
        String result = proxy.execute();
        //assertions ...
        assertEquals("1", movieAction.getId());         
    }
}

Thanks to Antonios Gkogkakis for the exampleexamples!