From 6899bc54a794df885fc0d7bffc80ce48cf2592e7 Mon Sep 17 00:00:00 2001 From: Martin Stockhammer Date: Thu, 9 Nov 2017 19:10:21 +0100 Subject: [PATCH] Fxing unit tests for RepositoryRegistry --- .../archiva/indexer/GenericIndexManager.java | 66 +++++++++++++++++++ .../archiva-repository-layer/pom.xml | 3 +- .../mock/RepositoryContentProviderMock.java | 66 +++++++++++++++++++ .../mock/RepositoryProviderMock.java | 1 + .../archiva-rest-services/pom.xml | 2 +- 5 files changed, 136 insertions(+), 2 deletions(-) create mode 100644 archiva-modules/archiva-base/archiva-repository-api/src/main/java/org/apache/archiva/indexer/GenericIndexManager.java create mode 100644 archiva-modules/archiva-base/archiva-repository-layer/src/test/java/org/apache/archiva/repository/mock/RepositoryContentProviderMock.java diff --git a/archiva-modules/archiva-base/archiva-repository-api/src/main/java/org/apache/archiva/indexer/GenericIndexManager.java b/archiva-modules/archiva-base/archiva-repository-api/src/main/java/org/apache/archiva/indexer/GenericIndexManager.java new file mode 100644 index 000000000..2e9ee171c --- /dev/null +++ b/archiva-modules/archiva-base/archiva-repository-api/src/main/java/org/apache/archiva/indexer/GenericIndexManager.java @@ -0,0 +1,66 @@ +package org.apache.archiva.indexer; + +/* + * 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 org.apache.archiva.model.ArtifactReference; +import org.apache.archiva.repository.Repository; +import org.apache.archiva.repository.RepositoryType; +import org.springframework.stereotype.Service; + +import java.net.URI; + +@Service("indexManager#none") +public class GenericIndexManager implements ArchivaIndexManager { + + @Override + public void pack(ArchivaIndexingContext context) { + + } + + @Override + public void scan(ArchivaIndexingContext context, boolean update) { + + } + + @Override + public void update(ArchivaIndexingContext context, URI remoteUpdateUri, boolean fullUpdate) { + + } + + @Override + public void addArtifactToIndex(ArchivaIndexingContext context, ArtifactReference artifactReference) { + + } + + @Override + public void removeArtifactFromIndex(ArchivaIndexingContext context, ArtifactReference artifactReference) { + + } + + @Override + public boolean supportsRepository(RepositoryType type) { + return false; + } + + @Override + public ArchivaIndexingContext createContext(Repository repository) { + return null; + } +} diff --git a/archiva-modules/archiva-base/archiva-repository-layer/pom.xml b/archiva-modules/archiva-base/archiva-repository-layer/pom.xml index 2b03400ce..a33ba65be 100644 --- a/archiva-modules/archiva-base/archiva-repository-layer/pom.xml +++ b/archiva-modules/archiva-base/archiva-repository-layer/pom.xml @@ -71,7 +71,7 @@ archiva-test-utils ${project.version} test - + org.apache.archiva metadata-model @@ -171,6 +171,7 @@ ${basedir} + ${project.build.directory}/test-classes diff --git a/archiva-modules/archiva-base/archiva-repository-layer/src/test/java/org/apache/archiva/repository/mock/RepositoryContentProviderMock.java b/archiva-modules/archiva-base/archiva-repository-layer/src/test/java/org/apache/archiva/repository/mock/RepositoryContentProviderMock.java new file mode 100644 index 000000000..3693e0725 --- /dev/null +++ b/archiva-modules/archiva-base/archiva-repository-layer/src/test/java/org/apache/archiva/repository/mock/RepositoryContentProviderMock.java @@ -0,0 +1,66 @@ +package org.apache.archiva.repository.mock; + +/* + * 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 org.apache.archiva.repository.*; +import org.springframework.stereotype.Service; + +import java.util.HashSet; +import java.util.Set; + +@Service("repositoryContentProvider#mock") +public class RepositoryContentProviderMock implements RepositoryContentProvider { + + private static final Set REPOSITORY_TYPES = new HashSet<>(); + static { + REPOSITORY_TYPES.add(RepositoryType.MAVEN); + REPOSITORY_TYPES.add(RepositoryType.NPM); + } + + @Override + public boolean supportsLayout(String layout) { + return true; + } + + @Override + public Set getSupportedRepositoryTypes() { + return REPOSITORY_TYPES; + } + + @Override + public boolean supports(RepositoryType type) { + return true; + } + + @Override + public RemoteRepositoryContent createRemoteContent(RemoteRepository repository) throws RepositoryException { + return new RemoteRepositoryContentMock(); + } + + @Override + public ManagedRepositoryContent createManagedContent(ManagedRepository repository) throws RepositoryException { + return new ManagedRepositoryContentMock(); + } + + @Override + public T createContent(Class clazz, V repository) throws RepositoryException { + return null; + } +} diff --git a/archiva-modules/archiva-base/archiva-repository-layer/src/test/java/org/apache/archiva/repository/mock/RepositoryProviderMock.java b/archiva-modules/archiva-base/archiva-repository-layer/src/test/java/org/apache/archiva/repository/mock/RepositoryProviderMock.java index 834ce5ba2..95485cc33 100644 --- a/archiva-modules/archiva-base/archiva-repository-layer/src/test/java/org/apache/archiva/repository/mock/RepositoryProviderMock.java +++ b/archiva-modules/archiva-base/archiva-repository-layer/src/test/java/org/apache/archiva/repository/mock/RepositoryProviderMock.java @@ -130,6 +130,7 @@ public class RepositoryProviderMock implements RepositoryProvider String id = configuration.getId( ) + StagingRepositoryFeature.STAGING_REPO_POSTFIX; BasicManagedRepository managedRepository = new BasicManagedRepository( id, configuration.getName( ) ); updateManagedInstance( managedRepository, configuration ); + managedRepository.getFeature(StagingRepositoryFeature.class).get().setStageRepoNeeded(false); return managedRepository; } diff --git a/archiva-modules/archiva-web/archiva-rest/archiva-rest-services/pom.xml b/archiva-modules/archiva-web/archiva-rest/archiva-rest-services/pom.xml index c3c8a2f99..74a963a75 100644 --- a/archiva-modules/archiva-web/archiva-rest/archiva-rest-services/pom.xml +++ b/archiva-modules/archiva-web/archiva-rest/archiva-rest-services/pom.xml @@ -80,7 +80,7 @@ org.apache.archiva - archiva-indexer + archiva-maven2-indexer org.apache.archiva -- 2.39.5