mirror of https://github.com/apache/archiva.git
MRM-321 Applied patch submitted by Nap Ramirez - tests for managed repo configuration
git-svn-id: https://svn.apache.org/repos/asf/maven/archiva/trunk@530982 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
parent
b27fec1e8a
commit
7e0362c7dc
|
@ -0,0 +1,201 @@
|
||||||
|
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.
|
||||||
|
*/
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Archiva's webapp UI test for adding/editing/deleting managed repositories.
|
||||||
|
*
|
||||||
|
* @author <a href="mailto:nramirez@exist.com">Napoleon Esmundo C. Ramirez</a>
|
||||||
|
*/
|
||||||
|
public class ManagedRepositoryTest
|
||||||
|
extends AbstractArchivaTestCase
|
||||||
|
{
|
||||||
|
private static final String TEST_REPOSITORY_ID = "test-repository-id";
|
||||||
|
|
||||||
|
private static final String TEST_REPOSITORY_URL = "test-repository-url";
|
||||||
|
|
||||||
|
private static final String TEST_REPOSITORY_NAME = "test-repository-name";
|
||||||
|
|
||||||
|
private static final String TEST_REPOSITORY_DIRECTORY = "test-repository-directory";
|
||||||
|
|
||||||
|
|
||||||
|
private void clickManagedRepositories()
|
||||||
|
{
|
||||||
|
goToLoginPage();
|
||||||
|
submitLoginPage( adminUsername, adminPassword );
|
||||||
|
|
||||||
|
clickLinkWithText( "Managed Repositories" );
|
||||||
|
assertPage( "Administration" );
|
||||||
|
assertTextPresent( "Administration" );
|
||||||
|
}
|
||||||
|
|
||||||
|
private void createManagedRepository( String id, String url, String name, String directory )
|
||||||
|
{
|
||||||
|
clickManagedRepositories();
|
||||||
|
|
||||||
|
clickLinkWithText( "Add Repository" );
|
||||||
|
assertTextPresent( "Configuration" );
|
||||||
|
|
||||||
|
setFieldValue( "addRepository_id", id );
|
||||||
|
setFieldValue( "urlName", url );
|
||||||
|
setFieldValue( "addRepository_name", name );
|
||||||
|
setFieldValue( "addRepository_directory", directory );
|
||||||
|
|
||||||
|
clickButtonWithValue( "Add Repository", false );
|
||||||
|
}
|
||||||
|
|
||||||
|
private void removeManagedRepository( String id )
|
||||||
|
{
|
||||||
|
logout();
|
||||||
|
|
||||||
|
clickManagedRepositories();
|
||||||
|
|
||||||
|
clickLinkWithLocator( "//a[contains(@href, '/admin/deleteRepository!input.action?repoId=" + id + "')]" );
|
||||||
|
clickLinkWithLocator( "deleteRepository_operationdelete-contents", false );
|
||||||
|
clickButtonWithValue( "Go" );
|
||||||
|
|
||||||
|
assertPage( "Administration" );
|
||||||
|
assertTextNotPresent( TEST_REPOSITORY_ID );
|
||||||
|
}
|
||||||
|
|
||||||
|
public void testAddRepositoryWithValidValues()
|
||||||
|
{
|
||||||
|
createManagedRepository( TEST_REPOSITORY_ID, TEST_REPOSITORY_URL, TEST_REPOSITORY_NAME, TEST_REPOSITORY_DIRECTORY );
|
||||||
|
waitPage();
|
||||||
|
|
||||||
|
assertPage( "Administration" );
|
||||||
|
assertTextPresent( TEST_REPOSITORY_ID );
|
||||||
|
|
||||||
|
removeManagedRepository( TEST_REPOSITORY_ID );
|
||||||
|
}
|
||||||
|
|
||||||
|
public void testAddRepositoryWithInvalidValues()
|
||||||
|
{
|
||||||
|
createManagedRepository( "", "", "", "" );
|
||||||
|
|
||||||
|
assertTextPresent( "You must enter the repository identifier." );
|
||||||
|
assertTextPresent( "You must enter the url name." );
|
||||||
|
assertTextPresent( "You must enter the repository name." );
|
||||||
|
assertTextPresent( "You must enter the repository directory." );
|
||||||
|
}
|
||||||
|
|
||||||
|
public void testEditRepositoryWithValidValues()
|
||||||
|
{
|
||||||
|
createManagedRepository( TEST_REPOSITORY_ID, TEST_REPOSITORY_URL, TEST_REPOSITORY_NAME, TEST_REPOSITORY_DIRECTORY );
|
||||||
|
waitPage();
|
||||||
|
|
||||||
|
assertPage( "Administration" );
|
||||||
|
assertTextPresent( TEST_REPOSITORY_NAME );
|
||||||
|
|
||||||
|
clickLinkWithLocator( "//a[contains(@href, '/admin/editRepository!input.action?repoId=" + TEST_REPOSITORY_ID + "')]" );
|
||||||
|
assertPage( "Configuration" );
|
||||||
|
assertTextPresent( "Configuration" );
|
||||||
|
|
||||||
|
assertTextPresent( "Edit Managed Repository" );
|
||||||
|
assertEquals( TEST_REPOSITORY_URL, getFieldValue( "urlName" ) );
|
||||||
|
assertEquals( TEST_REPOSITORY_NAME, getFieldValue( "editRepository_name" ) );
|
||||||
|
assertTrue( getFieldValue( "editRepository_directory" ).endsWith( TEST_REPOSITORY_DIRECTORY ) );
|
||||||
|
|
||||||
|
setFieldValue( "urlName", "edited-" + TEST_REPOSITORY_URL );
|
||||||
|
setFieldValue( "editRepository_name", "edited-" + TEST_REPOSITORY_NAME );
|
||||||
|
setFieldValue( "editRepository_directory", "edited-" + TEST_REPOSITORY_DIRECTORY );
|
||||||
|
|
||||||
|
clickButtonWithValue( "Update Repository" );
|
||||||
|
assertPage( "Administration" );
|
||||||
|
assertTextPresent( TEST_REPOSITORY_ID );
|
||||||
|
assertTextPresent( "edited-" + TEST_REPOSITORY_NAME );
|
||||||
|
|
||||||
|
removeManagedRepository( TEST_REPOSITORY_ID );
|
||||||
|
}
|
||||||
|
|
||||||
|
public void testEditRepositoryWithInvalidValues()
|
||||||
|
{
|
||||||
|
createManagedRepository( TEST_REPOSITORY_ID, TEST_REPOSITORY_URL, TEST_REPOSITORY_NAME, TEST_REPOSITORY_DIRECTORY );
|
||||||
|
waitPage();
|
||||||
|
|
||||||
|
assertPage( "Administration" );
|
||||||
|
assertTextPresent( TEST_REPOSITORY_NAME );
|
||||||
|
|
||||||
|
clickLinkWithLocator( "//a[contains(@href, '/admin/editRepository!input.action?repoId=" + TEST_REPOSITORY_ID + "')]" );
|
||||||
|
assertPage( "Configuration" );
|
||||||
|
assertTextPresent( "Configuration" );
|
||||||
|
|
||||||
|
assertTextPresent( "Edit Managed Repository" );
|
||||||
|
assertEquals( TEST_REPOSITORY_URL, getFieldValue( "urlName" ) );
|
||||||
|
assertEquals( TEST_REPOSITORY_NAME, getFieldValue( "editRepository_name" ) );
|
||||||
|
assertTrue( getFieldValue( "editRepository_directory" ).endsWith( TEST_REPOSITORY_DIRECTORY ) );
|
||||||
|
|
||||||
|
setFieldValue( "urlName", "" );
|
||||||
|
setFieldValue( "editRepository_name", "" );
|
||||||
|
setFieldValue( "editRepository_directory", "" );
|
||||||
|
|
||||||
|
clickButtonWithValue( "Update Repository", false );
|
||||||
|
assertTextPresent( "You must enter the url name." );
|
||||||
|
assertTextPresent( "You must enter the repository name." );
|
||||||
|
assertTextPresent( "You must enter the repository directory." );
|
||||||
|
|
||||||
|
removeManagedRepository( TEST_REPOSITORY_ID );
|
||||||
|
}
|
||||||
|
|
||||||
|
public void testDeleteRepositoryButLeaveUnmodified()
|
||||||
|
{
|
||||||
|
createManagedRepository( TEST_REPOSITORY_ID, TEST_REPOSITORY_URL, TEST_REPOSITORY_NAME, TEST_REPOSITORY_DIRECTORY );
|
||||||
|
waitPage();
|
||||||
|
|
||||||
|
assertPage( "Administration" );
|
||||||
|
assertTextPresent( TEST_REPOSITORY_ID );
|
||||||
|
|
||||||
|
clickLinkWithLocator( "//a[contains(@href, '/admin/deleteRepository!input.action?repoId=" + TEST_REPOSITORY_ID + "')]" );
|
||||||
|
clickLinkWithLocator( "deleteRepository_operationunmodified", false );
|
||||||
|
clickButtonWithValue( "Go" );
|
||||||
|
|
||||||
|
assertPage( "Administration" );
|
||||||
|
assertTextPresent( TEST_REPOSITORY_ID );
|
||||||
|
|
||||||
|
removeManagedRepository( TEST_REPOSITORY_ID );
|
||||||
|
}
|
||||||
|
|
||||||
|
public void testDeleteRepositoryAndContents()
|
||||||
|
{
|
||||||
|
createManagedRepository( TEST_REPOSITORY_ID, TEST_REPOSITORY_URL, TEST_REPOSITORY_NAME, TEST_REPOSITORY_DIRECTORY );
|
||||||
|
waitPage();
|
||||||
|
|
||||||
|
assertPage( "Administration" );
|
||||||
|
assertTextPresent( TEST_REPOSITORY_ID );
|
||||||
|
|
||||||
|
removeManagedRepository( TEST_REPOSITORY_ID );
|
||||||
|
}
|
||||||
|
|
||||||
|
public void testDeleteRepositoryButLeaveContentsUnmodified()
|
||||||
|
{
|
||||||
|
createManagedRepository( TEST_REPOSITORY_ID, TEST_REPOSITORY_URL, TEST_REPOSITORY_NAME, TEST_REPOSITORY_DIRECTORY );
|
||||||
|
waitPage();
|
||||||
|
|
||||||
|
assertPage( "Administration" );
|
||||||
|
assertTextPresent( TEST_REPOSITORY_ID );
|
||||||
|
|
||||||
|
clickLinkWithLocator( "//a[contains(@href, '/admin/deleteRepository!input.action?repoId=" + TEST_REPOSITORY_ID + "')]" );
|
||||||
|
clickLinkWithLocator( "deleteRepository_operationdelete-entry", false );
|
||||||
|
clickButtonWithValue( "Go" );
|
||||||
|
|
||||||
|
assertPage( "Administration" );
|
||||||
|
assertTextNotPresent( TEST_REPOSITORY_ID );
|
||||||
|
}
|
||||||
|
}
|
Loading…
Reference in New Issue