Package com.gargoylesoftware.htmlunit

Examples of com.gargoylesoftware.htmlunit.TextPage


    @SpecAssertions({ @SpecAssertion(section = "6.7.4", id = "aa") })
    public void testPost() throws Exception {
        WebClient client = new WebClient();

        // begin conversation
        TextPage initialPage = client.getPage(getPath("/begin", null));
        String content = initialPage.getContent();
        assertTrue(content.contains("message: Hello"));
        assertTrue(content.contains("transient: false"));

        String cid = getCid(content);

        // submit a form
        {
            HtmlPage form = client.getPage(url.toString() + "/message.html");
            getFirstMatchingElement(form, HtmlTextInput.class, "message").setValueAttribute("Hola!");
            getFirstMatchingElement(form, HtmlTextInput.class, "cid").setValueAttribute(cid);
            TextPage page = getFirstMatchingElement(form, HtmlSubmitInput.class, "submit").click();

            assertTrue(page.getContent().contains("message: Hola!"));
            assertTrue(page.getContent().contains("cid: [" + cid + "]"));
            assertTrue(page.getContent().contains("transient: false"));
        }

        // verify conversation state
        {
            TextPage page = client.getPage(getPath("/display", cid));
            assertTrue(page.getContent().contains("message: Hola!"));
            assertTrue(page.getContent().contains("cid: [" + cid + "]"));
            assertTrue(page.getContent().contains("transient: false"));
        }
    }
View Full Code Here


    public void testLifecycleEventFired() throws Exception {

        WebClient webClient = new WebClient();

        // Begin new long-running conversation
        TextPage page = webClient.getPage(contextPath + "test?action=begin");
        assertTrue(page.getContent().contains("cid:" + ConversationScopedBean.CID));

        // Invalidate HTTP session - destroy non-attached long-running conversation
        page = webClient.getPage(contextPath + "test?action=invalidate");

        // Get the info
        page = webClient.getPage(contextPath + "test?action=info");
        assertTrue(page.getContent().contains("destroyed cid:" + ConversationScopedBean.CID));
    }
View Full Code Here

    // TODO this test doesn't verify that the long-running conversation is destroyed but that it cannot be associated
    public void testInvalidatingSessionDestroysConversation() throws Exception {
        WebClient client = new WebClient();

        // begin conversation
        TextPage initialPage = client.getPage(getPath("/begin", null));
        String content = initialPage.getContent();
        assertTrue(content.contains("message: Hello"));
        assertTrue(content.contains("transient: false"));

        String cid = getCid(content);
View Full Code Here

    public void testLifecycleEventFiredForLongRunningConversation() throws Exception {

        WebClient client = new WebClient();

        // The current transient conversation is promoted to long-running
        TextPage page = client.getPage(contextPath + "/begin");
        assertTrue(page.getContent().contains("Initialized:true"));
        assertTrue(page.getContent().contains("Destroyed:false"));
        assertTrue(page.getContent().contains("cid:" + ConversationScopedBean.CID));

        // The long-running conversation is reassociated
        page = client.getPage(contextPath + "/display?cid=" + ConversationScopedBean.CID);
        assertTrue(page.getContent().contains("Initialized:true"));
        assertTrue(page.getContent().contains("Destroyed:false"));
        assertTrue(page.getContent().contains("cid:" + ConversationScopedBean.CID));

        page = client.getPage(contextPath + "/display?cid=" + ConversationScopedBean.CID);
        assertTrue(page.getContent().contains("Initialized:true"));
        assertTrue(page.getContent().contains("Destroyed:false"));
        assertTrue(page.getContent().contains("cid:" + ConversationScopedBean.CID));

        // The long-running conversation is marked transient
        page = client.getPage(contextPath + "/end?cid=" + ConversationScopedBean.CID);
        assertTrue(page.getContent().contains("Initialized:true"));
        assertTrue(page.getContent().contains("Destroyed:false"));
        assertTrue(page.getContent().contains("cid:null"));

        // The current transient conversation is initialized
        // The last long-running conversation was destroyed after the previous servlet request service() method completed
        page = client.getPage(contextPath + "/display");
        assertTrue(page.getContent().contains("Initialized:true"));
        assertTrue(page.getContent().contains("Destroyed:true"));
        assertTrue(page.getContent().contains("cid:null"));
    }
View Full Code Here

        assertNotEquals(id01, id02);

        WebClient webClient = new WebClient();
        webClient.setThrowExceptionOnFailingStatusCode(true);

        TextPage info = webClient.getPage(contextPath + "info");

        Matcher matcher = Pattern.compile("(Foo destroyed:)(\\w+)").matcher(info.getContent());
        if (matcher.find()) {
            String value = matcher.group(2);
            assertEquals(value, "2");
        } else {
            fail();
View Full Code Here

    public void testDecoratorInstanceIsDependentObject() throws Exception {

        WebClient webClient = new WebClient();
        webClient.setThrowExceptionOnFailingStatusCode(true);

        TextPage resp01 = webClient.getPage(contextPath + "bank?action=deposit&amount=10");
        assertTrue(resp01.getContent().contains("ShortTermBalance:10"));
        assertTrue(resp01.getContent().contains("DurableBalance:10"));
        assertTrue(resp01.getContent().contains("PostConstructCallers:2"));
        // Note that short-term account is request scoped and thus destroyed after request - however this info is not available
        // during the request - we have to check after the next request
        assertTrue(resp01.getContent().contains("PreDestroyCallers:0"));

        TextPage resp02 = webClient.getPage(contextPath + "bank?action=deposit&amount=10");
        assertTrue(resp02.getContent().contains("ShortTermBalance:10"));
        assertTrue(resp02.getContent().contains("DurableBalance:20"));
        assertTrue(resp02.getContent().contains("PostConstructCallers:3"));
        assertTrue(resp02.getContent().contains("PreDestroyCallers:1"));

        // And finally check decorator is applied
        TextPage resp03 = webClient.getPage(contextPath + "bank?action=withdraw&amount=5");
        assertTrue(resp03.getContent().contains("ShortTermBalance:-10"));
        assertTrue(resp03.getContent().contains("DurableBalance:10"));
        assertTrue(resp03.getContent().contains("PostConstructCallers:4"));
        assertTrue(resp03.getContent().contains("PreDestroyCallers:2"));
    }
View Full Code Here

    @Test
    public void testSeamSecurityWithSomeOtherUser() throws Exception {

        WebClient client = new WebClient();

        TextPage beforeLogin = client.getPage(url + "features");
        assertTrue(beforeLogin.getContent().contains("DISABLED = false"));
        assertTrue(beforeLogin.getContent().contains("ENABLED_FOR_ALL = true"));
        assertTrue(beforeLogin.getContent().contains("ENABLED_FOR_CK = false"));

        TextPage loginPage = client.getPage(url + "login?user=somebody");
        assertTrue(loginPage.getContent().contains("SUCCESS"));

        TextPage afterLogin = client.getPage(url + "features");
        assertTrue(afterLogin.getContent().contains("DISABLED = false"));
        assertTrue(afterLogin.getContent().contains("ENABLED_FOR_ALL = true"));
        assertTrue(afterLogin.getContent().contains("ENABLED_FOR_CK = false"));

        TextPage logoutPage = client.getPage(url + "logout");
        assertTrue(logoutPage.getContent().contains("SUCCESS"));

        TextPage afterLogout = client.getPage(url + "features");
        assertTrue(afterLogout.getContent().contains("DISABLED = false"));
        assertTrue(afterLogout.getContent().contains("ENABLED_FOR_ALL = true"));
        assertTrue(afterLogout.getContent().contains("ENABLED_FOR_CK = false"));

    }
View Full Code Here

    @Test
    public void testSeamSecurityWithoutLogin() throws Exception {

        WebClient client = new WebClient();
        TextPage page = client.getPage(url + "features");
        assertTrue(page.getContent().contains("DISABLED = false"));
        assertTrue(page.getContent().contains("ENABLED_FOR_ALL = true"));
        assertTrue(page.getContent().contains("ENABLED_FOR_CK = false"));

        TextPage userPage = client.getPage(url + "user");
        assertTrue(userPage.getContent().contains("USER = null"));
        assertTrue(userPage.getContent().contains("ADMIN = null"));

    }
View Full Code Here

    @Test
    public void testSeamSecurityFeatureAdminFlagAdminUser() throws Exception {

        WebClient client = new WebClient();

        TextPage beforeLogin = client.getPage(url + "user");
        assertTrue(beforeLogin.getContent().contains("USER = null"));
        assertTrue(beforeLogin.getContent().contains("ADMIN = null"));

        TextPage loginPage = client.getPage(url + "login?user=ck");
        assertTrue(loginPage.getContent().contains("SUCCESS"));

        TextPage afterLogin = client.getPage(url + "user");
        assertTrue(afterLogin.getContent().contains("USER = ck"));
        assertTrue(afterLogin.getContent().contains("ADMIN = true"));

        TextPage logoutPage = client.getPage(url + "logout");
        assertTrue(logoutPage.getContent().contains("SUCCESS"));

        TextPage afterLogout = client.getPage(url + "user");
        assertTrue(afterLogout.getContent().contains("USER = null"));
        assertTrue(afterLogout.getContent().contains("ADMIN = null"));

    }
View Full Code Here

    @Test
    public void testSeamSecurityFeatureAdminFlagOtherUser() throws Exception {

        WebClient client = new WebClient();

        TextPage beforeLogin = client.getPage(url + "user");
        assertTrue(beforeLogin.getContent().contains("USER = null"));
        assertTrue(beforeLogin.getContent().contains("ADMIN = null"));

        TextPage loginPage = client.getPage(url + "login?user=somebody");
        assertTrue(loginPage.getContent().contains("SUCCESS"));

        TextPage afterLogin = client.getPage(url + "user");
        assertTrue(afterLogin.getContent().contains("USER = somebody"));
        assertTrue(afterLogin.getContent().contains("ADMIN = false"));

        TextPage logoutPage = client.getPage(url + "logout");
        assertTrue(logoutPage.getContent().contains("SUCCESS"));

        TextPage afterLogout = client.getPage(url + "user");
        assertTrue(afterLogout.getContent().contains("USER = null"));
        assertTrue(afterLogout.getContent().contains("ADMIN = null"));

    }
View Full Code Here

TOP

Related Classes of com.gargoylesoftware.htmlunit.TextPage

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.