Author: oching
Date: Fri Feb  6 07:15:03 2009
New Revision: 741444

URL: http://svn.apache.org/viewvc?rev=741444&view=rev
Log:
[MRM-1046]
o more tests

Modified:
    
archiva/trunk/archiva-modules/archiva-web/archiva-webapp/src/main/java/org/apache/maven/archiva/web/action/SearchAction.java
    
archiva/trunk/archiva-modules/archiva-web/archiva-webapp/src/test/java/org/apache/maven/archiva/web/action/SearchActionTest.java

Modified: 
archiva/trunk/archiva-modules/archiva-web/archiva-webapp/src/main/java/org/apache/maven/archiva/web/action/SearchAction.java
URL: 
http://svn.apache.org/viewvc/archiva/trunk/archiva-modules/archiva-web/archiva-webapp/src/main/java/org/apache/maven/archiva/web/action/SearchAction.java?rev=741444&r1=741443&r2=741444&view=diff
==============================================================================
--- 
archiva/trunk/archiva-modules/archiva-web/archiva-webapp/src/main/java/org/apache/maven/archiva/web/action/SearchAction.java
 (original)
+++ 
archiva/trunk/archiva-modules/archiva-web/archiva-webapp/src/main/java/org/apache/maven/archiva/web/action/SearchAction.java
 Fri Feb  6 07:15:03 2009
@@ -33,6 +33,7 @@
 import org.apache.maven.archiva.configuration.ArchivaConfiguration;
 import org.apache.maven.archiva.configuration.ManagedRepositoryConfiguration;
 import org.apache.maven.archiva.database.ArchivaDAO;
+import org.apache.maven.archiva.database.ArtifactDAO;
 import org.apache.maven.archiva.database.Constraint;
 import 
org.apache.maven.archiva.database.constraints.ArtifactsByChecksumConstraint;
 import org.apache.maven.archiva.indexer.RepositoryIndexException;
@@ -344,7 +345,9 @@
         }
 
         Constraint constraint = new ArtifactsByChecksumConstraint( q );
-        databaseResults = dao.getArtifactDAO().queryArtifacts( constraint );
+        
+        ArtifactDAO artifactDao = dao.getArtifactDAO();
+        databaseResults = artifactDao.queryArtifacts( constraint );
 
         if ( databaseResults.isEmpty() )
         {

Modified: 
archiva/trunk/archiva-modules/archiva-web/archiva-webapp/src/test/java/org/apache/maven/archiva/web/action/SearchActionTest.java
URL: 
http://svn.apache.org/viewvc/archiva/trunk/archiva-modules/archiva-web/archiva-webapp/src/test/java/org/apache/maven/archiva/web/action/SearchActionTest.java?rev=741444&r1=741443&r2=741444&view=diff
==============================================================================
--- 
archiva/trunk/archiva-modules/archiva-web/archiva-webapp/src/test/java/org/apache/maven/archiva/web/action/SearchActionTest.java
 (original)
+++ 
archiva/trunk/archiva-modules/archiva-web/archiva-webapp/src/test/java/org/apache/maven/archiva/web/action/SearchActionTest.java
 Fri Feb  6 07:15:03 2009
@@ -28,10 +28,13 @@
 import org.apache.archiva.indexer.util.SearchUtil;
 import org.apache.maven.archiva.configuration.ArchivaConfiguration;
 import org.apache.maven.archiva.database.ArchivaDAO;
+import org.apache.maven.archiva.database.ArtifactDAO;
+import 
org.apache.maven.archiva.database.constraints.ArtifactsByChecksumConstraint;
 import org.apache.maven.archiva.database.constraints.UniqueVersionConstraint;
 import org.apache.maven.archiva.indexer.search.SearchResultHit;
 import org.apache.maven.archiva.indexer.search.SearchResultLimits;
 import org.apache.maven.archiva.indexer.search.SearchResults;
+import org.apache.maven.archiva.model.ArchivaArtifact;
 import org.apache.maven.archiva.security.ArchivaXworkUser;
 import org.apache.maven.archiva.security.UserRepositories;
 import org.codehaus.plexus.spring.PlexusInSpringTestCase;
@@ -68,6 +71,10 @@
     
     private RepositorySearch search;
     
+    private MockControl artifactDaoControl;
+    
+    private ArtifactDAO artifactDao;
+    
     @Override
     protected void setUp() 
         throws Exception
@@ -76,17 +83,14 @@
         
         action = new SearchAction();
         
-        archivaConfigControl = MockControl.createControl( 
ArchivaConfiguration.class );
-        
+        archivaConfigControl = MockControl.createControl( 
ArchivaConfiguration.class );        
         archivaConfig = ( ArchivaConfiguration ) 
archivaConfigControl.getMock();
         
         daoControl = MockControl.createControl( ArchivaDAO.class );
-        daoControl.setDefaultMatcher( MockControl.ALWAYS_MATCHER );
-        
+        daoControl.setDefaultMatcher( MockControl.ALWAYS_MATCHER );        
         dao = ( ArchivaDAO ) daoControl.getMock();
         
-        userReposControl = MockControl.createControl( UserRepositories.class );
-        
+        userReposControl = MockControl.createControl( UserRepositories.class 
);        
         userRepos = ( UserRepositories ) userReposControl.getMock();
         
         archivaXworkUserControl = MockClassControl.createControl( 
ArchivaXworkUser.class );
@@ -96,9 +100,12 @@
         
         searchControl = MockControl.createControl( RepositorySearch.class );
         searchControl.setDefaultMatcher( MockControl.ALWAYS_MATCHER );
-        
         search = ( RepositorySearch ) searchControl.getMock();
         
+        artifactDaoControl = MockControl.createControl( ArtifactDAO.class );
+        artifactDaoControl.setDefaultMatcher( MockControl.ALWAYS_MATCHER );
+        artifactDao = ( ArtifactDAO ) artifactDaoControl.getMock();
+                
         action.setArchivaConfiguration( archivaConfig );
         action.setArchivaXworkUser( archivaXworkUser );
         action.setUserRepositories( userRepos );
@@ -344,13 +351,6 @@
         searchControl.verify();
     }
     
-    // TODO include this?
-    public void testAdvancedSearchSelectedRepositoryNotInManagedReposList()
-        throws Exception
-    {
-    
-    }
-    
     public void testAdvancedSearchAllRepositories()
         throws Exception
     {   
@@ -404,17 +404,46 @@
         searchControl.verify();
         userReposControl.verify();
     }
-    
-    public void testAdvancedSearchPagination()
-        throws Exception
-    {
-    
-    }
-    
+        
     public void testAdvancedSearchNoSearchHits()
         throws Exception
     {
-            
+        List<String> managedRepos = new ArrayList<String>();
+        managedRepos.add( "internal" );
+        managedRepos.add( "snapshots" );
+        
+        action.setRepositoryId( "internal" );
+        action.setManagedRepositoryList( managedRepos );
+        action.setCurrentPage( 0 );
+        action.setRowCount( 30 );
+        action.setGroupId( "org" );
+        
+        SearchResultLimits limits = new SearchResultLimits( 
action.getCurrentPage() );
+        limits.setPageSize( 30 );
+                
+        SearchResults results = new SearchResults();
+        
+        List<String> selectedRepos = new ArrayList<String>();
+        selectedRepos.add( "internal" );
+        selectedRepos.add( "snapshots" );
+        
+        SearchFields searchFields = new SearchFields( "org", null, null, null, 
null, selectedRepos );
+        
+        archivaXworkUserControl.expectAndReturn( 
archivaXworkUser.getActivePrincipal( new HashMap() ), "user" );
+        
+        searchControl.expectAndReturn( search.search( "user", searchFields, 
limits ), results );
+        
+        archivaXworkUserControl.replay();
+        searchControl.replay();
+        
+        String result = action.filteredSearch();
+        
+        assertEquals( Action.INPUT, result );
+        assertFalse( action.getActionErrors().isEmpty() );
+        assertEquals( "No results found",( String ) 
action.getActionErrors().iterator().next() );
+        
+        archivaXworkUserControl.verify();
+        searchControl.verify();
     }
     
     public void testAdvancedSearchUserHasNoAccessToAnyRepository()
@@ -434,19 +463,85 @@
     public void testFindArtifactWithOneHit()
         throws Exception
     {
-    
+        action.setQ( "afbcdeaadbcffceabbba1" );
+        
+        List<ArchivaArtifact> dbResults = new ArrayList<ArchivaArtifact>();
+        dbResults.add( new ArchivaArtifact( "org.apache.archiva", 
"archiva-configuration", "1.0",
+                                           null, "jar" ) );
+        
+        daoControl.expectAndReturn( dao.getArtifactDAO(), artifactDao );
+        
+        artifactDaoControl.expectAndReturn( artifactDao.queryArtifacts( new 
ArtifactsByChecksumConstraint( action.getQ() ) ), dbResults );
+        
+        daoControl.replay();
+        artifactDaoControl.replay();
+        
+        String result = action.findArtifact();
+        assertEquals( "artifact", result );
+        assertFalse( action.getDatabaseResults().isEmpty() );
+        assertEquals( 1, action.getDatabaseResults().size() );
+        
+        daoControl.verify();
+        artifactDaoControl.verify();
     }
-    
+        
     public void testFindArtifactWithMultipleHits()
         throws Exception
     {
-    
+        action.setQ( "afbcdeaadbcffceabbba1" );
+        
+        List<ArchivaArtifact> dbResults = new ArrayList<ArchivaArtifact>();
+        dbResults.add( new ArchivaArtifact( "org.apache.archiva", 
"archiva-configuration", "1.0",
+                                           null, "jar" ) );
+        dbResults.add( new ArchivaArtifact( "org.apache.archiva", 
"archiva-indexer", "1.0",
+                                            null, "jar" ) );
+        
+        daoControl.expectAndReturn( dao.getArtifactDAO(), artifactDao );
+        
+        artifactDaoControl.expectAndReturn( artifactDao.queryArtifacts( new 
ArtifactsByChecksumConstraint( action.getQ() ) ), dbResults );
+        
+        daoControl.replay();
+        artifactDaoControl.replay();
+        
+        String result = action.findArtifact();
+        assertEquals( "results", result );
+        assertFalse( action.getDatabaseResults().isEmpty() );
+        assertEquals( 2, action.getDatabaseResults().size() );
+        
+        daoControl.verify();
+        artifactDaoControl.verify();
     }
     
     public void testFindArtifactNoChecksumSpecified()
         throws Exception
     {
-    
+        String result = action.findArtifact();
+        
+        assertEquals( Action.INPUT, result );
+        assertFalse( action.getActionErrors().isEmpty() );
+        assertEquals( "Unable to search for a blank checksum", ( String ) 
action.getActionErrors().iterator().next() );
     }
     
+    public void testFindArtifactNoResults()
+        throws Exception
+    {
+        action.setQ( "afbcdeaadbcffceabbba1" );
+        
+        List<ArchivaArtifact> dbResults = new ArrayList<ArchivaArtifact>();
+        
+        daoControl.expectAndReturn( dao.getArtifactDAO(), artifactDao );
+        
+        artifactDaoControl.expectAndReturn( artifactDao.queryArtifacts( new 
ArtifactsByChecksumConstraint( action.getQ() ) ), dbResults );
+        
+        daoControl.replay();
+        artifactDaoControl.replay();
+        
+        String result = action.findArtifact();
+        assertEquals( Action.INPUT, result );
+        assertFalse( action.getActionErrors().isEmpty() );
+        assertEquals( "No results found", ( String 
)action.getActionErrors().iterator().next() );
+        
+        daoControl.verify();
+        artifactDaoControl.verify();
+    }
 }


Reply via email to