]> source.dussan.org Git - archiva.git/blob
66398c439328b0183723092f0c265921dc9c927e
[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" } )
40 public class LoginTest 
41         extends AbstractArchivaTest
42 {
43         public void testWithBadUsername()
44     {
45         goToLoginPage();
46         getSelenium().type( "loginForm_username", "badUsername" );
47         getSelenium().click( "loginForm__login" );
48         getSelenium().waitForPageToLoad( maxWaitTimeInMs );
49         assertTextPresent( "You have entered an incorrect username and/or password" );
50     }
51
52     @Test( dependsOnMethods = { "testWithBadUsername" }, alwaysRun = true )
53     public void testWithBadPassword()
54     {
55         goToLoginPage();
56         getSelenium().type( "loginForm_username", p.getProperty( "ADMIN_USERNAME" ) );
57         getSelenium().type( "loginForm_password", "badPassword" );
58         getSelenium().click( "loginForm__login" );
59         getSelenium().waitForPageToLoad( maxWaitTimeInMs );
60         assertTextPresent( "You have entered an incorrect username and/or password" );
61     }
62
63     @Test( dependsOnMethods = { "testWithBadPassword" }, alwaysRun = true )
64     public void testWithEmptyUsername()
65     {
66         goToLoginPage();
67         getSelenium().type( "loginForm_password", "password" );
68         getSelenium().click( "loginForm__login" );
69         getSelenium().waitForPageToLoad( maxWaitTimeInMs );
70         assertTextPresent( "User Name is required" );
71     }
72
73     @Test( dependsOnMethods = { "testWithEmptyUsername" }, alwaysRun = true )
74     public void testWithEmptyPassword()
75     {
76         goToLoginPage();
77         getSelenium().type( "loginForm_username", p.getProperty( "ADMIN_USERNAME" ) );
78         getSelenium().click( "loginForm__login" );
79         getSelenium().waitForPageToLoad( maxWaitTimeInMs );
80         assertTextPresent( "You have entered an incorrect username and/or password" );
81     }
82
83     @Test( groups = { "loginSuccess" }, dependsOnMethods = { "testWithEmptyPassword" }, alwaysRun = true )
84     public void testWithCorrectUsernamePassword()
85     {
86         goToLoginPage();
87         getSelenium().type( "loginForm_username", p.getProperty( "ADMIN_USERNAME" ) );
88         getSelenium().type( "loginForm_password", p.getProperty( "ADMIN_PASSWORD" ) );
89         getSelenium().click( "loginForm__login" );
90         getSelenium().waitForPageToLoad( maxWaitTimeInMs );
91         assertTextPresent( "Edit Details" );
92         assertTextPresent( "Logout" );
93         assertTextPresent( p.getProperty( "ADMIN_USERNAME" ) );
94     }
95         
96         @BeforeTest
97     public void open()
98         throws Exception
99     {
100         super.open();
101     }
102
103     @Override
104     @AfterTest
105     public void close()
106         throws Exception
107     {
108         super.close();
109     }
110 }