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 );
+ }
}