@Test(expectedExceptions = IllegalArgumentException.class) public void shouldThrowExceptionIfHandlerIsNotHandlerMethod() throws Exception { // given // when interceptor.preHandle(mockRequest, mockResponse, new Object()); // then }
public void shouldImmediatelyReturnIfNoRobotInfoFound() throws Exception { // given when(mockCombinatorStrategy.combine(testMethod)).thenReturn(Collections.<RobotInfo>emptyList()); // when final boolean result = interceptor.preHandle(mockRequest, mockResponse, mockHandlerMethod); // then assertTrue("Interceptor should always return true", result); assertNull( "Request attribute should not be set", mockRequest.getAttribute(RepInterceptor.ROBOTS_REQUEST_ATTRIBUTE)); assertFalse("No headers should be added", mockRequest.getHeaderNames().hasMoreElements()); verify(mockCombinatorStrategy).combine(testMethod); }
public void shouldWriteAttributeNotHeadersInMetaMode() throws Exception { // given interceptor.setMode(RepInterceptor.RepMode.META); when(mockCombinatorStrategy.combine(testMethod)) .thenReturn(Lists.newArrayList(new RobotInfo("ua"))); // when final boolean result = interceptor.preHandle(mockRequest, mockResponse, mockHandlerMethod); // then assertTrue("Interceptor should always return true", result); final Object attribute = mockRequest.getAttribute(RepInterceptor.ROBOTS_REQUEST_ATTRIBUTE); assertNotNull("Request attribute should be set", attribute); final List<String> headers = mockResponse.getHeaders(RepInterceptor.ROBOTS_HEADER_NAME); assertTrue("No headers should be written", headers.isEmpty()); verify(mockCombinatorStrategy).combine(testMethod); verifyZeroInteractions(mockHeaderFormatter); }
public void shouldWriteAttributeAndHeadersInHeaderMode() throws Exception { // given interceptor.setMode(RepInterceptor.RepMode.HEADER); when(mockCombinatorStrategy.combine(testMethod)) .thenReturn(Lists.newArrayList(new RobotInfo("ua"))); // when final boolean result = interceptor.preHandle(mockRequest, mockResponse, mockHandlerMethod); // then assertTrue("Interceptor should always return true", result); final Object attribute = mockRequest.getAttribute(RepInterceptor.ROBOTS_REQUEST_ATTRIBUTE); assertNotNull("Request attribute should be set", attribute); final List<String> headers = mockResponse.getHeaders(RepInterceptor.ROBOTS_HEADER_NAME); assertEquals(1, headers.size()); assertEquals("header-value", headers.get(0)); verify(mockCombinatorStrategy).combine(testMethod); verify(mockHeaderFormatter).format(any(RobotInfo.class)); }