1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 package org.apache.shiro.test;
20
21 import com.gargoylesoftware.htmlunit.ElementNotFoundException;
22 import com.gargoylesoftware.htmlunit.FailingHttpStatusCodeException;
23 import com.gargoylesoftware.htmlunit.WebClient;
24 import com.gargoylesoftware.htmlunit.html.HtmlForm;
25 import com.gargoylesoftware.htmlunit.html.HtmlInput;
26 import com.gargoylesoftware.htmlunit.html.HtmlPage;
27 import org.apache.shiro.testing.web.AbstractContainerIT;
28 import org.junit.Before;
29 import org.junit.Test;
30
31 import java.io.IOException;
32 import java.net.MalformedURLException;
33
34 public class ContainerIntegrationIT extends AbstractContainerIT {
35
36 protected final WebClient webClient = new WebClient();
37
38 @Before
39 public void logOut() throws IOException {
40
41 final HtmlPage homePage = webClient.getPage(getBaseUri());
42 try {
43 homePage.getAnchorByHref("/logout").click();
44 }
45 catch (ElementNotFoundException e) {
46
47 }
48 }
49
50 @Test
51 public void logIn() throws FailingHttpStatusCodeException, MalformedURLException, IOException, InterruptedException {
52
53 HtmlPage page = webClient.getPage(getBaseUri() + "login.jsp");
54 HtmlForm form = page.getFormByName("loginform");
55 form.<HtmlInput>getInputByName("username").setValueAttribute("root");
56 form.<HtmlInput>getInputByName("password").setValueAttribute("secret");
57 page = form.<HtmlInput>getInputByName("submit").click();
58
59 page.getAnchorByHref("/logout");
60 }
61 }