View Javadoc
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  }