SuperX-Kernmodul
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

335 lines
10 KiB

package de.superx.servlet;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertFalse;
import static org.junit.Assert.assertNotNull;
import static org.junit.Assert.assertTrue;
import static org.junit.Assert.fail;
import java.io.UnsupportedEncodingException;
import java.lang.reflect.InvocationTargetException;
import java.lang.reflect.Method;
import java.util.Arrays;
import java.util.Collections;
import java.util.List;
import jakarta.servlet.http.HttpServletRequest;
import org.junit.Ignore;
import org.junit.Test;
import org.mockito.Mockito;
import de.superx.common.SxUser;
public class SuperXmlMaskeTest extends BaseServletTest {
private SuperXmlMaske superXmlMaske = new SuperXmlMaske();
@Ignore
public void testInitServletConfig() {
// fail("Not yet implemented");
assertTrue(true);
}
@Ignore
public void testDoPostHttpServletRequestHttpServletResponse() {
fail("Not yet implemented");
}
@Ignore
public void testDoGet() {
fail("Not yet implemented");
}
/**
* @author hiber Test method for
* {@link de.superx.servlet.AbstractSuperXServlet#getServletInfo()}.
*/
@Test
public void testGetServletInfo() {
final String EXPECTED_SERVLET_INFO = "<i>SuperXDBServlet, v.1.2</i>"; // see getServletInfo() in //
// SuperXmlMaske.java line 122 ff
assertEquals("Servlet Info equals", this.superXmlMaske.getServletInfo(), EXPECTED_SERVLET_INFO);
}
public void testAbstractSuperXServlet() {
fail("Not yet implemented");
}
/**
* Test method for
* {@link de.superx.servlet.AbstractSuperXServlet#getTid(HttpServletRequest)}.
*/
@Test
public void getTid() {
final String TID = "123456";
Mockito.when(this.request.getParameter("tid")).thenReturn(TID);
assertEquals("Servlet returns the tid passed with the HttpServletRequest", this.superXmlMaske.getTid(this.request), TID);
}
/**
* Test method for
* {@link de.superx.servlet.AbstractSuperXServlet#getTid(HttpServletRequest)}.
* Method should throw exception if tid is {@code null} or empty
*/
@Test
public void getTidThrowsException() {
final String EXCEPTION_MESSAGE = "tid Argument fehlt";
List<String> tids = Arrays.asList(null, "");
for (String tid : tids) {
Mockito.when(this.request.getParameter("tid")).thenReturn(tid);
Exception excpetedException = null;
try {
this.superXmlMaske.getTid(this.request);
} catch (Exception e) {
excpetedException = e;
}
assertNotNull("Servlet throws exception when tid = \"" + tid + "\"", excpetedException);
assertEquals("Servlet throws IllegalArgumentException", excpetedException.getClass(), IllegalArgumentException.class);
assertEquals("Exception message is equals '" + EXCEPTION_MESSAGE + "'", excpetedException.getMessage(), EXCEPTION_MESSAGE);
}
}
/**
* Test (using reflection) for private method
* {@link de.superx.servlet.SuperXmlMaske#isAjaxRequest(HttpServletRequest)}
*
* @throws NoSuchMethodException
* @throws SecurityException
* @throws IllegalAccessException
* @throws IllegalArgumentException
* @throws InvocationTargetException
*/
@Test
public void testIsAjaxRequest() throws NoSuchMethodException, SecurityException, IllegalAccessException, IllegalArgumentException, InvocationTargetException {
// prepare private method
Method method = this.superXmlMaske.getClass().getDeclaredMethod("isAjaxRequest", HttpServletRequest.class);
method.setAccessible(true);
assertTrue("Method is accessible", method.isAccessible());
// prepare mock request to return true
Mockito.when(this.request.getParameterNames()).thenReturn(Collections.enumeration(Arrays.asList("getXML_")));
Boolean result = (Boolean) method.invoke(this.superXmlMaske, this.request);
assertTrue("request is an ajax request", result.booleanValue());
// prepare mock request to return false
Mockito.when(this.request.getParameterNames()).thenReturn(Collections.enumeration(Arrays.asList("")));
result = (Boolean) method.invoke(this.superXmlMaske, this.request);
assertFalse("request is not an ajax request", result.booleanValue());
method.setAccessible(false);
assertFalse("Method is not accessible", method.isAccessible());
}
public void testCheckCacheClearing() {
fail("Not yet implemented");
}
public void testForward() {
fail("Not yet implemented");
}
public void testErstmalAnmelden() {
fail("Not yet implemented");
}
/**
* Test method for
* {@link de.superx.servlet.AbstractSuperXServlet#hasProperSession(HttpServletRequest)}.
*/
@Test
public void testHasProperSession() {
this.setProperSession();
assertTrue("has proper session returns true", this.superXmlMaske.hasProperSession(this.request));
}
/**
* Test method for
* {@link de.superx.servlet.AbstractSuperXServlet#hasProperSession(HttpServletRequest)}.
* Method should return false if sessiontype is {@code null} or does not equal
* 'superx'
*/
@Test
public void testHasProperSessionWithWrongSessionType() {
Mockito.when(this.session.getAttribute("sessiontype")).thenReturn(null);
Mockito.when(this.session.getAttribute("user")).thenReturn(new SxUser("klenke"));
Mockito.when(this.request.getSession(false)).thenReturn(this.session);
assertFalse("has proper session returns false", this.superXmlMaske.hasProperSession(this.request));
Mockito.when(this.session.getAttribute("sessiontype")).thenReturn("supery");
assertFalse("has proper session returns false", this.superXmlMaske.hasProperSession(this.request));
}
/**
* Test method for
* {@link de.superx.servlet.AbstractSuperXServlet#hasProperSession(HttpServletRequest)}.
* Method should return false if user is {@code null}
*/
@Test
public void testHasProperSessionWithMissingUser() {
Mockito.when(this.session.getAttribute("sessiontype")).thenReturn("supery");
Mockito.when(this.session.getAttribute("user")).thenReturn(null);
Mockito.when(this.request.getSession(false)).thenReturn(this.session);
assertFalse("has proper session returns false", this.superXmlMaske.hasProperSession(this.request));
}
/**
* Test method for {@link de.superx.servlet#isJSONRequest(HttpServletRequest)}.
* Method should return false if user is {@code null}
*/
@Test
public void testIsJSONRequest() {
final String PARAMETER_NAME = "getJSON";
Mockito.when(this.request.getParameterNames()).thenReturn(Collections.enumeration(Arrays.asList(PARAMETER_NAME)));
assertTrue("Method returns true when request contains parameter '" + PARAMETER_NAME + "'", this.superXmlMaske.isJSONRequest(this.request));
Mockito.when(this.request.getParameterNames()).thenReturn(Collections.enumeration(Arrays.asList("")));
assertFalse("Method returns false when request does not contain parameter '" + PARAMETER_NAME + "'", this.superXmlMaske.isJSONRequest(this.request));
}
/*
* static Method of AbstractSuperXServlet
*/
@Ignore
public void testSetEncoding() throws UnsupportedEncodingException {
fail("Not yet implemented");
}
public void testServiceServletRequestServletResponse() {
fail("Not yet implemented");
}
public void testHttpServlet() {
fail("Not yet implemented");
}
public void testDoGetHttpServletRequestHttpServletResponse1() {
fail("Not yet implemented");
}
public void testGetLastModified() {
fail("Not yet implemented");
}
public void testDoHead() {
fail("Not yet implemented");
}
public void testDoPostHttpServletRequestHttpServletResponse1() {
fail("Not yet implemented");
}
public void testDoPut() {
fail("Not yet implemented");
}
public void testDoDelete() {
fail("Not yet implemented");
}
public void testDoOptions() {
fail("Not yet implemented");
}
public void testDoTrace() {
fail("Not yet implemented");
}
public void testServiceHttpServletRequestHttpServletResponse() {
fail("Not yet implemented");
}
public void testGenericServlet() {
fail("Not yet implemented");
}
public void testDestroy() {
fail("Not yet implemented");
}
public void testGetInitParameter() {
fail("Not yet implemented");
}
public void testGetInitParameterNames() {
fail("Not yet implemented");
}
public void testGetServletConfig() {
fail("Not yet implemented");
}
public void testGetServletContext() {
fail("Not yet implemented");
}
public void testGetServletInfo1() {
fail("Not yet implemented");
}
public void testInitServletConfig1() {
fail("Not yet implemented");
}
public void testInit() {
fail("Not yet implemented");
}
public void testLogString() {
fail("Not yet implemented");
}
public void testLogStringThrowable() {
fail("Not yet implemented");
}
public void testGetServletName() {
fail("Not yet implemented");
}
public void testObject() {
fail("Not yet implemented");
}
public void testGetClass() {
fail("Not yet implemented");
}
public void testHashCode() {
fail("Not yet implemented");
}
public void testEquals() {
fail("Not yet implemented");
}
public void testClone() {
fail("Not yet implemented");
}
public void testToString() {
fail("Not yet implemented");
}
public void testNotify() {
fail("Not yet implemented");
}
public void testNotifyAll() {
fail("Not yet implemented");
}
public void testWaitLong() {
fail("Not yet implemented");
}
public void testWaitLongInt() {
fail("Not yet implemented");
}
public void testWait() {
fail("Not yet implemented");
}
public void testFinalize() {
fail("Not yet implemented");
}
}