add unit test

git-svn-id: https://svn.apache.org/repos/asf/archiva/trunk@1552983 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
Olivier Lamy 2013-12-22 12:25:55 +00:00
parent 0c9fab3b3b
commit 5743afc3ff
2 changed files with 56 additions and 3 deletions

View File

@ -1,4 +1,5 @@
package org.apache.archiva.rest.services; package org.apache.archiva.rest.services;
/* /*
* Licensed to the Apache Software Foundation (ASF) under one * Licensed to the Apache Software Foundation (ASF) under one
* or more contributor license agreements. See the NOTICE file * or more contributor license agreements. See the NOTICE file
@ -190,6 +191,11 @@ public class DefaultRemoteRepositoriesService
return Boolean.TRUE; return Boolean.TRUE;
} }
catch ( TransferFailedException e )
{
log.info( "TransferFailedException :{}", e.getMessage() );
return Boolean.FALSE;
}
catch ( Exception e ) catch ( Exception e )
{ {
throw new ArchivaRestServiceException( e.getMessage(), throw new ArchivaRestServiceException( e.getMessage(),

View File

@ -1,4 +1,23 @@
package org.apache.archiva; package org.apache.archiva.remotedownload;
/*
* 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 com.google.common.io.Files; import com.google.common.io.Files;
import org.apache.archiva.admin.model.beans.RemoteRepository; import org.apache.archiva.admin.model.beans.RemoteRepository;
@ -17,6 +36,7 @@ import org.eclipse.jetty.server.handler.ResourceHandler;
import org.eclipse.jetty.servlet.DefaultServlet; import org.eclipse.jetty.servlet.DefaultServlet;
import org.eclipse.jetty.servlet.ServletContextHandler; import org.eclipse.jetty.servlet.ServletContextHandler;
import org.eclipse.jetty.servlet.ServletHolder; import org.eclipse.jetty.servlet.ServletHolder;
import org.fest.assertions.api.Assertions;
import org.junit.AfterClass; import org.junit.AfterClass;
import org.junit.BeforeClass; import org.junit.BeforeClass;
import org.junit.Test; import org.junit.Test;
@ -73,7 +93,7 @@ public class RemoteRepositoryConnectivityCheckTest
service.addRemoteRepository( repo ); service.addRemoteRepository( repo );
service.checkRemoteConnectivity( repo.getId() ); Assertions.assertThat( service.checkRemoteConnectivity( repo.getId() ) ).isTrue();
} }
finally finally
{ {
@ -106,7 +126,7 @@ public class RemoteRepositoryConnectivityCheckTest
service.addRemoteRepository( repo ); service.addRemoteRepository( repo );
service.checkRemoteConnectivity( repo.getId() ); Assertions.assertThat( service.checkRemoteConnectivity( repo.getId() ) ).isTrue();
} }
finally finally
{ {
@ -116,6 +136,33 @@ public class RemoteRepositoryConnectivityCheckTest
} }
} }
@Test
public void checkRemoteConnectivityFail()
throws Exception
{
RemoteRepositoriesService service = getRemoteRepositoriesService();
WebClient.client( service ).header( "Authorization", authorizationHeader );
try
{
RemoteRepository repo = getRemoteRepository();
repo.setUrl( "http://localhost:8956" );
service.addRemoteRepository( repo );
Assertions.assertThat( service.checkRemoteConnectivity( repo.getId() ) ).isFalse();
}
finally
{
service.deleteRemoteRepository( "id-new" );
}
}
protected Server buildStaticServer( File path ) protected Server buildStaticServer( File path )
{ {
Server repoServer = new Server( 0 ); Server repoServer = new Server( 0 );