1 package it.com.atlassian.plugin.refimpl;
2
3 import com.atlassian.webdriver.refapp.page.RefappHomePage;
4 import com.atlassian.webdriver.refapp.page.RefappLoginPage;
5 import com.atlassian.webdriver.refapp.page.RefappUsersPage;
6 import org.junit.After;
7 import org.junit.Before;
8 import org.junit.Test;
9
10 import static org.junit.Assert.assertFalse;
11 import static org.junit.Assert.assertTrue;
12
13 public class TestLogin extends AbstractRefappTestCase {
14 private RefappLoginPage loginPage;
15
16 @Before
17 public final void setUp() throws Exception {
18 loginPage = PRODUCT.gotoLoginPage();
19 }
20
21 @After
22 public final void tearDown() throws Exception {
23 loginPage.getHeader().logout(RefappHomePage.class);
24 }
25
26 @Test
27 public void testLogout() {
28 loginPage = loginPage.login("barney", "barney", RefappLoginPage.class);
29 RefappHomePage homePage = loginPage.getHeader().logout(RefappHomePage.class);
30
31 assertFalse("Must have logged out.", homePage.getHeader().isLoggedIn());
32 }
33
34 @Test
35 public void testBadAdminLogin() {
36 loginPage = loginPage.login("blahuser", "blahpassword", RefappLoginPage.class);
37 assertFalse("The login must have failed.", loginPage.getHeader().isLoggedIn());
38 }
39
40 @Test
41 public void testGoodAdminLogin() {
42 RefappHomePage homePage = loginPage.login("betty", "betty", RefappHomePage.class);
43 assertTrue("The login must have been successful.", homePage.getHeader().isLoggedIn());
44 assertTrue("Must have logged in as admin.", homePage.getHeader().isAdmin());
45 }
46
47 @Test
48 public void testGoodSysAdminLogin() {
49 RefappHomePage homePage = loginPage.login("admin", "admin", RefappHomePage.class);
50 assertTrue("The login must have been successful.", homePage.getHeader().isLoggedIn());
51 assertTrue("Must have logged in as sysadmin.", homePage.getHeader().isSysadmin());
52 }
53
54 @Test
55 public void testUserLogin() {
56 RefappHomePage homePage = loginPage.login("barney", "barney", RefappHomePage.class);
57 assertTrue("The login must have been successful.", homePage.getHeader().isLoggedIn());
58 assertFalse("Must not have logged in as admin.", homePage.getHeader().isAdmin());
59 assertFalse("Must not have logged in as sysadmin.", homePage.getHeader().isSysadmin());
60 }
61
62 @Test
63 public void testAtUsersPageAfterLoginUserRole() {
64 RefappUsersPage usersPage = loginPage.login("barney", "barney", RefappUsersPage.class);
65
66 assertTrue("The login must have been successful.", usersPage.getHeader().isLoggedIn());
67 assertFalse("Must not have logged in as admin.", usersPage.getHeader().isAdmin());
68 assertFalse("Must not have logged in as sysadmin.", usersPage.getHeader().isSysadmin());
69
70 assertTrue("Page must be redirected to /plugins/servlet/users after log in.", usersPage.isAtUsersPage());
71 }
72
73 @Test
74 public void testAtUsersPageAfterLoginAdminRole() {
75 RefappUsersPage usersPage = loginPage.login("betty", "betty", RefappUsersPage.class);
76
77 assertTrue("The login must have been successful.", usersPage.getHeader().isLoggedIn());
78 assertTrue("Must have logged in as admin.", usersPage.getHeader().isAdmin());
79 assertFalse("Must have logged in as sysadmin.", usersPage.getHeader().isSysadmin());
80
81 assertTrue("Page must be redirected to /plugins/servlet/users after log in.", usersPage.isAtUsersPage());
82 }
83
84 @Test
85 public void testAtUsersPageAfterLoginSysAdminRole() {
86 RefappUsersPage usersPage = loginPage.login("admin", "admin", RefappUsersPage.class);
87
88 assertTrue("The login must have been successful.", usersPage.getHeader().isLoggedIn());
89 assertTrue("Must have logged in as admin.", usersPage.getHeader().isAdmin());
90 assertTrue("Must have logged in as sysadmin.", usersPage.getHeader().isSysadmin());
91
92 assertTrue("Page must be redirected to /plugins/servlet/users after log in.", usersPage.isAtUsersPage());
93 }
94 }