Author: olamy
Date: Sat Mar 24 22:01:00 2012
New Revision: 1304938

URL: http://svn.apache.org/viewvc?rev=1304938&view=rev
Log:
add unit tests for browseService

Modified:
    
archiva/trunk/archiva-modules/archiva-web/archiva-rest/archiva-rest-api/src/main/java/org/apache/archiva/rest/api/model/BrowseResultEntry.java
    
archiva/trunk/archiva-modules/archiva-web/archiva-rest/archiva-rest-services/src/test/java/org/apache/archiva/rest/services/AbstractArchivaRestTest.java
    
archiva/trunk/archiva-modules/archiva-web/archiva-rest/archiva-rest-services/src/test/java/org/apache/archiva/rest/services/BrowseServiceTest.java

Modified: 
archiva/trunk/archiva-modules/archiva-web/archiva-rest/archiva-rest-api/src/main/java/org/apache/archiva/rest/api/model/BrowseResultEntry.java
URL: 
http://svn.apache.org/viewvc/archiva/trunk/archiva-modules/archiva-web/archiva-rest/archiva-rest-api/src/main/java/org/apache/archiva/rest/api/model/BrowseResultEntry.java?rev=1304938&r1=1304937&r2=1304938&view=diff
==============================================================================
--- 
archiva/trunk/archiva-modules/archiva-web/archiva-rest/archiva-rest-api/src/main/java/org/apache/archiva/rest/api/model/BrowseResultEntry.java
 (original)
+++ 
archiva/trunk/archiva-modules/archiva-web/archiva-rest/archiva-rest-api/src/main/java/org/apache/archiva/rest/api/model/BrowseResultEntry.java
 Sat Mar 24 22:01:00 2012
@@ -69,4 +69,49 @@ public class BrowseResultEntry
     {
         return this.name.compareTo( browseGroupResultEntry.name );
     }
+
+    @Override
+    public String toString()
+    {
+        final StringBuilder sb = new StringBuilder();
+        sb.append( "BrowseResultEntry" );
+        sb.append( "{name='" ).append( name ).append( '\'' );
+        sb.append( ", project=" ).append( project );
+        sb.append( '}' );
+        return sb.toString();
+    }
+
+    @Override
+    public boolean equals( Object o )
+    {
+        if ( this == o )
+        {
+            return true;
+        }
+        if ( !( o instanceof BrowseResultEntry ) )
+        {
+            return false;
+        }
+
+        BrowseResultEntry that = (BrowseResultEntry) o;
+
+        if ( project != that.project )
+        {
+            return false;
+        }
+        if ( !name.equals( that.name ) )
+        {
+            return false;
+        }
+
+        return true;
+    }
+
+    @Override
+    public int hashCode()
+    {
+        int result = name.hashCode();
+        result = 31 * result + ( project ? 1 : 0 );
+        return result;
+    }
 }

Modified: 
archiva/trunk/archiva-modules/archiva-web/archiva-rest/archiva-rest-services/src/test/java/org/apache/archiva/rest/services/AbstractArchivaRestTest.java
URL: 
http://svn.apache.org/viewvc/archiva/trunk/archiva-modules/archiva-web/archiva-rest/archiva-rest-services/src/test/java/org/apache/archiva/rest/services/AbstractArchivaRestTest.java?rev=1304938&r1=1304937&r2=1304938&view=diff
==============================================================================
--- 
archiva/trunk/archiva-modules/archiva-web/archiva-rest/archiva-rest-services/src/test/java/org/apache/archiva/rest/services/AbstractArchivaRestTest.java
 (original)
+++ 
archiva/trunk/archiva-modules/archiva-web/archiva-rest/archiva-rest-services/src/test/java/org/apache/archiva/rest/services/AbstractArchivaRestTest.java
 Sat Mar 24 22:01:00 2012
@@ -201,7 +201,7 @@ public abstract class AbstractArchivaRes
         return service;
     }
 
-    protected BrowseService getBrowseService( String authzHeader )
+    protected BrowseService getBrowseService( String authzHeader, boolean 
useXml )
     {
         BrowseService service =
             JAXRSClientFactory.create( getBaseUrl() + "/" + 
getRestServicesPath() + "/archivaServices/",
@@ -214,9 +214,16 @@ public abstract class AbstractArchivaRes
         }
 
         WebClient.getConfig( service 
).getHttpConduit().getClient().setReceiveTimeout( 100000000 );
-
-        WebClient.client( service ).accept( MediaType.APPLICATION_JSON_TYPE );
-        WebClient.client( service ).type( MediaType.APPLICATION_JSON_TYPE );
+        if ( useXml )
+        {
+            WebClient.client( service ).accept( MediaType.APPLICATION_XML_TYPE 
);
+            WebClient.client( service ).type( MediaType.APPLICATION_XML_TYPE );
+        }
+        else
+        {
+            WebClient.client( service ).accept( 
MediaType.APPLICATION_JSON_TYPE );
+            WebClient.client( service ).type( MediaType.APPLICATION_JSON_TYPE 
);
+        }
         return service;
 
     }
@@ -348,7 +355,7 @@ public abstract class AbstractArchivaRes
 
     }
 
-    protected void createAndIndexRepo( String testRepoId, String repoPath )
+    protected void createAndIndexRepo( String testRepoId, String repoPath, 
boolean scan )
         throws Exception
     {
         if ( getManagedRepositoriesService( authorizationHeader 
).getManagedRepository( testRepoId ) != null )
@@ -378,9 +385,17 @@ public abstract class AbstractArchivaRes
 
         getRoleManagementService( authorizationHeader ).assignTemplatedRole(
             ArchivaRoleConstants.TEMPLATE_REPOSITORY_OBSERVER, testRepoId, 
"guest" );
+        if ( scan )
+        {
+            getRepositoriesService( authorizationHeader ).scanRepositoryNow( 
testRepoId, true );
+        }
 
-        getRepositoriesService( authorizationHeader ).scanRepositoryNow( 
testRepoId, true );
+    }
 
+    protected void createAndIndexRepo( String testRepoId, String repoPath )
+        throws Exception
+    {
+        createAndIndexRepo( testRepoId, repoPath, true );
     }
 
     protected void deleteTestRepo( String id )

Modified: 
archiva/trunk/archiva-modules/archiva-web/archiva-rest/archiva-rest-services/src/test/java/org/apache/archiva/rest/services/BrowseServiceTest.java
URL: 
http://svn.apache.org/viewvc/archiva/trunk/archiva-modules/archiva-web/archiva-rest/archiva-rest-services/src/test/java/org/apache/archiva/rest/services/BrowseServiceTest.java?rev=1304938&r1=1304937&r2=1304938&view=diff
==============================================================================
--- 
archiva/trunk/archiva-modules/archiva-web/archiva-rest/archiva-rest-services/src/test/java/org/apache/archiva/rest/services/BrowseServiceTest.java
 (original)
+++ 
archiva/trunk/archiva-modules/archiva-web/archiva-rest/archiva-rest-services/src/test/java/org/apache/archiva/rest/services/BrowseServiceTest.java
 Sat Mar 24 22:01:00 2012
@@ -18,6 +18,10 @@ package org.apache.archiva.rest.services
  * under the License.
  */
 
+import org.apache.archiva.metadata.model.ProjectVersionMetadata;
+import org.apache.archiva.rest.api.model.BrowseResult;
+import org.apache.archiva.rest.api.model.BrowseResultEntry;
+import org.apache.archiva.rest.api.model.VersionsList;
 import org.apache.archiva.rest.api.services.BrowseService;
 import org.fest.assertions.MapAssert;
 import org.junit.Test;
@@ -46,7 +50,7 @@ public class BrowseServiceTest
 
         createAndIndexRepo( testRepoId, "src/test/repo-with-osgi" );
 
-        BrowseService browseService = getBrowseService( authorizationHeader );
+        BrowseService browseService = getBrowseService( authorizationHeader, 
false );
 
         Map<String, String> metadatas = browseService.getMetadatas( 
"commons-cli", "commons-cli", "1.0", testRepoId );
 
@@ -77,7 +81,7 @@ public class BrowseServiceTest
 
         createAndIndexRepo( testRepoId, "src/test/repo-with-osgi" );
 
-        BrowseService browseService = getBrowseService( authorizationHeader );
+        BrowseService browseService = getBrowseService( authorizationHeader, 
false );
 
         Map<String, String> metadatas = browseService.getMetadatas( 
"commons-cli", "commons-cli", "1.0", testRepoId );
 
@@ -98,4 +102,105 @@ public class BrowseServiceTest
         deleteTestRepo( testRepoId );
 
     }
+
+    @Test
+    public void browserootGroups()
+        throws Exception
+    {
+
+        String testRepoId = "test-repo";
+        // force guest user creation if not exists
+        if ( getUserService( authorizationHeader ).getGuestUser() == null )
+        {
+            assertNotNull( getUserService( authorizationHeader 
).createGuestUser() );
+        }
+
+        createAndIndexRepo( testRepoId, "src/test/repo-with-osgi", false );
+
+        BrowseService browseService = getBrowseService( authorizationHeader, 
false );
+
+        BrowseResult browseResult = browseService.getRootGroups( testRepoId );
+        assertThat( browseResult ).isNotNull();
+        assertThat( browseResult.getBrowseResultEntries() 
).isNotNull().isNotEmpty().hasSize( 3 ).contains(
+            new BrowseResultEntry( "commons-cli", false ), new 
BrowseResultEntry( "commons-logging", false ),
+            new BrowseResultEntry( "org.apache", false ) );
+
+        deleteTestRepo( testRepoId );
+
+    }
+
+    @Test
+    public void browsegroupId()
+        throws Exception
+    {
+
+        String testRepoId = "test-repo";
+        // force guest user creation if not exists
+        if ( getUserService( authorizationHeader ).getGuestUser() == null )
+        {
+            assertNotNull( getUserService( authorizationHeader 
).createGuestUser() );
+        }
+
+        createAndIndexRepo( testRepoId, "src/test/repo-with-osgi", false );
+
+        BrowseService browseService = getBrowseService( authorizationHeader, 
false );
+
+        BrowseResult browseResult = browseService.browseGroupId( "org.apache", 
testRepoId );
+        assertThat( browseResult ).isNotNull();
+        assertThat( browseResult.getBrowseResultEntries() 
).isNotNull().isNotEmpty().hasSize( 2 ).contains(
+            new BrowseResultEntry( "org.apache.felix", false ),
+            new BrowseResultEntry( "org.apache.karaf.features", false ) );
+
+        deleteTestRepo( testRepoId );
+
+    }
+
+    @Test
+    public void versionsList()
+        throws Exception
+    {
+
+        String testRepoId = "test-repo";
+        // force guest user creation if not exists
+        if ( getUserService( authorizationHeader ).getGuestUser() == null )
+        {
+            assertNotNull( getUserService( authorizationHeader 
).createGuestUser() );
+        }
+
+        createAndIndexRepo( testRepoId, "src/test/repo-with-osgi", false );
+
+        BrowseService browseService = getBrowseService( authorizationHeader, 
false );
+
+        VersionsList versions =
+            browseService.getVersionsList( "org.apache.karaf.features", 
"org.apache.karaf.features.core", testRepoId );
+        assertThat( versions ).isNotNull();
+        assertThat( versions.getVersions() ).isNotNull().isNotEmpty().hasSize( 
2 ).contains( "2.2.1", "2.2.2" );
+
+        deleteTestRepo( testRepoId );
+
+    }
+
+    @Test
+    public void getProjectVersionMetadata()
+        throws Exception
+    {
+        String testRepoId = "test-repo";
+        // force guest user creation if not exists
+        if ( getUserService( authorizationHeader ).getGuestUser() == null )
+        {
+            assertNotNull( getUserService( authorizationHeader 
).createGuestUser() );
+        }
+
+        createAndIndexRepo( testRepoId, "src/test/repo-with-osgi", false );
+
+        BrowseService browseService = getBrowseService( authorizationHeader, 
true );
+
+        ProjectVersionMetadata metadata =
+            browseService.getProjectVersionMetadata( 
"org.apache.karaf.features", "org.apache.karaf.features.core",
+                                                     testRepoId );
+
+        assertThat( metadata ).isNotNull();
+
+        deleteTestRepo( testRepoId );
+    }
 }


Reply via email to