package org.apache.struts2.showcase.filedownload;
import org.junit.Before;
import org.junit.Test;
import static junit.framework.Assert.assertEquals;
import static junit.framework.Assert.assertNull;
public class FileDownloadActionTest {
private FileDownloadAction fileDownloadAction;
@Before
public void setUp() {
this.fileDownloadAction = new FileDownloadAction();
}
@Test
public void testSanitizeInputPathShouldAllowSimpleParameter() throws Exception {
assertEquals("foo", fileDownloadAction.sanitizeInputPath("foo"));
}
@Test
public void testSanitizeInputPathShouldReturnNullForNullInput() throws Exception {
assertNull(fileDownloadAction.sanitizeInputPath(null));
}
@Test
public void testSanitizeInputPathShouldReturnNullForLeadingWebInf() throws Exception {
assertNull(fileDownloadAction.sanitizeInputPath("WEB-INF/foo"));
}
@Test
public void testSanitizeInputPathShouldReturnNullForNonLeadingWebInf() throws Exception {
assertNull(fileDownloadAction.sanitizeInputPath("./WEB-INF/foo"));
}
@Test
public void testSanitizeInputPathShouldReturnNullForNonUppercaseWebInf() throws Exception {
assertNull(fileDownloadAction.sanitizeInputPath("./wEB-Inf/foo"));
}
}