package com.googlecode.tawus.ajaxupload.internal;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.apache.tapestry5.services.HttpServletRequestHandler;
import org.apache.tapestry5.test.TapestryTestCase;
import org.testng.annotations.Test;
import com.googlecode.tawus.ajaxupload.internal.AjaxUploadServletRequestFilter;
import com.googlecode.tawus.ajaxupload.services.AjaxUploadDecoder;
public class AjaxUploadServletRequestFilterTest extends TapestryTestCase
{
@Test
public void check_non_ajax_upload_request_does_not_setup_ajax_upload_decoder() throws Exception
{
AjaxUploadDecoder decoder = mockAjaxUploadDecoder();
AjaxUploadServletRequestFilter filter = new AjaxUploadServletRequestFilter(decoder);
HttpServletRequest request = mockHttpServletRequest();
HttpServletResponse response = mockHttpServletResponse();
HttpServletRequestHandler handler = mockHttpServletRequestHandler();
expect(handler.service(request, response)).andReturn(true);
expect(decoder.isAjaxUploadRequest(request)).andReturn(false);
replay();
filter.service(request, response, handler);
verify();
}
@Test
public void check_ajax_upload_request_does_setup_ajax_upload_decoder() throws Exception
{
AjaxUploadDecoder decoder = mockAjaxUploadDecoder();
AjaxUploadServletRequestFilter filter = new AjaxUploadServletRequestFilter(decoder);
HttpServletRequest request = mockHttpServletRequest();
HttpServletResponse response = mockHttpServletResponse();
HttpServletRequestHandler handler = mockHttpServletRequestHandler();
expect(handler.service(request, response)).andReturn(true);
expect(decoder.isAjaxUploadRequest(request)).andReturn(true);
decoder.setupUploadedFile(request);
replay();
filter.service(request, response, handler);
verify();
}
private AjaxUploadDecoder mockAjaxUploadDecoder()
{
return newMock(AjaxUploadDecoder.class);
}
}