You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@maven.apache.org by ol...@apache.org on 2011/10/01 09:01:09 UTC

svn commit: r1177934 - in /maven/sandbox/trunk/central-indexer-test: ./ src/ src/main/ src/main/java/ src/main/java/org/ src/main/java/org/apache/ src/main/java/org/apache/maven/ src/main/java/org/apache/maven/indexer/ src/main/java/org/apache/maven/in...

Author: olamy
Date: Sat Oct  1 07:01:08 2011
New Revision: 1177934

URL: http://svn.apache.org/viewvc?rev=1177934&view=rev
Log:
add some tests for https://issues.sonatype.org/browse/MVNCENTRAL-122

Added:
    maven/sandbox/trunk/central-indexer-test/pom.xml   (with props)
    maven/sandbox/trunk/central-indexer-test/src/
    maven/sandbox/trunk/central-indexer-test/src/main/
    maven/sandbox/trunk/central-indexer-test/src/main/java/
    maven/sandbox/trunk/central-indexer-test/src/main/java/org/
    maven/sandbox/trunk/central-indexer-test/src/main/java/org/apache/
    maven/sandbox/trunk/central-indexer-test/src/main/java/org/apache/maven/
    maven/sandbox/trunk/central-indexer-test/src/main/java/org/apache/maven/indexer/
    maven/sandbox/trunk/central-indexer-test/src/main/java/org/apache/maven/indexer/test/
    maven/sandbox/trunk/central-indexer-test/src/test/
    maven/sandbox/trunk/central-indexer-test/src/test/foo/
    maven/sandbox/trunk/central-indexer-test/src/test/java/
    maven/sandbox/trunk/central-indexer-test/src/test/java/org/
    maven/sandbox/trunk/central-indexer-test/src/test/java/org/apache/
    maven/sandbox/trunk/central-indexer-test/src/test/java/org/apache/maven/
    maven/sandbox/trunk/central-indexer-test/src/test/java/org/apache/maven/indexer/
    maven/sandbox/trunk/central-indexer-test/src/test/java/org/apache/maven/indexer/test/
    maven/sandbox/trunk/central-indexer-test/src/test/java/org/apache/maven/indexer/test/OsgiTest.java   (with props)
Modified:
    maven/sandbox/trunk/central-indexer-test/   (props changed)

Propchange: maven/sandbox/trunk/central-indexer-test/
------------------------------------------------------------------------------
--- svn:ignore (added)
+++ svn:ignore Sat Oct  1 07:01:08 2011
@@ -0,0 +1,2 @@
+*.iml
+target

Added: maven/sandbox/trunk/central-indexer-test/pom.xml
URL: http://svn.apache.org/viewvc/maven/sandbox/trunk/central-indexer-test/pom.xml?rev=1177934&view=auto
==============================================================================
--- maven/sandbox/trunk/central-indexer-test/pom.xml (added)
+++ maven/sandbox/trunk/central-indexer-test/pom.xml Sat Oct  1 07:01:08 2011
@@ -0,0 +1,34 @@
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+  xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+  <modelVersion>4.0.0</modelVersion>
+
+  <groupId>org.apache.maven.indexer.test</groupId>
+  <artifactId>central-indexer-test</artifactId>
+  <version>1.0-SNAPSHOT</version>
+  <packaging>jar</packaging>
+
+  <name>central-indexer-test</name>
+
+  <properties>
+    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
+  </properties>
+
+  <dependencies>
+    <dependency>
+      <groupId>org.apache.maven.indexer</groupId>
+      <artifactId>indexer-core</artifactId>
+      <version>4.1.2</version>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.maven.wagon</groupId>
+      <artifactId>wagon-http</artifactId>
+      <version>2.0</version>
+    </dependency>
+    <dependency>
+      <groupId>junit</groupId>
+      <artifactId>junit</artifactId>
+      <version>4.9</version>
+      <scope>test</scope>
+    </dependency>
+  </dependencies>
+</project>

Propchange: maven/sandbox/trunk/central-indexer-test/pom.xml
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: maven/sandbox/trunk/central-indexer-test/pom.xml
------------------------------------------------------------------------------
    svn:keywords = Author Date Id Revision

Added: maven/sandbox/trunk/central-indexer-test/src/test/java/org/apache/maven/indexer/test/OsgiTest.java
URL: http://svn.apache.org/viewvc/maven/sandbox/trunk/central-indexer-test/src/test/java/org/apache/maven/indexer/test/OsgiTest.java?rev=1177934&view=auto
==============================================================================
--- maven/sandbox/trunk/central-indexer-test/src/test/java/org/apache/maven/indexer/test/OsgiTest.java (added)
+++ maven/sandbox/trunk/central-indexer-test/src/test/java/org/apache/maven/indexer/test/OsgiTest.java Sat Oct  1 07:01:08 2011
@@ -0,0 +1,179 @@
+package org.apache.maven.indexer.test;
+
+import org.apache.commons.io.FileUtils;
+import org.apache.lucene.search.BooleanClause;
+import org.apache.lucene.search.BooleanQuery;
+import org.apache.maven.index.FlatSearchRequest;
+import org.apache.maven.index.FlatSearchResponse;
+import org.apache.maven.index.MAVEN;
+import org.apache.maven.index.NexusIndexer;
+import org.apache.maven.index.OSGI;
+import org.apache.maven.index.context.IndexCreator;
+import org.apache.maven.index.context.IndexingContext;
+import org.apache.maven.index.expr.StringSearchExpression;
+import org.apache.maven.index.updater.IndexUpdateRequest;
+import org.apache.maven.index.updater.IndexUpdater;
+import org.apache.maven.index.updater.ResourceFetcher;
+import org.apache.maven.wagon.ResourceDoesNotExistException;
+import org.apache.maven.wagon.TransferFailedException;
+import org.apache.maven.wagon.Wagon;
+import org.apache.maven.wagon.authorization.AuthorizationException;
+import org.apache.maven.wagon.repository.Repository;
+import org.codehaus.plexus.PlexusTestCase;
+
+import java.io.File;
+import java.io.FileInputStream;
+import java.io.FileNotFoundException;
+import java.io.IOException;
+import java.io.InputStream;
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.List;
+
+/**
+ * Unit test for simple App.
+ */
+public class OsgiTest
+    extends PlexusTestCase
+{
+
+    IndexingContext context;
+
+    public void setUp( )
+        throws Exception
+    {
+        super.setUp( );
+        NexusIndexer nexusIndexer = lookup( NexusIndexer.class );
+        final File tempIndexDirectory = new File( getBasedir( ), "target/.tmpIndex" );
+        File repo = new File( getBasedir( ), "target/src/test/foo" );
+        repo.mkdirs( );
+        assertTrue( repo.exists( ) );
+        File indexDirectory =
+            new File( getBasedir( ), "target/index/test-" + Long.toString( System.currentTimeMillis( ) ) );
+        indexDirectory.deleteOnExit( );
+
+        List<IndexCreator> indexCreators =
+            new ArrayList<IndexCreator>( getContainer( ).lookupList( IndexCreator.class ) );
+
+        System.out.println( "indexCreators: " + indexCreators );
+
+        FileUtils.deleteDirectory( indexDirectory );
+        context =
+            nexusIndexer.addIndexingContext( "id", "id", repo, indexDirectory, repo.toURI( ).toURL( ).toExternalForm( ),
+                                             indexDirectory.toURI( ).toURL( ).toString( ), indexCreators );
+
+        final Wagon httpWagon = lookup( Wagon.class, "http" );
+
+        httpWagon.connect( new Repository( "central", "http://repo1.maven.org/maven2/.index" ) );
+
+        ResourceFetcher resourceFetcher = new ResourceFetcher( )
+        {
+            public void connect( String id, String url )
+                throws IOException
+            {
+                //no op
+            }
+
+            public void disconnect( )
+                throws IOException
+            {
+                // no op
+            }
+
+            public InputStream retrieve( String name )
+                throws IOException, FileNotFoundException
+            {
+                try
+                {
+                    System.out.println( "index update retrieve file, name: " + name );
+                    File file = new File( tempIndexDirectory, name );
+                    if ( file.exists( ) )
+                    {
+                        file.delete( );
+                    }
+                    file.deleteOnExit( );
+                    httpWagon.get( name, file );
+                    return new FileInputStream( file );
+                }
+                catch ( AuthorizationException e )
+                {
+                    throw new IOException( e.getMessage( ) );
+                }
+                catch ( TransferFailedException e )
+                {
+                    throw new IOException( e.getMessage( ) );
+                }
+                catch ( ResourceDoesNotExistException e )
+                {
+                    throw new FileNotFoundException( e.getMessage( ) );
+                }
+            }
+        };
+
+        IndexUpdateRequest request = new IndexUpdateRequest( context, resourceFetcher );
+        File indexCacheDir = new File( getBasedir( ), "target/indexCacheDir" );
+        indexCacheDir.mkdirs( );
+        request.setLocalIndexCacheDir( indexCacheDir );
+        request.setForceFullUpdate( false );
+
+        IndexUpdater indexUpdater = lookup( IndexUpdater.class );
+
+        indexUpdater.fetchAndUpdateIndex( request );
+    }
+
+    public void testSearchArtifactId( )
+        throws Exception
+    {
+
+        NexusIndexer indexer = lookup( NexusIndexer.class );
+        BooleanQuery q = new BooleanQuery( );
+        q.add( indexer.constructQuery( MAVEN.ARTIFACT_ID, new StringSearchExpression( "commons-lang" ) ),
+               BooleanClause.Occur.MUST );
+
+        FlatSearchRequest searchRequest = new FlatSearchRequest( q );
+        searchRequest.setContexts( Arrays.asList( context ) );
+        FlatSearchResponse response = indexer.searchFlat( searchRequest );
+        System.out.println(
+            "artifactId commons-lang response getReturnedHitsCount : " + response.getReturnedHitsCount( ) );
+        assertTrue( response.getReturnedHitsCount( ) > 0 );
+
+
+    }
+
+    // org/apache/karaf/features/org.apache.karaf.features.command/2.2.2/org.apache.karaf.features.command-2.2.2.jar
+    public void testSearchWithSymbolicName( )
+        throws Exception
+    {
+
+        NexusIndexer indexer = lookup( NexusIndexer.class );
+        BooleanQuery q = new BooleanQuery( );
+        q.add( indexer.constructQuery( OSGI.SYMBOLIC_NAME,
+                                       new StringSearchExpression( "org.apache.karaf.features.command" ) ),
+               BooleanClause.Occur.MUST );
+
+        FlatSearchRequest searchRequest = new FlatSearchRequest( q );
+        searchRequest.setContexts( Arrays.asList( context ) );
+        FlatSearchResponse response = indexer.searchFlat( searchRequest );
+        System.out.println( "symbolic name org.apache.karaf.features.command response getReturnedHitsCount : "
+                                + response.getReturnedHitsCount( ) );
+        assertTrue( response.getReturnedHitsCount( ) > 0 );
+    }
+
+    public void testSearchWithExportService( )
+        throws Exception
+    {
+
+        NexusIndexer indexer = lookup( NexusIndexer.class );
+        BooleanQuery q = new BooleanQuery( );
+        q.add( indexer.constructQuery( OSGI.EXPORT_SERVICE, new StringSearchExpression(
+            "org.apache.felix.bundlerepository.RepositoryAdmin" ) ), BooleanClause.Occur.MUST );
+
+        FlatSearchRequest searchRequest = new FlatSearchRequest( q );
+        searchRequest.setContexts( Arrays.asList( context ) );
+        FlatSearchResponse response = indexer.searchFlat( searchRequest );
+        System.out.println(
+            "export service org.apache.felix.bundlerepository.RepositoryAdmin response getReturnedHitsCount : "
+                + response.getReturnedHitsCount( ) );
+        assertTrue( response.getReturnedHitsCount( ) > 0 );
+    }
+}

Propchange: maven/sandbox/trunk/central-indexer-test/src/test/java/org/apache/maven/indexer/test/OsgiTest.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: maven/sandbox/trunk/central-indexer-test/src/test/java/org/apache/maven/indexer/test/OsgiTest.java
------------------------------------------------------------------------------
    svn:keywords = Author Date Id Revision