]> source.dussan.org Git - archiva.git/commitdiff
[MRM-1490] Expose Archiva services trough REST : repository group admin tru rest...
authorOlivier Lamy <olamy@apache.org>
Tue, 6 Sep 2011 21:54:42 +0000 (21:54 +0000)
committerOlivier Lamy <olamy@apache.org>
Tue, 6 Sep 2011 21:54:42 +0000 (21:54 +0000)
git-svn-id: https://svn.apache.org/repos/asf/archiva/trunk@1165893 13f79535-47bb-0310-9956-ffa450edef68

archiva-modules/archiva-web/archiva-rest/archiva-rest-services/src/test/java/org/apache/archiva/rest/services/AbstractArchivaRestTest.java
archiva-modules/archiva-web/archiva-rest/archiva-rest-services/src/test/java/org/apache/archiva/rest/services/ManagedRepositoriesServiceTest.java
archiva-modules/archiva-web/archiva-rest/archiva-rest-services/src/test/java/org/apache/archiva/rest/services/RepositoriesServiceTest.java
archiva-modules/archiva-web/archiva-rest/archiva-rest-services/src/test/java/org/apache/archiva/rest/services/RepositoryGroupServiceTest.java [new file with mode: 0644]

index 335837356017f3e8e130c55359fdff55f864bb08..5f3c7b918cfd36aed6da085d846f0927540271ee 100644 (file)
@@ -19,13 +19,18 @@ package org.apache.archiva.rest.services;
  */
 
 
+import org.apache.archiva.rest.api.model.ManagedRepository;
 import org.apache.archiva.rest.api.services.ManagedRepositoriesService;
 import org.apache.archiva.rest.api.services.PingService;
 import org.apache.archiva.rest.api.services.RemoteRepositoriesService;
 import org.apache.archiva.rest.api.services.RepositoriesService;
+import org.apache.archiva.rest.api.services.RepositoryGroupService;
 import org.apache.cxf.jaxrs.client.JAXRSClientFactory;
+import org.apache.maven.archiva.common.utils.FileUtil;
 import org.codehaus.redback.rest.services.AbstractRestServicesTest;
 
+import java.io.File;
+
 /**
  * @author Olivier Lamy
  */
@@ -68,4 +73,16 @@ public abstract class AbstractArchivaRestTest
 
 
     }
+
+    protected RepositoryGroupService getRepositoryGroupService()
+    {
+        return JAXRSClientFactory.create( "http://localhost:" + port + "/services/archivaServices/",
+                                          RepositoryGroupService.class );
+    }
+
+    protected ManagedRepository getTestManagedRepository()
+    {
+        String location = new File( FileUtil.getBasedir(), "target/test-repo" ).getAbsolutePath();
+        return new ManagedRepository( "TEST", "test", location, "default", true, true, false, false, "2 * * * * ?" );
+    }
 }
index f5acc4140bc56f52571a3933a590da9b3f1ccf5c..c885706874bca6037b787067af4d53b676597874 100644 (file)
@@ -88,10 +88,6 @@ public class ManagedRepositoriesServiceTest
     }
 
 
-    private ManagedRepository getTestManagedRepository()
-    {
-        String location = new File( FileUtil.getBasedir(), "target/test-repo" ).getAbsolutePath();
-        return new ManagedRepository( "TEST", "test", location, "default", true, true, false, false, "2 * * * * ?" );
-    }
+
 
 }
index 0d1472654d8e8217fc8c44d2c77539fec7b8b8a7..a9b14cd890456e7fa30ea984bda0b282f5610c9c 100644 (file)
@@ -75,7 +75,7 @@ public class RepositoriesServiceTest
     }
 
 
-    private ManagedRepository getTestManagedRepository()
+    protected ManagedRepository getTestManagedRepository()
     {
         String location = new File( FileUtil.getBasedir(), "target/test-repo" ).getAbsolutePath();
         return new ManagedRepository( "TEST", "test", location, "default", true, true, false, false, "2 * * * * ?" );
diff --git a/archiva-modules/archiva-web/archiva-rest/archiva-rest-services/src/test/java/org/apache/archiva/rest/services/RepositoryGroupServiceTest.java b/archiva-modules/archiva-web/archiva-rest/archiva-rest-services/src/test/java/org/apache/archiva/rest/services/RepositoryGroupServiceTest.java
new file mode 100644 (file)
index 0000000..f048da8
--- /dev/null
@@ -0,0 +1,65 @@
+package org.apache.archiva.rest.services;
+/*
+ * 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.rest.api.model.ManagedRepository;
+import org.apache.archiva.rest.api.model.RepositoryGroup;
+import org.apache.archiva.rest.api.services.ManagedRepositoriesService;
+import org.apache.archiva.rest.api.services.RepositoryGroupService;
+import org.apache.cxf.jaxrs.client.WebClient;
+import org.junit.Test;
+
+import java.util.Arrays;
+
+/**
+ * @author Olivier Lamy
+ */
+public class RepositoryGroupServiceTest
+    extends AbstractArchivaRestTest
+{
+    @Test
+    public void addAndDelete()
+        throws Exception
+    {
+        RepositoryGroupService service = getRepositoryGroupService();
+        WebClient.client( service ).header( "Authorization", authorizationHeader );
+        WebClient.getConfig( service ).getHttpConduit().getClient().setReceiveTimeout( 300000 );
+
+        assertTrue( service.getRepositoriesGroups().isEmpty() );
+
+        ManagedRepositoriesService managedRepositoriesService = getManagedRepositoriesService();
+        WebClient.client( managedRepositoriesService ).header( "Authorization", authorizationHeader );
+        WebClient.getConfig( service ).getHttpConduit().getClient().setReceiveTimeout( 300000 );
+
+        ManagedRepository managedRepository = getTestManagedRepository();
+
+        managedRepositoriesService.addManagedRepository( managedRepository );
+
+        RepositoryGroup repositoryGroup = new RepositoryGroup( "one", Arrays.asList( managedRepository.getId() ) );
+
+        service.addRepositoryGroup( repositoryGroup );
+        assertFalse( service.getRepositoriesGroups().isEmpty() );
+        assertEquals( 1, service.getRepositoriesGroups().size() );
+
+        service.deleteRepositoryGroup( "one" );
+
+        assertTrue( service.getRepositoriesGroups().isEmpty() );
+        assertEquals( 0, service.getRepositoriesGroups().size() );
+    }
+}