Skip to content

Commit

Permalink
wip - portlet stuff
Browse files Browse the repository at this point in the history
  • Loading branch information
hazendaz committed Feb 4, 2024
1 parent a557a3c commit 56faa31
Show file tree
Hide file tree
Showing 3 changed files with 162 additions and 42 deletions.
12 changes: 12 additions & 0 deletions displaytag/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,18 @@
</properties>

<dependencies>
<dependency>
<groupId>com.github.hazendaz.jmockit</groupId>
<artifactId>jmockit</artifactId>
<version>1.49.2</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.powermock</groupId>
<artifactId>powermock-reflect</artifactId>
<version>2.0.9</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-lang3</artifactId>
Expand Down
121 changes: 104 additions & 17 deletions displaytag/src/test/java/org/displaytag/portlet/PortletHrefTest.java
Original file line number Diff line number Diff line change
Expand Up @@ -24,13 +24,16 @@
import java.util.HashMap;
import java.util.Map;

import javax.portlet.MimeResponse;
import javax.portlet.PortletMode;
import javax.portlet.PortletRequest;
import javax.portlet.WindowState;

import org.junit.jupiter.api.Assertions;
import org.junit.jupiter.api.Test;
import org.springframework.mock.web.portlet.MockPortletRequest;
import org.springframework.mock.web.portlet.MockRenderResponse;

import mockit.Expectations;
import mockit.Mocked;

/**
* The Class PortletHrefTest.
Expand All @@ -41,6 +44,12 @@
*/
class PortletHrefTest {

@Mocked
PortletRequest portletRequest;

@Mocked
MimeResponse portletResponse;

/**
* Test constructor.
*/
Expand All @@ -54,22 +63,22 @@ void testConstructor() {
}

Assertions.assertThrows(IllegalArgumentException.class, () -> {
new PortletHref(new MockPortletRequest(), null);
new PortletHref(portletRequest, null);
}, "IllegalArgumentException should have been thrown");

Assertions.assertThrows(IllegalArgumentException.class, () -> {
new PortletHref(null, new MockRenderResponse());
new PortletHref(null, portletResponse);
}, "IllegalArgumentException should have been thrown");

new PortletHref(new MockPortletRequest(), new MockRenderResponse());
new PortletHref(portletRequest, portletResponse);
}

/**
* Test url type parameters.
*/
@Test
void testUrlTypeParameters() {
final PortletHref href = new PortletHref(new MockPortletRequest(), new MockRenderResponse());
final PortletHref href = new PortletHref(portletRequest, portletResponse);

Assertions.assertFalse(href.isAction());

Expand Down Expand Up @@ -109,7 +118,7 @@ void testUrlTypeParameters() {
*/
@Test
void testSecureParameters() {
final PortletHref href = new PortletHref(new MockPortletRequest(), new MockRenderResponse());
final PortletHref href = new PortletHref(portletRequest, portletResponse);

Assertions.assertFalse(href.isRequestedSecure());

Expand Down Expand Up @@ -137,7 +146,14 @@ void testSecureParameters() {
*/
@Test
void testPortletModeParameters() {
final PortletHref href = new PortletHref(new MockPortletRequest(), new MockRenderResponse());
new Expectations() {
{
portletRequest.isPortletModeAllowed(this.withInstanceOf(PortletMode.class));
result = true;
}
};

final PortletHref href = new PortletHref(portletRequest, portletResponse);

Assertions.assertNull(href.getRequestedMode());

Expand All @@ -153,6 +169,13 @@ void testPortletModeParameters() {
href.addParameter(PortletHref.PARAM_MODE, null);
Assertions.assertNull(href.getRequestedMode());

new Expectations() {
{
portletRequest.isPortletModeAllowed(this.withInstanceOf(PortletMode.class));
result = false;
}
};

try {
href.addParameter(PortletHref.PARAM_MODE, "info");
Assertions.fail("IllegalArgumentException should have been thrown");
Expand All @@ -166,7 +189,14 @@ void testPortletModeParameters() {
*/
@Test
void testWindowStateParameters() {
final PortletHref href = new PortletHref(new MockPortletRequest(), new MockRenderResponse());
new Expectations() {
{
portletRequest.isWindowStateAllowed(this.withInstanceOf(WindowState.class));
result = true;
}
};

final PortletHref href = new PortletHref(portletRequest, portletResponse);

Assertions.assertNull(href.getRequestedState());

Expand All @@ -182,6 +212,13 @@ void testWindowStateParameters() {
href.addParameter(PortletHref.PARAM_STATE, null);
Assertions.assertNull(href.getRequestedState());

new Expectations() {
{
portletRequest.isWindowStateAllowed(this.withInstanceOf(WindowState.class));
result = false;
}
};

try {
href.addParameter(PortletHref.PARAM_STATE, "exclusive");
Assertions.fail("IllegalArgumentException should have been thrown");
Expand All @@ -195,7 +232,7 @@ void testWindowStateParameters() {
*/
@Test
void testInvalidPrefixUseParameters() {
final PortletHref href = new PortletHref(new MockPortletRequest(), new MockRenderResponse());
final PortletHref href = new PortletHref(portletRequest, portletResponse);

try {
href.addParameter("portlet:WindowState", "exclusive");
Expand All @@ -210,7 +247,17 @@ void testInvalidPrefixUseParameters() {
*/
@Test
void testAddParameters() {
final PortletHref href = new PortletHref(new MockPortletRequest(), new MockRenderResponse());
new Expectations() {
{
portletRequest.isPortletModeAllowed(this.withInstanceOf(PortletMode.class));
result = true;

portletRequest.isWindowStateAllowed(this.withInstanceOf(WindowState.class));
result = true;
}
};

final PortletHref href = new PortletHref(portletRequest, portletResponse);

href.addParameter(PortletHref.PARAM_MODE, "help");
href.addParameter(PortletHref.PARAM_STATE, "maximized");
Expand All @@ -235,7 +282,17 @@ void testAddParameters() {
*/
@Test
void testAddParameterMap() {
final PortletHref href = new PortletHref(new MockPortletRequest(), new MockRenderResponse());
new Expectations() {
{
portletRequest.isPortletModeAllowed(this.withInstanceOf(PortletMode.class));
result = true;

portletRequest.isWindowStateAllowed(this.withInstanceOf(WindowState.class));
result = true;
}
};

final PortletHref href = new PortletHref(portletRequest, portletResponse);

final Map<String, String[]> params = new HashMap<>();
params.put(PortletHref.PARAM_MODE, new String[] { "help" });
Expand Down Expand Up @@ -270,7 +327,17 @@ void testAddParameterMap() {
*/
@Test
void testSetParameterMap() {
final PortletHref href = new PortletHref(new MockPortletRequest(), new MockRenderResponse());
new Expectations() {
{
portletRequest.isPortletModeAllowed(this.withInstanceOf(PortletMode.class));
result = true;

portletRequest.isWindowStateAllowed(this.withInstanceOf(WindowState.class));
result = true;
}
};

final PortletHref href = new PortletHref(portletRequest, portletResponse);

href.addParameter("ORIGINAL_PARAM", "ORIGNAL_VALUE");

Expand Down Expand Up @@ -308,7 +375,7 @@ void testSetParameterMap() {
*/
@Test
void testRemoveParameter() {
final PortletHref href = new PortletHref(new MockPortletRequest(), new MockRenderResponse());
final PortletHref href = new PortletHref(portletRequest, portletResponse);

href.addParameter("SINGLE_PARAM", "VAL1");

Expand All @@ -328,7 +395,17 @@ void testRemoveParameter() {
*/
@Test
void testClone() {
final PortletHref href = new PortletHref(new MockPortletRequest(), new MockRenderResponse());
new Expectations() {
{
portletRequest.isPortletModeAllowed(this.withInstanceOf(PortletMode.class));
result = true;

portletRequest.isWindowStateAllowed(this.withInstanceOf(WindowState.class));
result = true;
}
};

final PortletHref href = new PortletHref(portletRequest, portletResponse);

href.addParameter(PortletHref.PARAM_MODE, "help");
href.addParameter(PortletHref.PARAM_STATE, "maximized");
Expand Down Expand Up @@ -358,7 +435,17 @@ void testClone() {
*/
@Test
void testBaseUrl() {
final PortletHref href = new PortletHref(new MockPortletRequest(), new MockRenderResponse());
new Expectations() {
{
portletRequest.isPortletModeAllowed(this.withInstanceOf(PortletMode.class));
result = true;

portletRequest.isWindowStateAllowed(this.withInstanceOf(WindowState.class));
result = true;
}
};

final PortletHref href = new PortletHref(portletRequest, portletResponse);

href.addParameter(PortletHref.PARAM_MODE, "help");
href.addParameter(PortletHref.PARAM_STATE, "maximized");
Expand All @@ -379,7 +466,7 @@ void testBaseUrl() {
*/
@Test
void testFullUrl() {
final PortletHref href = new PortletHref(new MockPortletRequest(), new MockRenderResponse());
final PortletHref href = new PortletHref(portletRequest, portletResponse);

final String urlString1 = href.toString();
Assertions.assertEquals("http://localhost/mockportlet?urlType=render", urlString1);
Expand Down
Loading

0 comments on commit 56faa31

Please sign in to comment.