]> source.dussan.org Git - archiva.git/commitdiff
add unit test
authorOlivier Lamy <olamy@apache.org>
Sun, 22 Dec 2013 12:25:55 +0000 (12:25 +0000)
committerOlivier Lamy <olamy@apache.org>
Sun, 22 Dec 2013 12:25:55 +0000 (12:25 +0000)
git-svn-id: https://svn.apache.org/repos/asf/archiva/trunk@1552983 13f79535-47bb-0310-9956-ffa450edef68

archiva-modules/archiva-web/archiva-rest/archiva-rest-services/src/main/java/org/apache/archiva/rest/services/DefaultRemoteRepositoriesService.java
archiva-modules/archiva-web/archiva-web-common/src/test/java/org/apache/archiva/remotedownload/RemoteRepositoryConnectivityCheckTest.java

index 38afc67587682cdf47fdf2f4c2a89d0a0575560d..5e83622a05c2e178babe4bdf21ff39ac87e40082 100644 (file)
@@ -1,4 +1,5 @@
 package org.apache.archiva.rest.services;
+
 /*
  * Licensed to the Apache Software Foundation (ASF) under one
  * or more contributor license agreements.  See the NOTICE file
@@ -190,6 +191,11 @@ public class DefaultRemoteRepositoriesService
 
             return Boolean.TRUE;
         }
+        catch ( TransferFailedException e )
+        {
+            log.info( "TransferFailedException :{}", e.getMessage() );
+            return Boolean.FALSE;
+        }
         catch ( Exception e )
         {
             throw new ArchivaRestServiceException( e.getMessage(),
index c882d8816824e5ef7f76b1edae0ecd037031b69d..e53809279aac06d820563d82f5acb18359a4c316 100644 (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 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.ServletContextHandler;
 import org.eclipse.jetty.servlet.ServletHolder;
+import org.fest.assertions.api.Assertions;
 import org.junit.AfterClass;
 import org.junit.BeforeClass;
 import org.junit.Test;
@@ -73,7 +93,7 @@ public class RemoteRepositoryConnectivityCheckTest
 
             service.addRemoteRepository( repo );
 
-            service.checkRemoteConnectivity( repo.getId() );
+            Assertions.assertThat( service.checkRemoteConnectivity( repo.getId() ) ).isTrue();
         }
         finally
         {
@@ -106,7 +126,7 @@ public class RemoteRepositoryConnectivityCheckTest
 
             service.addRemoteRepository( repo );
 
-            service.checkRemoteConnectivity( repo.getId() );
+            Assertions.assertThat( service.checkRemoteConnectivity( repo.getId() ) ).isTrue();
         }
         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 )
     {
         Server repoServer = new Server( 0 );