123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467 |
- package org.apache.archiva.repository.scanner;
-
- /*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
- import junit.framework.TestCase;
- import org.apache.archiva.common.filelock.DefaultFileLockManager;
- import org.apache.archiva.common.filelock.FileLockManager;
- import org.apache.archiva.consumers.InvalidRepositoryContentConsumer;
- import org.apache.archiva.consumers.KnownRepositoryContentConsumer;
- import org.apache.archiva.repository.base.managed.BasicManagedRepository;
- import org.apache.archiva.repository.base.remote.BasicRemoteRepository;
- import org.apache.archiva.repository.EditableManagedRepository;
- import org.apache.archiva.repository.EditableRemoteRepository;
- import org.apache.archiva.repository.ManagedRepository;
- import org.apache.archiva.repository.storage.fs.FilesystemStorage;
- import org.apache.archiva.repository.scanner.mock.ManagedRepositoryContentMock;
- import org.apache.archiva.test.utils.ArchivaSpringJUnit4ClassRunner;
- import org.apache.commons.io.FileUtils;
- import org.junit.Test;
- import org.junit.runner.RunWith;
- import org.springframework.context.ApplicationContext;
- import org.springframework.test.context.ContextConfiguration;
-
- import javax.inject.Inject;
- import java.io.IOException;
- import java.net.URI;
- import java.net.URISyntaxException;
- import java.nio.file.Files;
- import java.nio.file.Path;
- import java.nio.file.Paths;
- import java.nio.file.attribute.FileTime;
- import java.text.ParseException;
- import java.text.SimpleDateFormat;
- import java.util.ArrayList;
- import java.util.Arrays;
- import java.util.Comparator;
- import java.util.List;
- import java.util.Locale;
- import java.util.TimeZone;
-
- import static org.hamcrest.CoreMatchers.is;
- import static org.junit.Assert.assertThat;
-
- /**
- * RepositoryScannerTest
- */
- @RunWith(ArchivaSpringJUnit4ClassRunner.class)
- @ContextConfiguration(locations = { "classpath*:/META-INF/spring-context.xml" })
- public class RepositoryScannerTest
- extends TestCase
- {
-
- @Inject
- ApplicationContext applicationContext;
-
- Path repoBaseDir;
-
- private Path getRepoBaseDir() {
- if (repoBaseDir==null) {
- try
- {
- repoBaseDir =Paths.get(Thread.currentThread( ).getContextClassLoader( ).getResource( "repositories" ).toURI());
- }
- catch ( URISyntaxException e )
- {
- throw new RuntimeException( "Could not retrieve repository base directory" );
- }
- }
- return repoBaseDir;
- }
-
- protected EditableManagedRepository createRepository( String id, String name, Path location ) throws IOException {
- FileLockManager lockManager = new DefaultFileLockManager();
- FilesystemStorage storage = new FilesystemStorage(location.toAbsolutePath(), lockManager);
- BasicManagedRepository repo = new BasicManagedRepository(id, name, storage);
- repo.setLocation( location.toAbsolutePath().toUri());
- repo.setContent(new ManagedRepositoryContentMock(repo));
- return repo;
- }
-
- protected EditableRemoteRepository createRemoteRepository( String id, String name, String url ) throws URISyntaxException, IOException {
- BasicRemoteRepository repo = BasicRemoteRepository.newFilesystemInstance(id, name, Paths.get("remotes"));
- repo.setLocation( new URI( url ) );
- return repo;
- }
-
- private static final String[] ARTIFACT_PATTERNS =
- new String[]{ "**/*.jar", "**/*.pom", "**/*.rar", "**/*.zip", "**/*.war", "**/*.tar.gz" };
-
- private ManagedRepository createDefaultRepository() throws IOException, URISyntaxException
- {
- Path repoDir = getRepoBaseDir().resolve("default-repository" );
-
- assertTrue( "Default Test Repository should exist.", Files.exists(repoDir) && Files.isDirectory(repoDir) );
-
- return createRepository( "testDefaultRepo", "Test Default Repository", repoDir );
- }
-
- private ManagedRepository createSimpleRepository()
- throws IOException, ParseException
- {
- Path srcDir = getRepoBaseDir().resolve("simple-repository" );
-
- Path repoDir = Paths.get( System.getProperty( "basedir" ), "target/test-repos/simple-repository" );
-
- org.apache.archiva.common.utils.FileUtils.deleteDirectory( repoDir );
-
- FileUtils.copyDirectory( srcDir.toFile(), repoDir.toFile() );
-
- Path repoFile = repoDir.resolve(
- "groupId/snapshot-artifact/1.0-alpha-1-SNAPSHOT/snapshot-artifact-1.0-alpha-1-20050611.202024-1.pom" );
- Files.setLastModifiedTime(repoFile, FileTime.fromMillis(getTimestampAsMillis( "20050611.202024" ) ));
-
- assertTrue( "Simple Test Repository should exist.", Files.exists(repoDir) && Files.isDirectory(repoDir) );
-
- return createRepository( "testSimpleRepo", "Test Simple Repository", repoDir );
- }
-
- private static long getTimestampAsMillis( String timestamp )
- throws ParseException
- {
- SimpleDateFormat fmt = new SimpleDateFormat( "yyyyMMdd.HHmmss", Locale.US );
- fmt.setTimeZone( TimeZone.getTimeZone( "UTC" ) );
- return fmt.parse( timestamp ).getTime();
- }
-
- private ManagedRepository createLegacyRepository() throws IOException {
- Path repoDir = getRepoBaseDir().resolve("legacy-repository" );
-
- assertTrue( "Legacy Test Repository should exist.", Files.exists(repoDir) && Files.isDirectory(repoDir) );
-
- EditableManagedRepository repo = createRepository( "testLegacyRepo", "Test Legacy Repository", repoDir );
- repo.setLayout( "legacy" );
-
- return repo;
- }
-
- private void assertMinimumHits( String msg, int minimumHitCount, long actualCount )
- {
- if ( actualCount < minimumHitCount )
- {
- fail( "Minimum hit count on " + msg + " not satisfied. Expected more than <" + minimumHitCount
- + ">, but actually got <" + actualCount + ">." );
- }
- }
-
- private RepositoryScanner lookupRepositoryScanner()
- throws Exception
- {
- return applicationContext.getBean( RepositoryScanner.class );
- }
-
- private List<String> getIgnoreList()
- {
- List<String> ignores = new ArrayList<>();
- ignores.addAll( Arrays.asList( RepositoryScanner.IGNORABLE_CONTENT ) );
- return ignores;
- }
-
- @Test
- public void testTimestampRepositoryScanner()
- throws Exception
- {
- ManagedRepository repository = createSimpleRepository();
-
- List<KnownRepositoryContentConsumer> knownConsumers = new ArrayList<>();
- KnownScanConsumer consumer = new KnownScanConsumer();
- consumer.setIncludes( ARTIFACT_PATTERNS );
- knownConsumers.add( consumer );
-
- List<InvalidRepositoryContentConsumer> invalidConsumers = new ArrayList<>();
- InvalidScanConsumer badconsumer = new InvalidScanConsumer();
- invalidConsumers.add( badconsumer );
-
- RepositoryScanner scanner = lookupRepositoryScanner();
-
- RepositoryScanStatistics stats = scanner.scan( repository, knownConsumers, invalidConsumers, getIgnoreList(),
- getTimestampAsMillis( "20061101.000000" ) );
-
- assertNotNull( "Stats should not be null.", stats );
- assertEquals( "Stats.totalFileCount", 4, stats.getTotalFileCount() );
- assertEquals( "Stats.newFileCount", 3, stats.getNewFileCount() );
- assertEquals( "Processed Count", 2, consumer.getProcessCount() );
- assertEquals( "Processed Count (of invalid items)", 1, badconsumer.getProcessCount() );
- }
-
- @Test
- public void testTimestampRepositoryScannerFreshScan()
- throws Exception
- {
- ManagedRepository repository = createSimpleRepository();
-
- List<KnownRepositoryContentConsumer> knownConsumers = new ArrayList<>();
- KnownScanConsumer consumer = new KnownScanConsumer();
- consumer.setIncludes( ARTIFACT_PATTERNS );
- knownConsumers.add( consumer );
-
- List<InvalidRepositoryContentConsumer> invalidConsumers = new ArrayList<>();
- InvalidScanConsumer badconsumer = new InvalidScanConsumer();
- invalidConsumers.add( badconsumer );
-
- RepositoryScanner scanner = lookupRepositoryScanner();
- RepositoryScanStatistics stats =
- scanner.scan( repository, knownConsumers, invalidConsumers, getIgnoreList(), RepositoryScanner.FRESH_SCAN );
-
- assertNotNull( "Stats should not be null.", stats );
- assertEquals( "Stats.totalFileCount", 4, stats.getTotalFileCount() );
- assertEquals( "Stats.newFileCount", 4, stats.getNewFileCount() );
- assertEquals( "Processed Count", 3, consumer.getProcessCount() );
- assertEquals( "Processed Count (of invalid items)", 1, badconsumer.getProcessCount() );
- }
-
- @Test
- public void testTimestampRepositoryScannerProcessUnmodified()
- throws Exception
- {
- ManagedRepository repository = createSimpleRepository();
-
- List<KnownRepositoryContentConsumer> knownConsumers = new ArrayList<>();
- KnownScanConsumer consumer = new KnownScanConsumer();
- consumer.setProcessUnmodified( true );
- consumer.setIncludes( ARTIFACT_PATTERNS );
- knownConsumers.add( consumer );
-
- List<InvalidRepositoryContentConsumer> invalidConsumers = new ArrayList<>();
- InvalidScanConsumer badconsumer = new InvalidScanConsumer();
- invalidConsumers.add( badconsumer );
-
- RepositoryScanner scanner = lookupRepositoryScanner();
- RepositoryScanStatistics stats = scanner.scan( repository, knownConsumers, invalidConsumers, getIgnoreList(),
- getTimestampAsMillis( "20061101.000000" ) );
-
- assertNotNull( "Stats should not be null.", stats );
- assertEquals( "Stats.totalFileCount", 4, stats.getTotalFileCount() );
- assertEquals( "Stats.newFileCount", 3, stats.getNewFileCount() );
- assertEquals( "Processed Count", 3, consumer.getProcessCount() );
- assertEquals( "Processed Count (of invalid items)", 1, badconsumer.getProcessCount() );
- }
-
- @Test
- public void testDefaultRepositoryScanner()
- throws Exception
- {
- ManagedRepository repository = createDefaultRepository();
-
- List<KnownRepositoryContentConsumer> knownConsumers = new ArrayList<>();
- KnownScanConsumer consumer = new KnownScanConsumer();
- consumer.setIncludes(
- new String[]{ "**/*.jar", "**/*.war", "**/*.pom", "**/maven-metadata.xml", "**/*-site.xml", "**/*.zip",
- "**/*.tar.gz", "**/*.sha1", "**/*.md5" }
- );
- knownConsumers.add( consumer );
-
- List<InvalidRepositoryContentConsumer> invalidConsumers = new ArrayList<>();
- InvalidScanConsumer badconsumer = new InvalidScanConsumer();
- invalidConsumers.add( badconsumer );
-
- RepositoryScanner scanner = lookupRepositoryScanner();
- RepositoryScanStatistics stats =
- scanner.scan( repository, knownConsumers, invalidConsumers, getIgnoreList(), RepositoryScanner.FRESH_SCAN );
-
- assertNotNull( "Stats should not be null.", stats );
- assertMinimumHits( "Stats.totalFileCount", 17, stats.getTotalFileCount() );
- assertMinimumHits( "Processed Count", 17, consumer.getProcessCount() );
- assertEquals( "Processed Count (of invalid items):" + badconsumer.getPaths(), 6, badconsumer.getProcessCount() );
- List<String> paths = new ArrayList<>( badconsumer.getPaths() );
- paths.sort( Comparator.naturalOrder() );
- List<String> expected = Arrays.asList(
- "CVS/Root",
- "invalid/invalid/1/invalid-1",
- "javax/sql/jdbc/2.0/maven-metadata-repository.xml",
- "javax/sql/jdbc/maven-metadata-repository.xml",
- "javax/sql/maven-metadata-repository.xml",
- "org/apache/maven/maven-parent/4/maven-parent-4-site_en.xml");
- assertThat( paths, is( expected ) );
- }
-
- @Test
- public void testDefaultRepositoryArtifactScanner()
- throws Exception
- {
- List<String> actualArtifactPaths = new ArrayList<>();
-
- actualArtifactPaths.add( "invalid/invalid/1.0-20050611.123456-1/invalid-1.0-20050611.123456-1.jar" );
- actualArtifactPaths.add( "invalid/invalid/1.0-SNAPSHOT/invalid-1.0.jar" );
- actualArtifactPaths.add( "invalid/invalid/1.0/invalid-1.0b.jar" );
- actualArtifactPaths.add( "invalid/invalid/1.0/invalid-2.0.jar" );
- actualArtifactPaths.add( "invalid/invalid-1.0.jar" );
- actualArtifactPaths.add( "org/apache/maven/test/1.0-SNAPSHOT/wrong-artifactId-1.0-20050611.112233-1.jar" );
- actualArtifactPaths.add( "org/apache/maven/test/1.0-SNAPSHOT/test-1.0-20050611.112233-1-javadoc.jar" );
- actualArtifactPaths.add( "org/apache/maven/test/1.0-SNAPSHOT/test-1.0-20050611.112233-1.jar" );
- actualArtifactPaths.add( "org/apache/maven/A/1.0/A-1.0.war" );
- actualArtifactPaths.add( "org/apache/maven/A/1.0/A-1.0.pom" );
- actualArtifactPaths.add( "org/apache/maven/B/2.0/B-2.0.pom" );
- actualArtifactPaths.add( "org/apache/maven/B/1.0/B-1.0.pom" );
- actualArtifactPaths.add( "org/apache/maven/some-ejb/1.0/some-ejb-1.0-client.jar" );
- actualArtifactPaths.add( "org/apache/maven/C/1.0/C-1.0.war" );
- actualArtifactPaths.add( "org/apache/maven/C/1.0/C-1.0.pom" );
- actualArtifactPaths.add( "org/apache/maven/update/test-not-updated/1.0/test-not-updated-1.0.pom" );
- actualArtifactPaths.add( "org/apache/maven/update/test-not-updated/1.0/test-not-updated-1.0.jar" );
- actualArtifactPaths.add( "org/apache/maven/update/test-updated/1.0/test-updated-1.0.pom" );
- actualArtifactPaths.add( "org/apache/maven/update/test-updated/1.0/test-updated-1.0.jar" );
- actualArtifactPaths.add( "org/apache/maven/discovery/1.0/discovery-1.0.pom" );
- actualArtifactPaths.add( "org/apache/maven/testing/1.0/testing-1.0-test-sources.jar" );
- actualArtifactPaths.add( "org/apache/maven/testing/1.0/testing-1.0.jar" );
- actualArtifactPaths.add( "org/apache/maven/testing/1.0/testing-1.0-sources.jar" );
- actualArtifactPaths.add( "org/apache/maven/testing/1.0/testing-1.0.zip" );
- actualArtifactPaths.add( "org/apache/maven/testing/1.0/testing-1.0.tar.gz" );
- actualArtifactPaths.add( "org/apache/maven/samplejar/2.0/samplejar-2.0.pom" );
- actualArtifactPaths.add( "org/apache/maven/samplejar/2.0/samplejar-2.0.jar" );
- actualArtifactPaths.add( "org/apache/maven/samplejar/1.0/samplejar-1.0.pom" );
- actualArtifactPaths.add( "org/apache/maven/samplejar/1.0/samplejar-1.0.jar" );
- actualArtifactPaths.add( "org/apache/testgroup/discovery/1.0/discovery-1.0.pom" );
- actualArtifactPaths.add( "javax/sql/jdbc/2.0/jdbc-2.0.jar" );
-
- ManagedRepository repository = createDefaultRepository();
-
- List<KnownRepositoryContentConsumer> knownConsumers = new ArrayList<>();
- KnownScanConsumer consumer = new KnownScanConsumer();
- consumer.setIncludes( ARTIFACT_PATTERNS );
- knownConsumers.add( consumer );
-
- List<InvalidRepositoryContentConsumer> invalidConsumers = new ArrayList<>();
- InvalidScanConsumer badconsumer = new InvalidScanConsumer();
- invalidConsumers.add( badconsumer );
-
- RepositoryScanner scanner = lookupRepositoryScanner();
- RepositoryScanStatistics stats =
- scanner.scan( repository, knownConsumers, invalidConsumers, getIgnoreList(), RepositoryScanner.FRESH_SCAN );
-
- assertNotNull( "Stats should not be null.", stats );
- assertMinimumHits( "Stats.totalFileCount", actualArtifactPaths.size(), stats.getTotalFileCount() );
- assertMinimumHits( "Processed Count", actualArtifactPaths.size(), consumer.getProcessCount() );
- }
-
- @Test
- public void testDefaultRepositoryMetadataScanner()
- throws Exception
- {
- List<String> actualMetadataPaths = new ArrayList<>();
-
- actualMetadataPaths.add( "org/apache/maven/some-ejb/1.0/maven-metadata.xml" );
- actualMetadataPaths.add( "org/apache/maven/update/test-not-updated/maven-metadata.xml" );
- actualMetadataPaths.add( "org/apache/maven/update/test-updated/maven-metadata.xml" );
- actualMetadataPaths.add( "org/apache/maven/maven-metadata.xml" );
- actualMetadataPaths.add( "org/apache/testgroup/discovery/1.0/maven-metadata.xml" );
- actualMetadataPaths.add( "org/apache/testgroup/discovery/maven-metadata.xml" );
- actualMetadataPaths.add( "javax/sql/jdbc/2.0/maven-metadata-repository.xml" );
- actualMetadataPaths.add( "javax/sql/jdbc/maven-metadata-repository.xml" );
- actualMetadataPaths.add( "javax/sql/maven-metadata-repository.xml" );
- actualMetadataPaths.add( "javax/maven-metadata.xml" );
-
- ManagedRepository repository = createDefaultRepository();
-
- List<KnownRepositoryContentConsumer> knownConsumers = new ArrayList<>();
- KnownScanConsumer knownConsumer = new KnownScanConsumer();
- knownConsumer.setIncludes( new String[]{ "**/maven-metadata*.xml" } );
- knownConsumers.add( knownConsumer );
-
- List<InvalidRepositoryContentConsumer> invalidConsumers = new ArrayList<>();
- InvalidScanConsumer badconsumer = new InvalidScanConsumer();
- invalidConsumers.add( badconsumer );
-
- RepositoryScanner scanner = lookupRepositoryScanner();
- RepositoryScanStatistics stats =
- scanner.scan( repository, knownConsumers, invalidConsumers, getIgnoreList(), RepositoryScanner.FRESH_SCAN );
-
- assertNotNull( "Stats should not be null.", stats );
- assertMinimumHits( "Stats.totalFileCount", actualMetadataPaths.size(), stats.getTotalFileCount() );
- assertMinimumHits( "Processed Count", actualMetadataPaths.size(), knownConsumer.getProcessCount() );
- }
-
- @Test
- public void testDefaultRepositoryProjectScanner()
- throws Exception
- {
- List<String> actualProjectPaths = new ArrayList<>();
-
- actualProjectPaths.add( "org/apache/maven/A/1.0/A-1.0.pom" );
- actualProjectPaths.add( "org/apache/maven/B/2.0/B-2.0.pom" );
- actualProjectPaths.add( "org/apache/maven/B/1.0/B-1.0.pom" );
- actualProjectPaths.add( "org/apache/maven/C/1.0/C-1.0.pom" );
- actualProjectPaths.add( "org/apache/maven/update/test-not-updated/1.0/test-not-updated-1.0.pom" );
- actualProjectPaths.add( "org/apache/maven/update/test-updated/1.0/test-updated-1.0.pom" );
- actualProjectPaths.add( "org/apache/maven/discovery/1.0/discovery-1.0.pom" );
- actualProjectPaths.add( "org/apache/maven/samplejar/2.0/samplejar-2.0.pom" );
- actualProjectPaths.add( "org/apache/maven/samplejar/1.0/samplejar-1.0.pom" );
- actualProjectPaths.add( "org/apache/testgroup/discovery/1.0/discovery-1.0.pom" );
-
- ManagedRepository repository = createDefaultRepository();
-
- List<KnownRepositoryContentConsumer> knownConsumers = new ArrayList<>();
- KnownScanConsumer consumer = new KnownScanConsumer();
- consumer.setIncludes( new String[]{ "**/*.pom" } );
- knownConsumers.add( consumer );
-
- List<InvalidRepositoryContentConsumer> invalidConsumers = new ArrayList<>();
- InvalidScanConsumer badconsumer = new InvalidScanConsumer();
- invalidConsumers.add( badconsumer );
-
- RepositoryScanner scanner = lookupRepositoryScanner();
- RepositoryScanStatistics stats =
- scanner.scan( repository, knownConsumers, invalidConsumers, getIgnoreList(), RepositoryScanner.FRESH_SCAN );
-
- assertNotNull( "Stats should not be null.", stats );
- assertMinimumHits( "Stats.totalFileCount", actualProjectPaths.size(), stats.getTotalFileCount() );
- assertMinimumHits( "Processed Count", actualProjectPaths.size(), consumer.getProcessCount() );
- }
-
- @Test
- public void testLegacyRepositoryArtifactScanner()
- throws Exception
- {
- List<String> actualArtifactPaths = new ArrayList<>();
-
- actualArtifactPaths.add( "invalid/jars/1.0/invalid-1.0.jar" );
- actualArtifactPaths.add( "invalid/jars/invalid-1.0.rar" );
- actualArtifactPaths.add( "invalid/jars/invalid.jar" );
- actualArtifactPaths.add( "invalid/invalid-1.0.jar" );
- actualArtifactPaths.add( "javax.sql/jars/jdbc-2.0.jar" );
- actualArtifactPaths.add( "org.apache.maven/jars/some-ejb-1.0-client.jar" );
- actualArtifactPaths.add( "org.apache.maven/jars/testing-1.0.jar" );
- actualArtifactPaths.add( "org.apache.maven/jars/testing-1.0-sources.jar" );
- actualArtifactPaths.add( "org.apache.maven/jars/testing-UNKNOWN.jar" );
- actualArtifactPaths.add( "org.apache.maven/jars/testing-1.0.zip" );
- actualArtifactPaths.add( "org.apache.maven/jars/testing-1.0-20050611.112233-1.jar" );
- actualArtifactPaths.add( "org.apache.maven/jars/testing-1.0.tar.gz" );
- actualArtifactPaths.add( "org.apache.maven.update/jars/test-not-updated-1.0.jar" );
- actualArtifactPaths.add( "org.apache.maven.update/jars/test-updated-1.0.jar" );
-
- ManagedRepository repository = createLegacyRepository();
-
- List<KnownRepositoryContentConsumer> knownConsumers = new ArrayList<>();
- KnownScanConsumer consumer = new KnownScanConsumer();
- consumer.setIncludes( ARTIFACT_PATTERNS );
- knownConsumers.add( consumer );
-
- List<InvalidRepositoryContentConsumer> invalidConsumers = new ArrayList<>();
- InvalidScanConsumer badconsumer = new InvalidScanConsumer();
- invalidConsumers.add( badconsumer );
-
- RepositoryScanner scanner = lookupRepositoryScanner();
- RepositoryScanStatistics stats =
- scanner.scan( repository, knownConsumers, invalidConsumers, getIgnoreList(), RepositoryScanner.FRESH_SCAN );
-
- assertNotNull( "Stats should not be null.", stats );
- assertMinimumHits( "Stats.totalFileCount", actualArtifactPaths.size(), stats.getTotalFileCount() );
- assertMinimumHits( "Processed Count", actualArtifactPaths.size(), consumer.getProcessCount() );
- }
- }
|