blob: 7629c10617d82db3cb159b47708ddf34824d8d99 [file] [log] [blame]
package org.apache.continuum.web.test;
/*
* Copyright 2005-2006 The Apache Software Foundation.
*
* Licensed 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.
*/
import java.io.File;
/**
* Class for testing add maven one project UI page.
*/
public class AddMavenOneProjectTestCase
extends AbstractAuthenticatedAccessTestCase
{
public String getUsername()
{
return adminUsername;
}
public String getPassword()
{
return adminPassword;
}
public void setUp()
throws Exception
{
super.setUp();
}
/**
* submit the page
*
* @param m1PomUrl
* @param validPom
*/
public void submitAddMavenOneProjectPage( String m1PomUrl, boolean validPom )
{
addMavenOneProject( m1PomUrl, "", "", null, validPom );
if ( validPom )
{
assertTextPresent( "Default Project Group" );
//TODO: Add more tests
}
}
/**
* test with valid pom url
*/
public void testValidPomUrl()
throws Exception
{
String pomUrl = "http://svn.apache.org/repos/asf/maven/continuum/trunk/continuum-webapp-test/src/test/resources/unit/maven-one-projects/valid-project.xml";
submitAddMavenOneProjectPage( pomUrl, true );
//Test the group is created
assertTextPresent( "Maven One Project" );
//TODO: add more tests
removeProjectGroup( "Maven One Project", "maven-one-project", "This is a sample Maven One Project." );
}
/**
* test with no pom file or pom url specified
*/
public void testNoPomSpecified()
{
submitAddMavenOneProjectPage( "", false );
assertTextPresent( "Either POM URL or Upload POM is required." );
}
/**
* test with missing <repository> element in the pom file
*/
public void testMissingElementInPom()
{
String pomUrl = "http://svn.apache.org/repos/asf/maven/continuum/trunk/continuum-webapp-test/src/test/resources/unit/maven-one-projects/missing-repository-element-project.xml";
submitAddMavenOneProjectPage( pomUrl, false );
assertTextPresent( "Missing 'repository' element in the POM." );
}
/**
* test with <extend> element present in pom file
*/
public void testWithExtendElementPom()
{
String pomUrl = "http://svn.apache.org/repos/asf/maven/continuum/trunk/continuum-webapp-test/src/test/resources/unit/maven-one-projects/extend-element-project.xml";
submitAddMavenOneProjectPage( pomUrl, false );
assertTextPresent( "Cannot use a POM with an 'extend' element." );
}
/**
* test with unparseable xml content for pom file
*/
public void testUnparseableXmlContent()
{
String pomUrl = "http://svn.apache.org/repos/asf/maven/continuum/trunk/continuum-webapp-test/src/test/resources/unit/maven-one-projects/unparseable-content-project.xml";
submitAddMavenOneProjectPage( pomUrl, false );
assertTextPresent( "The XML content of the POM can not be parsed." );
}
/**
* test with a malformed pom url
*/
public void testMalformedPomUrl()
{
String pomUrl = "aaa";
submitAddMavenOneProjectPage( pomUrl, false );
assertTextPresent(
"The specified resource cannot be accessed. Please try again later or contact your administrator." );
}
/**
* test with an inaccessible pom url
*/
public void testInaccessiblePomUrl()
{
String pomUrl = "http://www.google.com";
submitAddMavenOneProjectPage( pomUrl, false );
assertTextPresent( "POM file does not exist. Either the POM you specified or one of its modules does not exist." );
}
/**
* test unallowed file protocol
*/
public void testNotAllowedProtocol()
{
String pomUrl = "file:///project.xml";
submitAddMavenOneProjectPage( pomUrl, false );
assertTextPresent( "The specified resource isn't a file or the protocol used isn't allowed." );
}
}