dev@javaserverfaces.java.net

Code Review Request: (JAVASERVERFACES-3593) Navigation from method-call-node to method-call-node does not work

From: zhijun Ren <ren.zhijun_at_oracle.com>
Date: Thu, 15 Jan 2015 14:22:46 +0800

Hi Ed,

I have attached change bundle to the jira issue. The change is big and
including 25 cases to cover all the navigation possibilities. I have
discarded your original tests because of the complete coverage.

I noticed that the flow can be defined via xml file and java annotation,
so I don't know whether need add more cases to test the combinations of
the navigation test with different flow definition ways.

Please help to review due to the big code size and I am looking forward
your comments.

I have tested all the 25 cases against GF and get the following results
and I think the failed tests may be caused by the Mojarra implementation
code and I am checking into it.

/testReturnToFlowCallNode(com.sun.faces.test.javaee6web.flowtraversalcombinations.ReturnNaviToOtherNodesIT)
Time elapsed: 0.045 sec <<< ERROR!
com.gargoylesoftware.htmlunit.FailingHttpStatusCodeException: 500
Internal Server Error for
http://localhost:8080/test-javaee6web-flowTraversalCombinations/faces/initial-return-node-flow/first_page.xhtml?jfwid=c2dceec4aeba57670ae82226faae:0
     at
com.gargoylesoftware.htmlunit.WebClient.throwFailingHttpStatusCodeExceptionIfNecessary(WebClient.java:544)
     at
com.gargoylesoftware.htmlunit.WebClient.download(WebClient.java:2228)
     at
com.gargoylesoftware.htmlunit.html.HtmlForm.submit(HtmlForm.java:140)
     at
com.gargoylesoftware.htmlunit.html.HtmlSubmitInput.doClickStateUpdate(HtmlSubmitInput.java:91)
     at
com.gargoylesoftware.htmlunit.html.HtmlElement.click(HtmlElement.java:1251)
     at
com.gargoylesoftware.htmlunit.html.HtmlElement.click(HtmlElement.java:1198)
     at
com.gargoylesoftware.htmlunit.html.HtmlElement.click(HtmlElement.java:1158)
     at
com.sun.faces.test.javaee6web.flowtraversalcombinations.ReturnNaviToOtherNodesIT.testReturnToFlowCallNode(ReturnNaviToOtherNodesIT.java:135)

Running
com.sun.faces.test.javaee6web.flowtraversalcombinations.SwitchNaviToOtherNodesIT
Tests run: 5, Failures: 1, Errors: 0, Skipped: 0, Time elapsed: 0.165
sec <<< FAILURE! - in
com.sun.faces.test.javaee6web.flowtraversalcombinations.SwitchNaviToOtherNodesIT
testNaviToReturn(com.sun.faces.test.javaee6web.flowtraversalcombinations.SwitchNaviToOtherNodesIT)
Time elapsed: 0.032 sec <<< FAILURE!
java.lang.AssertionError: null
     at org.junit.Assert.fail(Assert.java:86)
     at org.junit.Assert.assertTrue(Assert.java:41)
     at org.junit.Assert.assertTrue(Assert.java:52)
     at
com.sun.faces.test.javaee6web.flowtraversalcombinations.SwitchNaviToOtherNodesIT.testNaviToReturn(SwitchNaviToOtherNodesIT.java:112)

Results :

Failed tests:
   SwitchNaviToOtherNodesIT.testNaviToReturn:112 null

Tests in error:
   ReturnNaviToOtherNodesIT.testReturnToFlowCallNode:135
FailingHttpStatusCode ...

Tests run: 25, Failures: 1, Errors: 1, Skipped: 0/

BR,
Zhiijun



On 1/14/15, 1:43, Edward Burns wrote:
>>>>>> On Wed, 7 Jan 2015 02:24:54 +0000 (UTC), "ren.zhijun.oracle (JIRA)"<jira-no-reply_at_java.net> said:
> ZR> I have ported your changes into my local trunk workspace and run all
> ZR> the tests for glassfish.
>
> ZR> The newly added uncompleted tests failed. To complete them, I need
> ZR> to get familiar with the jsf flow.
>
> There are some failures, yes. This is because the bug is basically,
> "make all possible flow traversals work". My process for fixing the bug
> is using test driven development. As I worked through all the possible
> flow traversal combinations I discovered more problems.
>
> ZR> So I need more time to do it, please stay tuned.
>
> Yes, that's understandable. It might be better to do the work in stages
> and commit the parts that currently do work, then file one or more
> separate bugs for the remainder.
>
> Ed
>