Mercurial > hg > release > icedtea-web-1.7
changeset 1403:a49fe8d981cd
added tests for jnlp protocol
* tests/reproducers/signed/AppletTestSigned/testcases/AppletTestSignedTests.java: added tests for jnlp protocol
* tests/reproducers/simple/simpletest1/testcases/SimpleTest1Test.java: added tests for jnlp protocol
author | Jiri Vanek <jvanek@redhat.com> |
---|---|
date | Tue, 25 Apr 2017 14:12:21 +0200 |
parents | bbb78a496f99 |
children | 4d892fe13055 |
files | ChangeLog tests/reproducers/signed/AppletTestSigned/testcases/AppletTestSignedTests.java tests/reproducers/simple/simpletest1/testcases/SimpleTest1Test.java |
diffstat | 3 files changed, 64 insertions(+), 6 deletions(-) [+] |
line wrap: on
line diff
--- a/ChangeLog Tue Apr 25 11:45:30 2017 +0200 +++ b/ChangeLog Tue Apr 25 14:12:21 2017 +0200 @@ -1,3 +1,8 @@ +2017-04-25 Jiri Vanek <jvanek@redhat.com> + + * tests/reproducers/signed/AppletTestSigned/testcases/AppletTestSignedTests.java: added tests for jnlp protocol + * tests/reproducers/simple/simpletest1/testcases/SimpleTest1Test.java: added tests for jnlp protocol + 2017-04-25 Jiri Vanek <jvanek@redhat.com> * Makefile.am: cp -a got extracted -a switch to variable, disabled on win,
--- a/tests/reproducers/signed/AppletTestSigned/testcases/AppletTestSignedTests.java Tue Apr 25 11:45:30 2017 +0200 +++ b/tests/reproducers/signed/AppletTestSigned/testcases/AppletTestSignedTests.java Tue Apr 25 14:12:21 2017 +0200 @@ -38,20 +38,22 @@ import java.util.Arrays; import java.util.Collections; import java.util.List; +import net.sourceforge.jnlp.OptionsDefinitions; import net.sourceforge.jnlp.ProcessResult; +import net.sourceforge.jnlp.ProcessWrapper; import net.sourceforge.jnlp.ServerAccess; import net.sourceforge.jnlp.browsertesting.BrowserTest; import net.sourceforge.jnlp.browsertesting.Browsers; import net.sourceforge.jnlp.annotations.TestInBrowsers; import net.sourceforge.jnlp.closinglisteners.RulesFolowingClosingListener; import static net.sourceforge.jnlp.closinglisteners.RulesFolowingClosingListener.*; +import net.sourceforge.jnlp.closinglisteners.StringBasedClosingListener; import org.junit.Assert; import org.junit.Test; public class AppletTestSignedTests extends BrowserTest { - private final List<String> l = Collections.unmodifiableList(Arrays.asList(new String[]{"-Xtrustall"})); private static final String s0 = "AppletTestSigned was started"; private static final String s1 = "value1"; private static final String s2 = "value2"; @@ -64,12 +66,50 @@ private static final ContainsRule killedRule = new ContainsRule(s7); private static final RulesFolowingClosingListener okListener=new RulesFolowingClosingListener(startedRule, variable1Rule, variable2Rule, initialisedRule, killedRule); - // @Test + @Test public void AppletTestSignedTest() throws Exception { - ProcessResult pr = server.executeJavawsHeadless(l, "/AppletTestSigned.jnlp"); + ProcessWrapper pw = new ProcessWrapper(server.getJavawsLocation(), Arrays.asList(new String[]{OptionsDefinitions.OPTIONS.HEADLESS.option}), server.getUrl("AppletTestSigned.jnlp")); + pw.setWriter("YES\nYES\n"); + pw.addStdOutListener(new StringBasedClosingListener("killer was started")); + ProcessResult pr = pw.execute(); + evaluateSignedApplet(pr, true); + //closing listener affected those two + //Assert.assertFalse(pr.wasTerminated); + //Assert.assertEquals((Integer) 0, pr.returnValue); + } + + @Test + @TestInBrowsers(testIn = {Browsers.one}) + public void AppletTestSignedTestBrowser() throws Exception { + ProcessWrapper pw = new ProcessWrapper(server.getBrowserLocation(), Arrays.asList(new String[]{}), server.getUrl("AppletTestSigned.html")); + pw.setWriter("YES\nYES\n"); + pw.addStdOutListener(new StringBasedClosingListener("killer was started")); + ProcessResult pr = pw.execute(); evaluateSignedApplet(pr, true); - Assert.assertFalse(pr.wasTerminated); - Assert.assertEquals((Integer) 0, pr.returnValue); + } + + @Test + public void AppletTestSignedTestHtmlSwitch() throws Exception { + ProcessWrapper pw = new ProcessWrapper(server.getJavawsLocation(), Arrays.asList(new String[]{OptionsDefinitions.OPTIONS.HEADLESS.option, OptionsDefinitions.OPTIONS.HTML.option}), server.getUrl("AppletTestSigned.html")); + pw.setWriter("YES\nYES\n"); + pw.addStdOutListener(new StringBasedClosingListener("killer was started")); + ProcessResult pr = pw.execute(); + evaluateSignedApplet(pr, true); + } + + @Test + public void AppletTestSignedTestHtmlSwitchNotAffectedByJnlpProtocol() throws Exception { + String jnlpUrl = "jnlp://localhost:" + server.getPort() + "/AppletTestSigned.html"; + ProcessWrapper pw = new ProcessWrapper(server.getJavawsLocation(), Arrays.asList(new String[]{OptionsDefinitions.OPTIONS.HEADLESS.option, OptionsDefinitions.OPTIONS.HTML.option}), jnlpUrl); + pw.setWriter("YES\nYES\n"); + pw.addStdOutListener(new StringBasedClosingListener("killer was started")); + ProcessResult pr = pw.execute(); + Assert.assertTrue("jnlp protocol should not be recognized", pr.stderr.contains("Invalid jnlp file "+jnlpUrl)); + //applet should not start + Assert.assertFalse("AppletTestSigned stdout " + initialisedRule.toFailingString()+ " but didn't", initialisedRule.evaluate(pr.stdout)); + Assert.assertFalse("AppletTestSigned stdout " + startedRule.toFailingString() + " but didn't", startedRule.evaluate(pr.stdout)); + Assert.assertFalse("AppletTestSigned stdout " + variable1Rule.toFailingString() + " but didn't", variable1Rule.evaluate(pr.stdout)); + Assert.assertFalse("AppletTestSigned stdout " + variable2Rule.toFailingString() + " but didn't", variable2Rule.evaluate(pr.stdout)); } private void evaluateSignedApplet(ProcessResult pr, boolean javawsApplet) { @@ -77,7 +117,7 @@ Assert.assertTrue("AppletTestSigned stdout " + startedRule.toPassingString() + " but didn't", startedRule.evaluate(pr.stdout)); Assert.assertTrue("AppletTestSigned stdout " + variable1Rule.toPassingString() + " but didn't", variable1Rule.evaluate(pr.stdout)); Assert.assertTrue("AppletTestSigned stdout " + variable2Rule.toPassingString() + " but didn't", variable2Rule.evaluate(pr.stdout)); - Assert.assertTrue("AppletTestSigned stdout " + killedRule.toPassingString() + " but didn't", killedRule.evaluate(pr.stdout)); + //Assert.assertTrue("AppletTestSigned stdout " + killedRule.toPassingString() + " but didn't", killedRule.evaluate(pr.stdout)); if (!javawsApplet) { /*this is working correctly in most browser, but not in all. temporarily disabling String s4 = "AppletTestSigned was stopped";
--- a/tests/reproducers/simple/simpletest1/testcases/SimpleTest1Test.java Tue Apr 25 11:45:30 2017 +0200 +++ b/tests/reproducers/simple/simpletest1/testcases/SimpleTest1Test.java Tue Apr 25 14:12:21 2017 +0200 @@ -44,7 +44,9 @@ import net.sourceforge.jnlp.OptionsDefinitions; import net.sourceforge.jnlp.ProcessResult; import net.sourceforge.jnlp.ServerAccess; +import net.sourceforge.jnlp.closinglisteners.StringBasedClosingListener; import net.sourceforge.jnlp.util.FileUtils; +import net.sourceforge.jnlp.util.optionparser.ParsedOption; import org.junit.Assert; import org.junit.Test; @@ -91,6 +93,17 @@ ProcessResult pr = server.executeJavawsHeadless(null, "/simpletest1.jnlp"); checkLaunched(pr); } + + @Test + public void testSimpletestJnlpProtocolMainArgument() throws Exception { + ProcessResult pr = ServerAccess.executeProcess(Arrays.asList(new String[]{server.getJavawsLocation(), "jnlp://localhost:"+server.getPort()+"/simpletest1.jnlp"}), new StringBasedClosingListener("Good simple javaws exapmle"), null); + checkLaunched(pr, false, false); + } + @Test + public void testSimpletestJnlpProtocolJnlpArgument() throws Exception { + ProcessResult pr = ServerAccess.executeProcess(Arrays.asList(new String[]{server.getJavawsLocation(), OptionsDefinitions.OPTIONS.JNLP.option , "jnlp://localhost:"+server.getPort()+"/simpletest1.jnlp"}), new StringBasedClosingListener("Good simple javaws exapmle"), null); + checkLaunched(pr, false, false); + } @Test public void testSimpletest1lunchNotOkJnlpStrict() throws Exception {