]> source.dussan.org Git - archiva.git/blob
73db410a700937640e6c683d3673101f46bf75bb
[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  *
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( "loginForm_username", "badUsername" );
48         getSelenium().click( "loginSubmit" );
49         //getSelenium().waitForPageToLoad( maxWaitTimeInMs );
50         waitPage();
51         assertElementPresent( "//ul[@class=\'errorMessage\']" );
52         //assertTextPresent( "You have entered an incorrect username and/or password" );
53     }
54
55     @Test( dependsOnMethods = { "testWithBadUsername" }, alwaysRun = true )
56     public void testWithBadPassword()
57     {
58         goToLoginPage();
59         setFieldValue( "loginForm_username", getProperty( "ADMIN_USERNAME" ) );
60         setFieldValue( "loginForm_password", "badPassword" );
61         getSelenium().click( "loginSubmit" );
62         //getSelenium().waitForPageToLoad( maxWaitTimeInMs );
63         waitPage();
64         //assertTextPresent( "You have entered an incorrect username and/or password" );
65         //<ul class="errorMessage"><li><span>
66         assertElementPresent( "//ul[@class=\'errorMessage\']" );
67     }
68
69     @Test( dependsOnMethods = { "testWithBadPassword" }, alwaysRun = true )
70     public void testWithEmptyUsername()
71     {
72         goToLoginPage();
73         setFieldValue( "loginForm_password", "password" );
74         getSelenium().click( "loginSubmit" );
75         //getSelenium().waitForPageToLoad( maxWaitTimeInMs );
76         waitPage();
77         //assertTextPresent( "User Name is required" );
78         assertElementPresent( "//tr[@errorFor=\'loginForm_username\']");
79     }
80
81     @Test( dependsOnMethods = { "testWithEmptyUsername" }, alwaysRun = true )
82     public void testWithEmptyPassword()
83     {
84         goToLoginPage();
85         setFieldValue( "loginForm_username", getProperty( "ADMIN_USERNAME" ) );
86         getSelenium().click( "loginSubmit" );
87         //getSelenium().waitForPageToLoad( maxWaitTimeInMs );
88         waitPage();
89         //assertTextPresent( "You have entered an incorrect username and/or password" );
90         assertElementPresent( "//ul[@class=\'errorMessage\']" );
91     }
92
93     @Test( groups = { "loginSuccess" }, dependsOnMethods = { "testWithEmptyPassword" }, alwaysRun = true )
94     public void testWithCorrectUsernamePassword()
95     {
96         goToLoginPage();
97         setFieldValue( "loginForm_username", getProperty( "ADMIN_USERNAME" ) );
98         setFieldValue( "loginForm_password", getProperty( "ADMIN_PASSWORD" ) );
99         getSelenium().click( "loginSubmit" );
100         //getSelenium().waitForPageToLoad( maxWaitTimeInMs );
101         waitPage();
102         //assertTextPresent( "Logout" );
103         assertElementPresent( "logoutLink" );
104         //assertTextPresent( "Edit Details" );
105         assertElementPresent( "editUserLink" );
106         assertTextPresent( getProperty( "ADMIN_USERNAME" ) );
107     }
108
109     @BeforeTest
110     public void open()
111         throws Exception
112     {
113         super.open();
114     }
115
116     @Override
117     @AfterTest
118     public void close()
119         throws Exception
120     {
121         super.close();
122     }
123 }