]> source.dussan.org Git - archiva.git/commitdiff
rewrite try some tests
authorskygo <skygo@unknown>
Mon, 27 May 2013 22:04:25 +0000 (22:04 +0000)
committerskygo <skygo@unknown>
Mon, 27 May 2013 22:04:25 +0000 (22:04 +0000)
git-svn-id: https://svn.apache.org/repos/asf/archiva/branches/archiva-MRM-1756@1486718 13f79535-47bb-0310-9956-ffa450edef68

archiva-modules/archiva-web/archiva-rest/archiva-rest-services/src/main/java/org/apache/archiva/rest/services/DefaultPluginsServices.java
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/PluginServiceTest.java [new file with mode: 0644]

index 492066953c5c739d62400ef6bf0ff940189798d6..1896f4597bf143f2cb818a08fb1790db5ad18a1b 100644 (file)
@@ -39,20 +39,23 @@ public class DefaultPluginsServices
 
     private List<String> repositoryType = new ArrayList<String>();
     private List<String> adminFeatures = new ArrayList<String>();
+    private ApplicationContext appCont;
 
     @Inject
     public DefaultPluginsServices( ApplicationContext applicationContext )
     {
-        feed( repositoryType, "repository", applicationContext );
-        feed( adminFeatures, "features", applicationContext );
+        System.err.println( "appCont" );
+        this.appCont = applicationContext;
     }
 
-    private void feed( List<String> repository, String key, ApplicationContext applicationContext )
+    private void feed( List<String> repository, String key ) throws ArchivaRestServiceException
     {
+        System.err.println( "feeed" );
+        repository.clear();
         Resource[] xmlResources;
         try
         {
-            xmlResources = applicationContext.getResources( "/**/" + key + "/**/main.js" );
+            xmlResources = appCont.getResources( "/**/" + key + "/**/main.js" );
             for ( Resource rc : xmlResources )
             {
                 String tmp = rc.getURL().toString();
@@ -60,8 +63,10 @@ public class DefaultPluginsServices
                 repository.add( "archiva/admin/" + key + "/" + tmp + "/main" );
             }
         }
-        catch ( IOException ex )
+        catch ( IOException e )
         {
+
+            throw new ArchivaRestServiceException( e.getMessage(), e );
         }
     }
 
@@ -70,6 +75,8 @@ public class DefaultPluginsServices
             throws ArchivaRestServiceException
     {
         // rebuild
+        feed( repositoryType, "repository" );
+        feed( adminFeatures, "features" );
         StringBuilder sb = new StringBuilder();
         for ( String repoType : repositoryType )
         {
@@ -79,8 +86,15 @@ public class DefaultPluginsServices
         {
             sb.append( repoType ).append( "|" );
         }
-
-        return sb.substring( 0, sb.length() - 1 );
+        System.err.println( "sb" + sb.toString() );
+        if ( sb.length() > 1 )
+        {
+            return sb.substring( 0, sb.length() - 1 );
+        }
+        else
+        {
+            return sb.toString();
+        }
 
     }
 }
index 1fb4fbd5a120f2a164f2d1c7551d0388e7181d6d..6655bbfe87fe0a6334a2ba4caf131e1a84289826 100644 (file)
@@ -53,6 +53,7 @@ import javax.ws.rs.core.MediaType;
 import java.io.File;
 import java.util.Collections;
 import java.util.Date;
+import org.apache.archiva.rest.api.services.PluginsService;
 
 /**
  * @author Olivier Lamy
@@ -165,6 +166,14 @@ public abstract class AbstractArchivaRestTest
     {
         return getService( PingService.class, null );
     }
+    
+    protected PluginsService getPluginsService()
+    {
+        PluginsService service = getService( PluginsService.class, null );
+        WebClient.client( service ).accept( MediaType.TEXT_PLAIN );
+        WebClient.client( service ).type( MediaType.TEXT_PLAIN );
+        return service;
+    }
 
     protected RemoteRepositoriesService getRemoteRepositoriesService()
     {
diff --git a/archiva-modules/archiva-web/archiva-rest/archiva-rest-services/src/test/java/org/apache/archiva/rest/services/PluginServiceTest.java b/archiva-modules/archiva-web/archiva-rest/archiva-rest-services/src/test/java/org/apache/archiva/rest/services/PluginServiceTest.java
new file mode 100644 (file)
index 0000000..76dc89b
--- /dev/null
@@ -0,0 +1,45 @@
+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 static junit.framework.TestCase.assertEquals;
+import org.apache.archiva.rest.api.services.PluginsService;
+import org.junit.Test;
+
+/**
+ * @author Olivier Lamy
+ * @since 1.4-M1
+ */
+public class PluginServiceTest
+        extends AbstractArchivaRestTest
+{
+
+    @Test
+    public void testGetPluginAdmin()
+            throws Exception
+    {
+        // 1000000L
+
+        PluginsService res = getPluginsService();
+        String value = res.getAdminPlugins();
+        assertEquals( "", value );
+    }
+
+   
+}