Don't like ads? PRO users don't see any ads ;-)
Guest

Untitled

By: a guest on May 15th, 2012  |  syntax: None  |  size: 1.77 KB  |  hits: 23  |  expires: Never
download  |  raw  |  embed  |  report abuse  |  print
Text below is selected. Please press Ctrl+C to copy to your clipboard. (⌘+C on Mac)
  1. public class TestExampleRequestHandler_Mockito
  2. {
  3.   private static final String STORE_BODY = "stored body";
  4.   private static final String CASE_HEADER = "case";
  5.   private static final String UPPERCASE = "uppercase";
  6.   private static final String REQUEST_PATH = "path";
  7.  
  8.   private ExampleRequestHandler requestHandler;
  9.   private HttpRequest request;
  10.   private Context context;
  11.   private Monitoring monitoring;
  12.   private Store store;
  13.   private Map<String, String> headers;
  14.  
  15.   @Before
  16.   public void setup()
  17.   {
  18.     requestHandler = new ExampleRequestHandler();
  19.     request = mock(HttpRequest.class);
  20.     context = mock(Context.class);
  21.     monitoring = mock(Monitoring.class);
  22.     store = mock(Store.class);
  23.     headers = mock(Map.class);
  24.      
  25.     when(context.getMonitoring()).thenReturn(monitoring);
  26.     when(context.getStore()).thenReturn(store);
  27.     when(store.get(REQUEST_PATH)).thenReturn(STORE_BODY);
  28.     when(request.getPath()).thenReturn(REQUEST_PATH);
  29.     when(request.getHeaders()).thenReturn(headers);
  30.   }
  31.    
  32.   @Test
  33.   public void shouldReturnTheStoredBody()
  34.   {
  35.     HttpResponse response = requestHandler.handle(request, context);
  36.     assertEquals(STORE_BODY, response.getBody());
  37.   }
  38.    
  39.   @Test
  40.   public void responseCodeShouldBe200()
  41.   {
  42.     HttpResponse response = requestHandler.handle(request, context);
  43.     assertEquals(200, response.getCode());
  44.   }
  45.  
  46.   @Test
  47.   public void shouldIncrementRequestCounter()
  48.   {
  49.     requestHandler.handle(request, context);
  50.     verify(monitoring).incrementRequestCounter();
  51.   }
  52.  
  53.   @Test
  54.   public void shouldConvertToUpperCaseIfHeaderValuePresent()
  55.   {
  56.     when(headers.get(CASE_HEADER)).thenReturn(UPPERCASE);
  57.      
  58.     HttpResponse response = requestHandler.handle(request, context);
  59.     assertEquals(STORE_BODY.toUpperCase(), response.getBody());
  60.   }
  61. }