return service;
}
- protected BrowseService getBrowseService( String authzHeader )
+ protected BrowseService getBrowseService( String authzHeader, boolean useXml )
{
BrowseService service =
JAXRSClientFactory.create( getBaseUrl() + "/" + getRestServicesPath() + "/archivaServices/",
}
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;
}
}
- protected void createAndIndexRepo( String testRepoId, String repoPath )
+ protected void createAndIndexRepo( String testRepoId, String repoPath, boolean scan )
throws Exception
{
if ( getManagedRepositoriesService( authorizationHeader ).getManagedRepository( testRepoId ) != null )
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 )
* 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;
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 );
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 );
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 );
+ }
}