summaryrefslogtreecommitdiffstats
path: root/archiva-modules/archiva-web/archiva-rest
diff options
context:
space:
mode:
authorskygo <skygo@unknown>2013-05-27 22:04:25 +0000
committerskygo <skygo@unknown>2013-05-27 22:04:25 +0000
commit60d0a2d36caf5373915fa028b4d7e49b224e68d2 (patch)
tree5b33382e34d3005e6fbfa733b850c977e501a43b /archiva-modules/archiva-web/archiva-rest
parent796cec82cf500dd4f14a7451ea0d993b3ee18a7e (diff)
downloadarchiva-60d0a2d36caf5373915fa028b4d7e49b224e68d2.tar.gz
archiva-60d0a2d36caf5373915fa028b4d7e49b224e68d2.zip
rewrite try some tests
git-svn-id: https://svn.apache.org/repos/asf/archiva/branches/archiva-MRM-1756@1486718 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'archiva-modules/archiva-web/archiva-rest')
-rw-r--r--archiva-modules/archiva-web/archiva-rest/archiva-rest-services/src/main/java/org/apache/archiva/rest/services/DefaultPluginsServices.java28
-rw-r--r--archiva-modules/archiva-web/archiva-rest/archiva-rest-services/src/test/java/org/apache/archiva/rest/services/AbstractArchivaRestTest.java9
-rw-r--r--archiva-modules/archiva-web/archiva-rest/archiva-rest-services/src/test/java/org/apache/archiva/rest/services/PluginServiceTest.java45
3 files changed, 75 insertions, 7 deletions
diff --git a/archiva-modules/archiva-web/archiva-rest/archiva-rest-services/src/main/java/org/apache/archiva/rest/services/DefaultPluginsServices.java b/archiva-modules/archiva-web/archiva-rest/archiva-rest-services/src/main/java/org/apache/archiva/rest/services/DefaultPluginsServices.java
index 492066953..1896f4597 100644
--- a/archiva-modules/archiva-web/archiva-rest/archiva-rest-services/src/main/java/org/apache/archiva/rest/services/DefaultPluginsServices.java
+++ b/archiva-modules/archiva-web/archiva-rest/archiva-rest-services/src/main/java/org/apache/archiva/rest/services/DefaultPluginsServices.java
@@ -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();
+ }
}
}
diff --git a/archiva-modules/archiva-web/archiva-rest/archiva-rest-services/src/test/java/org/apache/archiva/rest/services/AbstractArchivaRestTest.java b/archiva-modules/archiva-web/archiva-rest/archiva-rest-services/src/test/java/org/apache/archiva/rest/services/AbstractArchivaRestTest.java
index 1fb4fbd5a..6655bbfe8 100644
--- a/archiva-modules/archiva-web/archiva-rest/archiva-rest-services/src/test/java/org/apache/archiva/rest/services/AbstractArchivaRestTest.java
+++ b/archiva-modules/archiva-web/archiva-rest/archiva-rest-services/src/test/java/org/apache/archiva/rest/services/AbstractArchivaRestTest.java
@@ -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
index 000000000..76dc89bbd
--- /dev/null
+++ b/archiva-modules/archiva-web/archiva-rest/archiva-rest-services/src/test/java/org/apache/archiva/rest/services/PluginServiceTest.java
@@ -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 );
+ }
+
+
+}