]> source.dussan.org Git - archiva.git/blob
a1ba7326ac14564033c30fd1dbd24cccebd42d8c
[archiva.git] /
1 package org.apache.archiva.web.test;
2
3 /*
4  * Licensed to the Apache Software Foundation (ASF) under one
5  * or more contributor license agreements.  See the NOTICE file
6  * distributed with this work for additional information
7  * regarding copyright ownership.  The ASF licenses this file
8  * to you under the Apache License, Version 2.0 (the
9  * "License"); you may not use this file except in compliance
10  * with the License.  You may obtain a copy of the License at
11  *
12  *  http://www.apache.org/licenses/LICENSE-2.0
13  *
14  * Unless required by applicable law or agreed to in writing,
15  * software distributed under the License is distributed on an
16  * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
17  * KIND, either express or implied.  See the License for the
18  * specific language governing permissions and limitations
19  * under the License.
20  */
21
22 import org.apache.archiva.web.test.parent.AbstractArchivaTest;
23 import org.testng.annotations.AfterTest;
24 import org.testng.annotations.BeforeTest;
25 import org.testng.annotations.Test;
26
27 /*
28  * Bug in TestNG. TESTNG-285: @Test(sequential=true) works incorrectly for classes with inheritance
29  * http://code.google.com/p/testng/source/browse/trunk/CHANGES.txt
30  * Waiting 5.9 release. It's comming soon.
31  */
32 /**
33  * Based on LoginTest of Emmanuel Venisse test.
34  * 
35  * @author José Morales Martínez
36  * @version $Id$
37  */
38
39 @Test( groups = { "login" }, dependsOnGroups = {"about"})
40 public class LoginTest
41     extends AbstractArchivaTest
42 {
43     @Test(alwaysRun = true)
44     public void testWithBadUsername()
45     {
46         goToLoginPage();
47         setFieldValue( "user-login-form-username", "badUsername" );
48
49         waitPage();
50         assertElementPresent( "//ul[@class=\'errorMessage\']" );
51         //assertTextPresent( "You have entered an incorrect username and/or password" );
52     }
53
54     @Test( dependsOnMethods = { "testWithBadUsername" }, alwaysRun = true )
55     public void testWithBadPassword()
56     {
57         goToLoginPage();
58         setFieldValue( "loginForm_username", getProperty( "ADMIN_USERNAME" ) );
59         setFieldValue( "loginForm_password", "badPassword" );
60         getSelenium().click( "loginSubmit" );
61         //getSelenium().waitForPageToLoad( maxWaitTimeInMs );
62         waitPage();
63         //assertTextPresent( "You have entered an incorrect username and/or password" );
64         //<ul class="errorMessage"><li><span>
65         assertElementPresent( "//ul[@class=\'errorMessage\']" );
66     }
67
68     @Test( dependsOnMethods = { "testWithBadPassword" }, alwaysRun = true )
69     public void testWithEmptyUsername()
70     {
71         goToLoginPage();
72         setFieldValue( "loginForm_password", "password" );
73         getSelenium().click( "loginSubmit" );
74         //getSelenium().waitForPageToLoad( maxWaitTimeInMs );
75         waitPage();
76         //assertTextPresent( "User Name is required" );
77         assertElementPresent( "//tr[@errorFor=\'loginForm_username\']");
78     }
79
80     @Test( dependsOnMethods = { "testWithEmptyUsername" }, alwaysRun = true )
81     public void testWithEmptyPassword()
82     {
83         goToLoginPage();
84         setFieldValue( "loginForm_username", getProperty( "ADMIN_USERNAME" ) );
85         getSelenium().click( "loginSubmit" );
86         //getSelenium().waitForPageToLoad( maxWaitTimeInMs );
87         waitPage();
88         //assertTextPresent( "You have entered an incorrect username and/or password" );
89         assertElementPresent( "//ul[@class=\'errorMessage\']" );
90     }
91
92     @Test( groups = { "loginSuccess" }, dependsOnMethods = { "testWithEmptyPassword" }, alwaysRun = true )
93     public void testWithCorrectUsernamePassword()
94     {
95         goToLoginPage();
96         setFieldValue( "loginForm_username", getProperty( "ADMIN_USERNAME" ) );
97         setFieldValue( "loginForm_password", getProperty( "ADMIN_PASSWORD" ) );
98         getSelenium().click( "loginSubmit" );
99         //getSelenium().waitForPageToLoad( maxWaitTimeInMs );
100         waitPage();
101         //assertTextPresent( "Logout" );
102         assertElementPresent( "logoutLink" );
103         //assertTextPresent( "Edit Details" );
104         assertElementPresent( "editUserLink" );
105         assertTextPresent( getProperty( "ADMIN_USERNAME" ) );
106     }
107
108     @BeforeTest
109     public void open()
110         throws Exception
111     {
112         super.open();
113     }
114
115     @Override
116     @AfterTest
117     public void close()
118         throws Exception
119     {
120         super.close();
121     }
122 }