1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 package org.apache.shiro.samples;
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
35 public class ContainerIntegrationIT extends AbstractContainerIT {
36
37 protected final WebClient webClient = new WebClient();
38
39 @Before
40 public void logOut() throws IOException {
41
42 final HtmlPage homePage = webClient.getPage(getBaseUri());
43 try {
44 homePage.getAnchorByHref("/s/logout").click();
45 }
46 catch (ElementNotFoundException e) {
47
48 }
49 }
50
51 @Test
52 public void logIn() throws FailingHttpStatusCodeException, IOException, InterruptedException {
53
54 HtmlPage page = webClient.getPage(getBaseUri() + "s/login");
55 HtmlForm form = page.getFormByName("loginForm");
56 form.<HtmlInput>getInputByName("username").setValueAttribute("admin");
57 form.<HtmlInput>getInputByName("password").setValueAttribute("admin");
58 page = form.<HtmlInput>getInputByValue("Login").click();
59
60 page.getAnchorByHref("/s/logout");
61 }
62 }