From 729f7da56ed26459b138527a40e4d2080924d909 Mon Sep 17 00:00:00 2001 From: skygo Date: Tue, 7 Aug 2012 17:04:26 +0000 Subject: [PATCH] Make unit test able to run on path with space. Warn dev to relocate. Verify that Validator will fail with a space in reponame. git-svn-id: https://svn.apache.org/repos/asf/archiva/trunk@1370368 13f79535-47bb-0310-9956-ffa450edef68 --- .../AbstractRepositoryAdminTest.java | 16 ++++++- .../admin/repository/ValidatorTest.java | 42 +++++++++++++++++++ 2 files changed, 56 insertions(+), 2 deletions(-) create mode 100644 archiva-modules/archiva-base/archiva-repository-admin/archiva-repository-admin-default/src/test/java/org/apache/archiva/admin/repository/ValidatorTest.java diff --git a/archiva-modules/archiva-base/archiva-repository-admin/archiva-repository-admin-default/src/test/java/org/apache/archiva/admin/repository/AbstractRepositoryAdminTest.java b/archiva-modules/archiva-base/archiva-repository-admin/archiva-repository-admin-default/src/test/java/org/apache/archiva/admin/repository/AbstractRepositoryAdminTest.java index 8045dc324..9218b5b7c 100644 --- a/archiva-modules/archiva-base/archiva-repository-admin/archiva-repository-admin-default/src/test/java/org/apache/archiva/admin/repository/AbstractRepositoryAdminTest.java +++ b/archiva-modules/archiva-base/archiva-repository-admin/archiva-repository-admin-default/src/test/java/org/apache/archiva/admin/repository/AbstractRepositoryAdminTest.java @@ -51,7 +51,7 @@ public abstract class AbstractRepositoryAdminTest { protected Logger log = LoggerFactory.getLogger( getClass() ); - public static final String APPSERVER_BASE_PATH = System.getProperty( "appserver.base" ); + public static final String APPSERVER_BASE_PATH = AbstractRepositoryAdminTest.fixPath( System.getProperty( "appserver.base" ) ); @Inject protected MockAuditListener mockAuditListener; @@ -73,7 +73,19 @@ public abstract class AbstractRepositoryAdminTest AuditInformation auditInformation = new AuditInformation( getFakeUser(), "archiva-localhost" ); return auditInformation; } - + + // make a nice repo path to allow unit test to run + private static String fixPath ( String path ) + { + String SPACE = " "; + if ( path.contains( SPACE ) ) + { + LoggerFactory.getLogger( AbstractRepositoryAdminTest.class.getName() ).error( + "You are building and testing with {appserver.base}: \n " + path + " containing space. Consider relocating." ); + } + return path.replaceAll( SPACE, "&20"); + } + protected User getFakeUser() { SimpleUser user = new SimpleUser() diff --git a/archiva-modules/archiva-base/archiva-repository-admin/archiva-repository-admin-default/src/test/java/org/apache/archiva/admin/repository/ValidatorTest.java b/archiva-modules/archiva-base/archiva-repository-admin/archiva-repository-admin-default/src/test/java/org/apache/archiva/admin/repository/ValidatorTest.java new file mode 100644 index 000000000..4027198bf --- /dev/null +++ b/archiva-modules/archiva-base/archiva-repository-admin/archiva-repository-admin-default/src/test/java/org/apache/archiva/admin/repository/ValidatorTest.java @@ -0,0 +1,42 @@ +package org.apache.archiva.admin.repository; +/* + * 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. + */ + +import org.apache.archiva.admin.model.managed.ManagedRepositoryAdmin; +import org.apache.archiva.test.utils.ArchivaSpringJUnit4ClassRunner; +import org.apache.commons.validator.GenericValidator; +import org.junit.Test; +import org.junit.runner.RunWith; + +/** + * @author Eric Barboni + */ +@RunWith( ArchivaSpringJUnit4ClassRunner.class ) +public class ValidatorTest + extends AbstractRepositoryAdminTest +{ + @Test + public void testGenericValidator() + { + // Be sure M + assertFalse("A repo location cannot contains space",GenericValidator.matchRegexp( "/opt/ testme/", + ManagedRepositoryAdmin.REPOSITORY_LOCATION_VALID_EXPRESSION )); + + } +} -- 2.39.5