MRM-318 Created test for Proxied Repositories configuration

git-svn-id: https://svn.apache.org/repos/asf/maven/archiva/trunk@530771 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
Maria Odea B. Ching 2007-04-20 12:33:40 +00:00
parent 1e457dfe23
commit 6547454f08
1 changed files with 233 additions and 0 deletions

View File

@ -0,0 +1,233 @@
package org.apache.maven.archiva.web.test;
/*
* Licensed to the Apache Software Foundation (ASF) under one
* or more contributor license agreements. See the NOTICE file
* distributed with this work for additional information
* regarding copyright ownership. The ASF licenses this file
* to you under the Apache License, Version 2.0 (the
* "License"); you may not use this file except in compliance
* with the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing,
* software distributed under the License is distributed on an
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
* KIND, either express or implied. See the License for the
* specific language governing permissions and limitations
* under the License.
*/
/**
* Test archiva proxied repositories configuration
*
* @author <a href="mailto:oching@apache.org">Maria Odea Ching</a>
*/
public class ProxiedRepositoryTest
extends AbstractArchivaTestCase
{
/**
*
*/
protected void initialize()
{
super.initialize();
createTestRepo();
}
/**
* Create a proxied repo which will be used for testing
*/
private void createTestRepo()
{
clickProxiedRepositories();
if ( isTextPresent( "There are no proxied repositories configured yet." ) )
{
clickLinkWithText( "Add Repository" );
assertPage( "Configuration" );
setFieldValue( "id", "test-proxied" );
setFieldValue( "name", "Test Proxied Repository" );
setFieldValue( "url", "http://test.com/test-proxied" );
clickButtonWithValue( "Add Repository" );
waitPage();
assertPage( "Administration" );
assertTextPresent( "Test Proxied Repository" );
assertLinkPresent( "Edit Repository" );
}
logout();
}
/**
* Test add proxied repo with invalid data
*/
public void testInvalidAddProxiedRepoConfiguration()
{
clickProxiedRepositories();
clickLinkWithText( "Add Repository" );
assertPage( "Configuration" );
clickButtonWithValue( "Add Repository", false );
assertPage( "Configuration" );
assertTextPresent( "You must enter the repository identifier." );
assertTextPresent( "You must enter the repository name." );
assertTextPresent( "You must enter the repository URL." );
logout();
}
/**
* Test edit proxied repo with valid data
*/
public void testValidEditProxiedRepoConfiguration()
{
clickProxiedRepositories();
clickLinkWithText( "Edit Repository" );
assertPage( "Configuration" );
assertTextPresent( "Edit Proxied Repository" );
setFieldValue( "name", "Test Valid" );
setFieldValue( "url", "http://valid.org/test-valid" );
clickButtonWithValue( "Update Repository" );
waitPage();
assertPage( "Administration" );
assertTextPresent( "Test Valid" );
assertLinkPresent( "Edit Repository" );
logout();
}
/**
* Test edit proxied repo with invalid data
*/
public void testInvalidEditProxiedRepoConfiguration()
{
clickProxiedRepositories();
clickLinkWithText( "Edit Repository" );
assertPage( "Configuration" );
assertTextPresent( "Edit Proxied Repository" );
setFieldValue( "name", "" );
setFieldValue( "url", "" );
clickButtonWithValue( "Update Repository", false );
assertPage( "Configuration" );
assertTextPresent( "You must enter the repository name." );
assertTextPresent( "You must enter the repository URL." );
logout();
}
/**
* Test delete repository, unmodified entry and contents
*/
public void testDeleteRepoUnmodified()
{
clickProxiedRepositories();
clickLinkWithText( "Delete Repository" );
assertPage( "Configuration" );
assertTextPresent( "Delete Proxied Repository" );
clickButtonWithValue( "Go" );
assertPage( "Administration" );
assertTextPresent( "Test Proxied Repository" );
logout();
}
/**
* Test delete repository including contents
*/
public void testDeleteRepoRemoveFromDisk()
{
clickProxiedRepositories();
clickLinkWithText( "Delete Repository" );
assertPage( "Configuration" );
clickLinkWithLocator( "deleteProxiedRepository_operationdelete-contents", false );
clickButtonWithValue( "Go" );
assertPage( "Administration" );
assertTextNotPresent( "Test Proxied Repository" );
logout();
}
/**
* Test delete repository, unmodified contents/entry deleted
*/
public void testDeleteRepoUnmodifiedContents()
{
clickProxiedRepositories();
clickLinkWithText( "Delete Repository" );
assertPage( "Configuration" );
clickLinkWithLocator( "deleteProxiedRepository_operationdelete-entry", false );
clickButtonWithValue( "Go" );
assertPage( "Administration" );
assertTextNotPresent( "Test Proxied Repository" );
logout();
}
/**
* Click Settings from the navigation menu
*/
private void clickProxiedRepositories()
{
goToLoginPage();
submitLoginPage( adminUsername, adminPassword );
clickLinkWithText( "Proxied Repositories" );
assertPage( "Administration" );
assertTextPresent( "Proxied Repositories" );
}
/**
* Remove the created test repo
*/
protected void removeTestRepo()
{
if ( !isLinkPresent( "Login" ) )
{
logout();
}
clickProxiedRepositories();
if ( isTextPresent( "Delete Repository " ) )
{
clickLinkWithText( "Delete Repository" );
assertPage( "Configuration" );
clickLinkWithLocator( "deleteProxiedRepository_operationdelete-entry", false );
clickButtonWithValue( "Go" );
assertPage( "Administration" );
assertTextNotPresent( "Test Proxied Repository" );
}
logout();
}
/**
* Revert to original value
*
* @throws Exception
*/
public void tearDown()
throws Exception
{
removeTestRepo();
super.tearDown();
}
}