You are viewing a plain text version of this content. The canonical link for it is here.
Posted to pluto-dev@portals.apache.org by "Neil Griffin (JIRA)" <ji...@apache.org> on 2019/04/10 19:16:00 UTC

[jira] [Updated] (PLUTO-731) TCK: Contesting usage of PortletRequest.getProperty("Referer") in V3RenderStateTests

     [ https://issues.apache.org/jira/browse/PLUTO-731?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Neil Griffin updated PLUTO-731:
-------------------------------
    Fix Version/s:     (was: 3.1.0)
                   3.0.2-TCK

> TCK: Contesting usage of PortletRequest.getProperty("Referer") in V3RenderStateTests
> ------------------------------------------------------------------------------------
>
>                 Key: PLUTO-731
>                 URL: https://issues.apache.org/jira/browse/PLUTO-731
>             Project: Pluto
>          Issue Type: Bug
>          Components: tck
>    Affects Versions: 3.0.0, 3.0.1
>            Reporter: Neil Griffin
>            Assignee: Neil Griffin
>            Priority: Major
>             Fix For: 3.0.2-TCK
>
>
> The TCK test case for V3RenderStateTests_SPEC2_12_MutableRenderState_setPortletMode5 looks like the following:
> {code:java|title=RenderStateTests_SPEC2_12_MutableRenderState.java}
> /*
>  * TestCase:
>  * V3RenderStateTests_SPEC2_12_MutableRenderState_setPortletMode5
>  */
> /*
>  * Details:
>  * "Throws IllegalStateException if the method is invoked after sendRedirect has been called."
>  */
> TestResult result = tcd.getTestResultFailed(
>       V3RENDERSTATETESTS_SPEC2_12_MUTABLERENDERSTATE_SETPORTLETMODE5);
> try {
>    String referer = portletReq.getProperty("Referer");
>    portletResp.sendRedirect(referer);
>    portletResp.setPortletMode(PortletMode.UNDEFINED);
> } catch (IllegalStateException e) {
>    result.setTcSuccess(true);
>    result.appendTcDetail(e.toString());
> }
> result.writeTo(writer);
> {code}
> This issue is contesting usage of {{PortletRequest.getProperty("Referer")}} since the test anticipates a {{RenderURL}} for redirection. When the TCK runs in an automated fashion, V3RenderStateTests_SPEC2_12_MutableRenderState_setPortletMode4 precedes V3RenderStateTests_SPEC2_12_MutableRenderState_setPortletMode5. Since Apache Pluto implements the post-redirect-get design pattern, the "Referer" is a RenderURL. Liferay Portal does not implement post-redirect-get by default, and the "Referer" is an ActionURL.
> A more appropriate URL to use for redirection is the new Portlet 3.0 {{ActionResponse.createRedirectURL(MimeResponse.Copy)}} method.
> V3RenderStateTests_SPEC2_12_MutableRenderState_setWindowState5 has the same issue.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)