You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@archiva.apache.org by jz...@apache.org on 2010/05/15 14:56:34 UTC

svn commit: r944632 - in /archiva/trunk/archiva-modules: archiva-base/archiva-indexer/src/test/java/org/apache/archiva/indexer/search/ archiva-web/archiva-webapp-test/src/test/resources/ archiva-web/archiva-webapp-test/src/test/testng/org/apache/archiv...

Author: jzurbano
Date: Sat May 15 12:56:34 2010
New Revision: 944632

URL: http://svn.apache.org/viewvc?rev=944632&view=rev
Log:
[MRM-1125] - default search should be AND not OR for multiple keywords
* applied patch
* added additional unit and selenium tests for quick search

Submitted by: Gwen Harold Autencio


Modified:
    archiva/trunk/archiva-modules/archiva-base/archiva-indexer/src/test/java/org/apache/archiva/indexer/search/NexusRepositorySearchTest.java
    archiva/trunk/archiva-modules/archiva-web/archiva-webapp-test/src/test/resources/testng.properties
    archiva/trunk/archiva-modules/archiva-web/archiva-webapp-test/src/test/testng/org/apache/archiva/web/test/SearchTest.java

Modified: archiva/trunk/archiva-modules/archiva-base/archiva-indexer/src/test/java/org/apache/archiva/indexer/search/NexusRepositorySearchTest.java
URL: http://svn.apache.org/viewvc/archiva/trunk/archiva-modules/archiva-base/archiva-indexer/src/test/java/org/apache/archiva/indexer/search/NexusRepositorySearchTest.java?rev=944632&r1=944631&r2=944632&view=diff
==============================================================================
--- archiva/trunk/archiva-modules/archiva-base/archiva-indexer/src/test/java/org/apache/archiva/indexer/search/NexusRepositorySearchTest.java (original)
+++ archiva/trunk/archiva-modules/archiva-base/archiva-indexer/src/test/java/org/apache/archiva/indexer/search/NexusRepositorySearchTest.java Sat May 15 12:56:34 2010
@@ -195,6 +195,26 @@ public class NexusRepositorySearchTest
         //TODO: search for class & package names
     }
     
+    // search for existing artifact using multiple keywords
+    public void testQuickSearchWithMultipleKeywords()
+        throws Exception
+    {   
+        createIndexForQuickSearch();
+        
+        List<String> selectedRepos = new ArrayList<String>();
+        selectedRepos.add( TEST_REPO_1 );
+
+        archivaConfigControl.expectAndReturn( archivaConfig.getConfiguration(), config );
+        archivaConfigControl.replay();
+        
+        SearchResults results = search.search( "user", selectedRepos, "archiva search", null, null );
+        
+        archivaConfigControl.verify();
+        
+        assertNotNull( results );
+        assertEquals( 0, results.getTotalHits() );
+    }
+    
     public void testQuickSearchWithPagination()
         throws Exception
     {   
@@ -573,6 +593,48 @@ public class NexusRepositorySearchTest
         }
     }
     
+    public void testAdvancedSearchAllSearchCriteriaSpecified()
+        throws Exception
+    {
+        List<File> files = new ArrayList<File>();
+        files.add( new File( getBasedir(), "/target/test-classes/" + TEST_REPO_1 +
+            "/org/apache/archiva/archiva-search/1.0/archiva-search-1.0.jar" ) );
+        files.add( new File( getBasedir(), "/target/test-classes/" + TEST_REPO_1 +
+            "/org/apache/archiva/archiva-test/1.0/archiva-test-1.0.jar" ) );
+        files.add( new File( getBasedir(), "/target/test-classes/" + TEST_REPO_1 +
+            "/org/apache/archiva/archiva-test/2.0/archiva-test-2.0.jar" ) );
+
+        createIndex( TEST_REPO_1, files );
+        
+        List<String> selectedRepos = new ArrayList<String>();
+        selectedRepos.add( TEST_REPO_1 );
+        
+        SearchFields searchFields = new SearchFields();
+        searchFields.setGroupId( "org.apache.archiva" );
+        searchFields.setArtifactId( "archiva-test" );
+        searchFields.setVersion( "2.0" );
+        searchFields.setPackaging( "jar" );
+        searchFields.setClassName( "org.apache.archiva.test.App" );
+        searchFields.setRepositories( selectedRepos );
+        
+        archivaConfigControl.expectAndDefaultReturn( archivaConfig.getConfiguration(), config );
+        
+        archivaConfigControl.replay();
+        
+        SearchResults results = search.search( "user", searchFields, null );
+        
+        archivaConfigControl.verify();
+        
+        assertNotNull( results );
+        
+        assertEquals( 1, results.getTotalHits() );
+        
+        SearchResultHit hit = results.getHits().get( 0 );
+        assertEquals( "org.apache.archiva", hit.getGroupId() );
+        assertEquals( "archiva-test", hit.getArtifactId() );
+        assertEquals( "2.0", hit.getVersions().get( 0 ) );
+    }
+    
     public void testAdvancedSearchJarArtifacts()
         throws Exception
     {
@@ -613,6 +675,40 @@ public class NexusRepositorySearchTest
         assertEquals( 5, results.getTotalHits() );        
     }
     
+    public void testAdvancedSearchWithIncorrectPackaging()
+        throws Exception
+    {
+        List<File> files = new ArrayList<File>();
+        files.add( new File( getBasedir(), "/target/test-classes/" + TEST_REPO_1 +
+            "/org/apache/archiva/archiva-search/1.0/archiva-search-1.0.jar" ) );
+        files.add( new File( getBasedir(), "/target/test-classes/" + TEST_REPO_1 +
+            "/org/apache/archiva/archiva-test/1.0/archiva-test-1.0.jar" ) );
+        files.add( new File( getBasedir(), "/target/test-classes/" + TEST_REPO_1 +
+            "/org/apache/archiva/archiva-test/2.0/archiva-test-2.0.jar" ) );
+    
+        createIndex( TEST_REPO_1, files );
+        
+        List<String> selectedRepos = new ArrayList<String>();
+        selectedRepos.add( TEST_REPO_1 );
+        
+        SearchFields searchFields = new SearchFields();
+        searchFields.setGroupId( "org.apache.archiva" );
+        searchFields.setArtifactId( "archiva-test" );
+        searchFields.setVersion( "2.0" );
+        searchFields.setPackaging( "war" );
+        searchFields.setRepositories( selectedRepos );
+        
+        archivaConfigControl.expectAndDefaultReturn( archivaConfig.getConfiguration(), config );
+        archivaConfigControl.replay();
+        
+        SearchResults results = search.search( "user", searchFields, null );
+        
+        archivaConfigControl.verify();
+        
+        assertNotNull( results );
+        assertEquals( 0, results.getTotalHits() );
+    }
+    
     public void testAdvancedSearchClassname()
         throws Exception
     {

Modified: archiva/trunk/archiva-modules/archiva-web/archiva-webapp-test/src/test/resources/testng.properties
URL: http://svn.apache.org/viewvc/archiva/trunk/archiva-modules/archiva-web/archiva-webapp-test/src/test/resources/testng.properties?rev=944632&r1=944631&r2=944632&view=diff
==============================================================================
--- archiva/trunk/archiva-modules/archiva-web/archiva-webapp-test/src/test/resources/testng.properties (original)
+++ archiva/trunk/archiva-modules/archiva-web/archiva-webapp-test/src/test/resources/testng.properties Sat May 15 12:56:34 2010
@@ -18,6 +18,7 @@ ARTIFACT_GROUPID=test
 ARTIFACT_ARTIFACTID=test
 ARTIFACT_VERSION=1.0
 ARTIFACT_PACKAGING=jar
+ARTIFACT_CLASSNAME=test.App
 
 # Artifact for testing add artifact with valid values
 VALIDARTIFACT_GROUPID=addArtifactValidValues
@@ -96,6 +97,9 @@ SNAPSHOT_PACKAGING=jar
 SNAPSHOT_ARTIFACTFILEPATH=src/test/resources/snapshots/org/apache/maven/archiva/web/test/foo-bar/1.0-SNAPSHOT/foo-bar-1.0-SNAPSHOT.jar
 SNAPSHOT_REPOSITORYID=snapshots
 
+ADD_REMOVE_GROUPID=artifact.dummy
+ADD_REMOVE_ARTIFACTID=artifact-dummy
+
 # REPOSITORIES
 # Manage Repositories
 MANAGED_IDENTIFIER=testing1

Modified: archiva/trunk/archiva-modules/archiva-web/archiva-webapp-test/src/test/testng/org/apache/archiva/web/test/SearchTest.java
URL: http://svn.apache.org/viewvc/archiva/trunk/archiva-modules/archiva-web/archiva-webapp-test/src/test/testng/org/apache/archiva/web/test/SearchTest.java?rev=944632&r1=944631&r2=944632&view=diff
==============================================================================
--- archiva/trunk/archiva-modules/archiva-web/archiva-webapp-test/src/test/testng/org/apache/archiva/web/test/SearchTest.java (original)
+++ archiva/trunk/archiva-modules/archiva-web/archiva-webapp-test/src/test/testng/org/apache/archiva/web/test/SearchTest.java Sat May 15 12:56:34 2010
@@ -54,6 +54,30 @@ public class SearchTest
         clickLinkWithText( getProperty( "ARTIFACT_VERSION" ) + "/" );
         assertPage( "Apache Archiva \\ Browse Repository" );
     }
+    
+    public void testSearchWithMultipleKeywords()
+    {
+        String groupId = getProperty( "ADD_REMOVE_GROUPID" );
+        String version = getProperty( "SNAPSHOT_VERSION" );
+        String packaging = getProperty( "SNAPSHOT_PACKAGING" );
+        String filePath = getProperty( "SNAPSHOT_ARTIFACTFILEPATH" );
+        String repoId = getProperty( "SNAPSHOT_REPOSITORYID" );
+        
+        String existingArtifactId = getProperty( "ADD_REMOVE_ARTIFACTID" );
+        String multiKeywords = existingArtifactId.replace( "-", " " );
+        
+        addArtifact( groupId, existingArtifactId, version, packaging, filePath, repoId );
+        
+        // verify artifact is existing
+        searchForArtifact( existingArtifactId );
+        assertTextPresent( "Results" );
+        assertTextPresent( "Hits: 1 to 1 of 1" );
+        assertLinkPresent( existingArtifactId );
+        
+        // search for existing artifact using multiple keywords
+        searchForArtifact( multiKeywords );
+        assertTextPresent( "No results found" );
+    }
 
     public void testSearchNonExistingArtifactInAdvancedSearch()
     {
@@ -85,6 +109,15 @@ public class SearchTest
         assertLinkPresent( "test" );
     }
 
+    public void testSearchExistingArtifactAllCriteriaSpecifiedInAdvancedSearch()
+    {
+        searchForArtifactAdvancedSearch( getProperty( "GROUPID" ), getProperty( "ARTIFACT_ARTIFACTID" ) , getProperty( "ARTIFACT_VERSION" ), 
+                                         getProperty( "REPOSITORYID" ), getProperty( "ARTIFACT_CLASSNAME" ), null );
+        assertTextPresent( "Results" );
+        assertTextPresent( "Hits: 1 to 1 of 1" );
+        assertLinkPresent( "test" );
+    }
+
     public void testSearchExistingArtifactUsingAdvancedSearchNotInRepository()
     {
         searchForArtifactAdvancedSearch( null, getProperty( "ARTIFACT_ARTIFACTID" ), null, "snapshots", null, null );