This is an automated email from the ASF dual-hosted git repository. gnodet pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/maven-plugin-testing.git
commit 407a8831ea3e21f31bfd24c2f5c6d3ce871a6487 Author: Guillaume Nodet <[email protected]> AuthorDate: Tue Jun 18 09:08:24 2024 +0200 Rename SessionStub to SessionMock and add a real SessionStub --- .../maven/api/plugin/testing/MojoExtension.java | 2 +- .../api/plugin/testing/stubs/ProjectStub.java | 101 ++- .../stubs/{SessionStub.java => SessionMock.java} | 2 +- .../api/plugin/testing/stubs/SessionStub.java | 707 +++++++++++---------- .../apache/maven/api/di/testing/SimpleDITest.java | 4 +- .../plugin/testing/ExpressionEvaluatorTest.java | 4 +- 6 files changed, 407 insertions(+), 413 deletions(-) diff --git a/maven-plugin-testing-harness/src/main/java/org/apache/maven/api/plugin/testing/MojoExtension.java b/maven-plugin-testing-harness/src/main/java/org/apache/maven/api/plugin/testing/MojoExtension.java index 0147261..b855dde 100644 --- a/maven-plugin-testing-harness/src/main/java/org/apache/maven/api/plugin/testing/MojoExtension.java +++ b/maven-plugin-testing-harness/src/main/java/org/apache/maven/api/plugin/testing/MojoExtension.java @@ -333,7 +333,7 @@ public class MojoExtension extends MavenDIExtension implements ParameterResolver @Singleton @Priority(-10) private InternalSession createSession() { - return SessionStub.getMockSession(getBasedir()); + return SessionMock.getMockSession(getBasedir()); } @Provides diff --git a/maven-plugin-testing-harness/src/main/java/org/apache/maven/api/plugin/testing/stubs/ProjectStub.java b/maven-plugin-testing-harness/src/main/java/org/apache/maven/api/plugin/testing/stubs/ProjectStub.java index 450cd1a..fd37fa5 100644 --- a/maven-plugin-testing-harness/src/main/java/org/apache/maven/api/plugin/testing/stubs/ProjectStub.java +++ b/maven-plugin-testing-harness/src/main/java/org/apache/maven/api/plugin/testing/stubs/ProjectStub.java @@ -25,9 +25,6 @@ import org.apache.maven.api.*; import org.apache.maven.api.annotations.Nonnull; import org.apache.maven.api.model.Model; import org.apache.maven.api.model.PluginContainer; -import org.apache.maven.internal.impl.DefaultVersionParser; -import org.apache.maven.repository.internal.DefaultModelVersionParser; -import org.eclipse.aether.util.version.GenericVersionScheme; /** * @author Olivier Lamy @@ -156,10 +153,6 @@ public class ProjectStub implements Project { return basedir; } - public void setBasedir(Path basedir) { - this.basedir = basedir; - } - @Override public Optional<Project> getParent() { return Optional.empty(); @@ -180,90 +173,74 @@ public class ProjectStub implements Project { return rootDirectory; } - public void setGroupId(String groupId) { + // + // Setters + // + + public ProjectStub setBasedir(Path basedir) { + this.basedir = basedir; + return this; + } + + public ProjectStub setGroupId(String groupId) { model = model.withGroupId(groupId); + return this; } - public void setArtifactId(String artifactId) { + public ProjectStub setArtifactId(String artifactId) { model = model.withArtifactId(artifactId); + return this; } - public void setVersion(String version) { + public ProjectStub setVersion(String version) { model = model.withVersion(version); + return this; } - public void setName(String name) { + public ProjectStub setName(String name) { model = model.withName(name); + return this; + } + + public ProjectStub setDescription(String desc) { + model = model.withDescription(desc); + return this; } - public void setPackaging(String packaging) { + public ProjectStub setPackaging(String packaging) { model = model.withPackaging(packaging); + return this; } - public void setMainArtifact(Artifact mainArtifact) { + public ProjectStub setMainArtifact(Artifact mainArtifact) { this.mainArtifact = mainArtifact; + return this; } - public void setPomPath(Path pomPath) { + public ProjectStub setPomPath(Path pomPath) { this.pomPath = pomPath; + return this; } - public void setTopProject(boolean topProject) { + public ProjectStub setTopProject(boolean topProject) { this.topProject = topProject; + return this; } - public void setMavenModel(org.apache.maven.model.Model model) { + public ProjectStub setMavenModel(org.apache.maven.model.Model model) { this.model = model.getDelegate(); + return this; } - public void setRootDirectory(Path rootDirectory) { + public ProjectStub setRootDirectory(Path rootDirectory) { this.rootDirectory = rootDirectory; + return this; } - public void addProperty(String key, String value) { - properties.put(key, value); - } - - class ProjectArtifact implements Artifact { - @Override - public String getGroupId() { - return ProjectStub.this.getGroupId(); - } - - @Override - public String getArtifactId() { - return ProjectStub.this.getArtifactId(); - } - - @Override - public Version getVersion() { - return new DefaultVersionParser(new DefaultModelVersionParser(new GenericVersionScheme())) - .parseVersion(ProjectStub.this.getVersion()); - } - - @Override - public Version getBaseVersion() { - return null; - } - - @Override - public String getClassifier() { - return ""; - } - - @Override - public String getExtension() { - return "pom"; - } - - @Override - public boolean isSnapshot() { - return false; - } - - @Override - public ArtifactCoordinate toCoordinate() { - return null; - } + public ProjectStub addProperty(String key, String value) { + Map<String, String> props = new HashMap<>(model.getProperties()); + props.put(key, value); + model = model.withProperties(props); + return this; } } diff --git a/maven-plugin-testing-harness/src/main/java/org/apache/maven/api/plugin/testing/stubs/SessionStub.java b/maven-plugin-testing-harness/src/main/java/org/apache/maven/api/plugin/testing/stubs/SessionMock.java similarity index 99% copy from maven-plugin-testing-harness/src/main/java/org/apache/maven/api/plugin/testing/stubs/SessionStub.java copy to maven-plugin-testing-harness/src/main/java/org/apache/maven/api/plugin/testing/stubs/SessionMock.java index 799587a..c620b13 100644 --- a/maven-plugin-testing-harness/src/main/java/org/apache/maven/api/plugin/testing/stubs/SessionStub.java +++ b/maven-plugin-testing-harness/src/main/java/org/apache/maven/api/plugin/testing/stubs/SessionMock.java @@ -75,7 +75,7 @@ import static org.mockito.Mockito.withSettings; /** * */ -public class SessionStub { +public class SessionMock { public static InternalSession getMockSession(String localRepo) { LocalRepository localRepository = mock(LocalRepository.class); diff --git a/maven-plugin-testing-harness/src/main/java/org/apache/maven/api/plugin/testing/stubs/SessionStub.java b/maven-plugin-testing-harness/src/main/java/org/apache/maven/api/plugin/testing/stubs/SessionStub.java index 799587a..34b1820 100644 --- a/maven-plugin-testing-harness/src/main/java/org/apache/maven/api/plugin/testing/stubs/SessionStub.java +++ b/maven-plugin-testing-harness/src/main/java/org/apache/maven/api/plugin/testing/stubs/SessionStub.java @@ -18,376 +18,393 @@ */ package org.apache.maven.api.plugin.testing.stubs; -import java.net.URI; import java.nio.file.Path; -import java.nio.file.Paths; -import java.util.ArrayList; -import java.util.Arrays; +import java.time.Instant; import java.util.Collection; import java.util.HashMap; import java.util.List; import java.util.Map; import java.util.Optional; -import java.util.Properties; -import java.util.concurrent.ConcurrentHashMap; -import java.util.function.Supplier; import org.apache.maven.api.Artifact; +import org.apache.maven.api.ArtifactCoordinate; +import org.apache.maven.api.Dependency; +import org.apache.maven.api.DependencyCoordinate; +import org.apache.maven.api.DependencyScope; +import org.apache.maven.api.Language; +import org.apache.maven.api.Listener; import org.apache.maven.api.LocalRepository; +import org.apache.maven.api.Node; +import org.apache.maven.api.Packaging; +import org.apache.maven.api.PathScope; +import org.apache.maven.api.PathType; import org.apache.maven.api.Project; +import org.apache.maven.api.ProjectScope; import org.apache.maven.api.RemoteRepository; +import org.apache.maven.api.Service; import org.apache.maven.api.Session; import org.apache.maven.api.SessionData; -import org.apache.maven.api.model.Model; +import org.apache.maven.api.Type; +import org.apache.maven.api.Version; +import org.apache.maven.api.VersionConstraint; +import org.apache.maven.api.VersionRange; +import org.apache.maven.api.annotations.Nonnull; +import org.apache.maven.api.annotations.Nullable; import org.apache.maven.api.model.Repository; -import org.apache.maven.api.services.ArtifactDeployer; -import org.apache.maven.api.services.ArtifactDeployerRequest; -import org.apache.maven.api.services.ArtifactFactory; -import org.apache.maven.api.services.ArtifactFactoryRequest; -import org.apache.maven.api.services.ArtifactInstaller; -import org.apache.maven.api.services.ArtifactInstallerRequest; -import org.apache.maven.api.services.ArtifactManager; -import org.apache.maven.api.services.LocalRepositoryManager; -import org.apache.maven.api.services.ProjectBuilder; -import org.apache.maven.api.services.ProjectBuilderRequest; -import org.apache.maven.api.services.ProjectBuilderResult; -import org.apache.maven.api.services.ProjectManager; -import org.apache.maven.api.services.RepositoryFactory; -import org.apache.maven.api.services.VersionParser; -import org.apache.maven.api.services.xml.ModelXmlFactory; -import org.apache.maven.internal.impl.DefaultModelXmlFactory; -import org.apache.maven.internal.impl.DefaultVersionParser; -import org.apache.maven.internal.impl.InternalSession; -import org.apache.maven.model.v4.MavenStaxReader; -import org.apache.maven.repository.internal.DefaultModelVersionParser; -import org.eclipse.aether.util.version.GenericVersionScheme; -import org.mockito.ArgumentMatchers; - -import static org.mockito.ArgumentMatchers.any; -import static org.mockito.ArgumentMatchers.anyString; -import static org.mockito.ArgumentMatchers.same; -import static org.mockito.Mockito.doAnswer; -import static org.mockito.Mockito.doReturn; -import static org.mockito.Mockito.mock; -import static org.mockito.Mockito.when; -import static org.mockito.Mockito.withSettings; +import org.apache.maven.api.settings.Settings; /** - * */ -public class SessionStub { - - public static InternalSession getMockSession(String localRepo) { - LocalRepository localRepository = mock(LocalRepository.class); - when(localRepository.getId()).thenReturn("local"); - when(localRepository.getPath()).thenReturn(Paths.get(localRepo)); - return getMockSession(localRepository); - } - - public static InternalSession getMockSession(LocalRepository localRepository) { - InternalSession session = mock(InternalSession.class); - - // - // RepositoryFactory - // - RepositoryFactory repositoryFactory = mock(RepositoryFactory.class); - when(session.createRemoteRepository(anyString(), anyString())).thenAnswer(iom -> { - String id = iom.getArgument(0, String.class); - String url = iom.getArgument(1, String.class); - return session.getService(RepositoryFactory.class).createRemote(id, url); - }); - when(session.createRemoteRepository(any())) - .thenAnswer(iom -> repositoryFactory.createRemote(iom.getArgument(0, Repository.class))); - when(repositoryFactory.createRemote(any(Repository.class))).thenAnswer(iom -> { - Repository repository = iom.getArgument(0, Repository.class); - return repositoryFactory.createRemote(repository.getId(), repository.getUrl()); - }); - when(repositoryFactory.createRemote(anyString(), anyString())).thenAnswer(iom -> { - String id = iom.getArgument(0, String.class); - String url = iom.getArgument(1, String.class); - RemoteRepository remoteRepository = - mock(RemoteRepository.class, withSettings().lenient()); - when(remoteRepository.getId()).thenReturn(id); - when(remoteRepository.getUrl()).thenReturn(url); - when(remoteRepository.getProtocol()).thenReturn(URI.create(url).getScheme()); - return remoteRepository; - }); - when(session.getService(RepositoryFactory.class)).thenReturn(repositoryFactory); - - // - // VersionParser - // - VersionParser versionParser = - new DefaultVersionParser(new DefaultModelVersionParser(new GenericVersionScheme())); - when(session.parseVersion(any())) - .thenAnswer(iom -> versionParser.parseVersion(iom.getArgument(0, String.class))); - when(session.getService(VersionParser.class)).thenReturn(versionParser); - - // - // LocalRepositoryManager - // - LocalRepositoryManager localRepositoryManager = mock(LocalRepositoryManager.class); - when(session.getPathForLocalArtifact(any(Artifact.class))) - .then(iom -> localRepositoryManager.getPathForLocalArtifact( - session, session.getLocalRepository(), iom.getArgument(0, Artifact.class))); - when(session.getPathForRemoteArtifact(any(), any())) - .thenAnswer(iom -> localRepositoryManager.getPathForRemoteArtifact( - session, - session.getLocalRepository(), - iom.getArgument(0, RemoteRepository.class), - iom.getArgument(1, Artifact.class))); - when(localRepositoryManager.getPathForLocalArtifact(any(), any(), any())) - .thenAnswer(iom -> { - LocalRepository localRepo = iom.getArgument(1, LocalRepository.class); - Artifact artifact = iom.getArgument(2, Artifact.class); - return localRepo.getPath().resolve(getPathForArtifact(artifact, true)); - }); - when(session.getService(LocalRepositoryManager.class)).thenReturn(localRepositoryManager); - - // - // ArtifactInstaller - // - ArtifactInstaller artifactInstaller = mock(ArtifactInstaller.class); - doAnswer(iom -> { - artifactInstaller.install( - ArtifactInstallerRequest.build(session, iom.getArgument(0, Collection.class))); - return null; - }) - .when(session) - .installArtifacts(any(Collection.class)); - doAnswer(iom -> { - artifactInstaller.install(ArtifactInstallerRequest.build( - session, Arrays.asList(iom.getArgument(0, Artifact[].class)))); - return null; - }) - .when(session) - .installArtifacts(any(Artifact[].class)); - doAnswer(iom -> { - artifactInstaller.install(ArtifactInstallerRequest.build( - iom.getArgument(0, Session.class), iom.getArgument(1, Collection.class))); - return null; - }) - .when(artifactInstaller) - .install(any(Session.class), ArgumentMatchers.<Collection<Artifact>>any()); - when(session.getService(ArtifactInstaller.class)).thenReturn(artifactInstaller); - - // - // ArtifactDeployer - // - ArtifactDeployer artifactDeployer = mock(ArtifactDeployer.class); - doAnswer(iom -> { - artifactDeployer.deploy(ArtifactDeployerRequest.build( - iom.getArgument(0, Session.class), - iom.getArgument(1, RemoteRepository.class), - Arrays.asList(iom.getArgument(2, Artifact[].class)))); - return null; - }) - .when(session) - .deployArtifact(any(), any()); - doAnswer(iom -> { - artifactDeployer.deploy(ArtifactDeployerRequest.build( - iom.getArgument(0, Session.class), - iom.getArgument(1, RemoteRepository.class), - iom.getArgument(2, Collection.class))); - return null; - }) - .when(artifactDeployer) - .deploy(any(), any(), any()); - when(session.getService(ArtifactDeployer.class)).thenReturn(artifactDeployer); - - // - // ArtifactManager - // - ArtifactManager artifactManager = mock(ArtifactManager.class); - Map<Artifact, Path> paths = new HashMap<>(); - doAnswer(iom -> { - paths.put(iom.getArgument(0), iom.getArgument(1)); - return null; - }) - .when(artifactManager) - .setPath(any(), any()); - doAnswer(iom -> Optional.ofNullable(paths.get(iom.getArgument(0, Artifact.class)))) - .when(artifactManager) - .getPath(any()); - doAnswer(iom -> artifactManager.getPath(iom.getArgument(0, Artifact.class))) - .when(session) - .getArtifactPath(any()); - when(session.getService(ArtifactManager.class)).thenReturn(artifactManager); - - // - // ProjectManager - // - ProjectManager projectManager = mock(ProjectManager.class); - Map<Project, Collection<Artifact>> attachedArtifacts = new HashMap<>(); - doAnswer(iom -> { - Project project = iom.getArgument(1, Project.class); - String type = iom.getArgument(2, String.class); - Path path = iom.getArgument(3, Path.class); - Artifact artifact = session.createArtifact( - project.getGroupId(), project.getArtifactId(), project.getVersion(), null, null, type); - artifactManager.setPath(artifact, path); - attachedArtifacts - .computeIfAbsent(project, p -> new ArrayList<>()) - .add(artifact); - return null; - }) - .when(projectManager) - .attachArtifact(same(session), any(Project.class), any(), any()); - doAnswer(iom -> { - Project project = iom.getArgument(0, Project.class); - Artifact artifact = iom.getArgument(1, Artifact.class); - Path path = iom.getArgument(2, Path.class); - artifactManager.setPath(artifact, path); - attachedArtifacts - .computeIfAbsent(project, p -> new ArrayList<>()) - .add(artifact); - return null; - }) - .when(projectManager) - .attachArtifact(any(Project.class), any(Artifact.class), any(Path.class)); - when(projectManager.getAttachedArtifacts(any())) - .then(iom -> - attachedArtifacts.computeIfAbsent(iom.getArgument(0, Project.class), p -> new ArrayList<>())); - when(projectManager.getAllArtifacts(any())).then(iom -> { - Project project = iom.getArgument(0, Project.class); - List<Artifact> result = new ArrayList<>(); - result.addAll(project.getArtifacts()); - result.addAll(attachedArtifacts.computeIfAbsent(project, p -> new ArrayList<>())); - return result; - }); - when(session.getService(ProjectManager.class)).thenReturn(projectManager); - - // - // ArtifactFactory - // - ArtifactFactory artifactFactory = mock(ArtifactFactory.class); - when(artifactFactory.create(any())).then(iom -> { - ArtifactFactoryRequest request = iom.getArgument(0, ArtifactFactoryRequest.class); - String classifier = request.getClassifier(); - String extension = request.getExtension(); - String type = request.getType(); - if (classifier == null) { - classifier = ""; - } - if (extension == null) { - extension = type != null ? type : ""; - } - return new ArtifactStub( - request.getGroupId(), request.getArtifactId(), classifier, request.getVersion(), extension); - }); - when(session.createArtifact(any(), any(), any(), any(), any(), any())).thenAnswer(iom -> { - String groupId = iom.getArgument(0, String.class); - String artifactId = iom.getArgument(1, String.class); - String version = iom.getArgument(2, String.class); - String classifier = iom.getArgument(3, String.class); - String extension = iom.getArgument(4, String.class); - String type = iom.getArgument(5, String.class); - return session.getService(ArtifactFactory.class) - .create(ArtifactFactoryRequest.builder() - .session(session) - .groupId(groupId) - .artifactId(artifactId) - .version(version) - .classifier(classifier) - .extension(extension) - .type(type) - .build()); - }); - when(session.createArtifact(any(), any(), any(), any())).thenAnswer(iom -> { - String groupId = iom.getArgument(0, String.class); - String artifactId = iom.getArgument(1, String.class); - String version = iom.getArgument(2, String.class); - String extension = iom.getArgument(3, String.class); - return session.getService(ArtifactFactory.class) - .create(ArtifactFactoryRequest.builder() - .session(session) - .groupId(groupId) - .artifactId(artifactId) - .version(version) - .extension(extension) - .build()); - }); - when(session.getService(ArtifactFactory.class)).thenReturn(artifactFactory); - - // - // ProjectBuilder - // - ProjectBuilder projectBuilder = mock(ProjectBuilder.class); - when(projectBuilder.build(any(ProjectBuilderRequest.class))).then(iom -> { - ProjectBuilderRequest request = iom.getArgument(0, ProjectBuilderRequest.class); - ProjectBuilderResult result = mock(ProjectBuilderResult.class); - Model model = new MavenStaxReader().read(request.getSource().get().openStream()); - ProjectStub projectStub = new ProjectStub(); - projectStub.setModel(model); - ArtifactStub artifactStub = new ArtifactStub( - model.getGroupId(), model.getArtifactId(), "", model.getVersion(), model.getPackaging()); - if (!"pom".equals(model.getPackaging())) { - projectStub.setMainArtifact(artifactStub); - } - when(result.getProject()).thenReturn(Optional.of(projectStub)); - return result; - }); - when(session.getService(ProjectBuilder.class)).thenReturn(projectBuilder); - - // - // ModelXmlFactory - // - when(session.getService(ModelXmlFactory.class)).thenReturn(new DefaultModelXmlFactory()); - - // - // Other - // - Properties sysProps = new Properties(); - Properties usrProps = new Properties(); - doReturn(sysProps).when(session).getSystemProperties(); - doReturn(usrProps).when(session).getUserProperties(); - when(session.getLocalRepository()).thenReturn(localRepository); - when(session.getData()).thenReturn(new TestSessionData()); - when(session.withLocalRepository(any())) - .thenAnswer(iom -> getMockSession(iom.getArgument(0, LocalRepository.class))); - - return session; - } - - static String getPathForArtifact(Artifact artifact, boolean local) { - StringBuilder path = new StringBuilder(128); - path.append(artifact.getGroupId().replace('.', '/')).append('/'); - path.append(artifact.getArtifactId()).append('/'); - path.append(artifact.getVersion()).append('/'); - path.append(artifact.getArtifactId()).append('-'); - path.append(artifact.getVersion()); - if (artifact.getClassifier().length() > 0) { - path.append('-').append(artifact.getClassifier()); - } - if (artifact.getExtension().length() > 0) { - path.append('.').append(artifact.getExtension()); - } - return path.toString(); +public class SessionStub implements Session { + + private Map<String, String> userProperties; + + private Map<String, String> systemProperties; + + private final Settings settings; + + public SessionStub(Settings settings) { + this(null, null, settings); } - static class TestSessionData implements SessionData { - private final Map<Key<?>, Object> map = new ConcurrentHashMap<>(); + public SessionStub() { + this(null, null, null); + } - @Override - public <T> void set(Key<T> key, T value) { - map.put(key, value); - } + public SessionStub(Map<String, String> userProperties) { + this(null, userProperties, null); + } + + public SessionStub(Map<String, String> systemProperties, Map<String, String> userProperties, Settings settings) { - @Override - public <T> boolean replace(Key<T> key, T oldValue, T newValue) { - return map.replace(key, oldValue, newValue); + this.settings = settings; + + this.systemProperties = new HashMap<>(); + if (systemProperties != null) { + this.systemProperties.putAll(systemProperties); } + System.getProperties().forEach((k, v) -> this.systemProperties.put(k.toString(), v.toString())); - @Override - @SuppressWarnings("unchecked") - public <T> T get(Key<T> key) { - return (T) map.get(key); + this.userProperties = new HashMap<>(); + if (userProperties != null) { + this.userProperties.putAll(userProperties); } + } + + @Override + public Settings getSettings() { + return settings; + } + + @Override + public Map<String, String> getSystemProperties() { + return this.systemProperties; + } - @Override - @SuppressWarnings("unchecked") - public <T> T computeIfAbsent(Key<T> key, Supplier<T> supplier) { - return (T) map.computeIfAbsent(key, k -> supplier.get()); + @Override + public Map<String, String> getUserProperties() { + return this.userProperties; + } + + @Nonnull + public Map<String, String> getEffectiveProperties(@Nullable Project project) { + HashMap<String, String> result = new HashMap<>(getSystemProperties()); + if (project != null) { + result.putAll(project.getModel().getProperties()); } + result.putAll(getUserProperties()); + return result; + } + + @Override + public LocalRepository getLocalRepository() { + return null; + } + + @Override + public Path getTopDirectory() { + return null; + } + + @Override + public Path getRootDirectory() { + return null; + } + + @Override + public List<RemoteRepository> getRemoteRepositories() { + return null; + } + + @Override + public SessionData getData() { + return null; + } + + @Override + public Version getMavenVersion() { + return null; + } + + @Override + public int getDegreeOfConcurrency() { + return 0; + } + + @Override + public Instant getStartTime() { + return null; + } + + @Override + public List<Project> getProjects() { + return null; + } + + @Override + public Map<String, Object> getPluginContext(Project project) { + return null; + } + + @Override + public <T extends Service> T getService(Class<T> clazz) { + return null; + } + + @Override + public Session withLocalRepository(LocalRepository localRepository) { + return null; + } + + @Override + public Session withRemoteRepositories(List<RemoteRepository> repositories) { + return null; + } + + @Override + public void registerListener(Listener listener) {} + + @Override + public void unregisterListener(Listener listener) {} + + @Override + public Collection<Listener> getListeners() { + return null; + } + + @Override + public LocalRepository createLocalRepository(Path path) { + return null; + } + + @Override + public RemoteRepository createRemoteRepository(String id, String url) { + return null; + } + + @Override + public RemoteRepository createRemoteRepository(Repository repository) { + return null; + } + + @Override + public Artifact createArtifact(String groupId, String artifactId, String version, String extension) { + return null; + } + + @Override + public Artifact createArtifact( + String groupId, String artifactId, String version, String classifier, String extension, String type) { + return null; + } + + @Override + public ArtifactCoordinate createArtifactCoordinate(String s, String s1, String s2, String s3) { + return null; + } + + @Override + public ArtifactCoordinate createArtifactCoordinate(String coordString) { + return null; + } + + @Override + public ArtifactCoordinate createArtifactCoordinate( + String s, String s1, String s2, String s3, String s4, String s5) { + return null; + } + + @Override + public ArtifactCoordinate createArtifactCoordinate(Artifact artifact) { + return null; + } + + @Override + public DependencyCoordinate createDependencyCoordinate(ArtifactCoordinate artifactCoordinate) { + return null; + } + + @Override + public DependencyCoordinate createDependencyCoordinate(Dependency dependency) { + return null; + } + + @Override + public Map.Entry<Artifact, Path> resolveArtifact(Artifact artifact) { + return null; + } + + @Override + public Map.Entry<Artifact, Path> resolveArtifact(ArtifactCoordinate coordinate) { + return null; + } + + @Override + public Map<Artifact, Path> resolveArtifacts(ArtifactCoordinate... artifactCoordinates) { + return null; + } + + @Override + public Map<Artifact, Path> resolveArtifacts(Collection<? extends ArtifactCoordinate> collection) { + return null; + } + + @Override + public Map<Artifact, Path> resolveArtifacts(Artifact... artifacts) { + return null; + } + + @Override + public List<Node> flattenDependencies(Node node, PathScope scope) { + return null; + } + + @Override + public List<Path> resolveDependencies(DependencyCoordinate dependencyCoordinate) { + return null; + } + + @Override + public List<Path> resolveDependencies(List<DependencyCoordinate> dependencyCoordinates) { + return null; + } + + @Override + public List<Path> resolveDependencies(Project project, PathScope scope) { + return null; + } + + @Override + public Version resolveVersion(ArtifactCoordinate artifact) { + return null; + } + + @Override + public List<Version> resolveVersionRange(ArtifactCoordinate artifact) { + return null; + } + + @Override + public void installArtifacts(Artifact... artifacts) {} + + @Override + public void installArtifacts(Collection<Artifact> artifacts) {} + + @Override + public void deployArtifact(RemoteRepository repository, Artifact... artifacts) {} + + @Override + public void setArtifactPath(Artifact artifact, Path path) {} + + @Override + public Optional<Path> getArtifactPath(Artifact artifact) { + return Optional.empty(); + } + + @Override + public boolean isVersionSnapshot(String version) { + return false; + } + + @Override + public Node collectDependencies(Artifact artifact) { + return null; + } + + @Override + public Node collectDependencies(Project project) { + return null; + } + + @Override + public Node collectDependencies(DependencyCoordinate dependencyCoordinate) { + return null; + } + + @Override + public Path getPathForLocalArtifact(Artifact artifact) { + return null; + } + + @Override + public Path getPathForRemoteArtifact(RemoteRepository remote, Artifact artifact) { + return null; + } + + @Override + public Version parseVersion(String version) { + return null; + } + + @Override + public VersionRange parseVersionRange(String versionRange) { + return null; + } + + @Override + public VersionConstraint parseVersionConstraint(String s) { + return null; + } + + @Override + public Map<PathType, List<Path>> resolveDependencies( + DependencyCoordinate dependencyCoordinate, PathScope scope, Collection<PathType> desiredTypes) { + return Map.of(); + } + + @Override + public Map<PathType, List<Path>> resolveDependencies( + Project project, PathScope scope, Collection<PathType> desiredTypes) { + return Map.of(); + } + + @Override + public Type requireType(String id) { + return null; + } + + @Override + public Language requireLanguage(String id) { + return null; + } + + @Override + public Packaging requirePackaging(String id) { + return null; + } + + @Override + public ProjectScope requireProjectScope(String id) { + return null; + } + + @Override + public DependencyScope requireDependencyScope(String id) { + return null; + } + + @Override + public PathScope requirePathScope(String id) { + return null; } } diff --git a/maven-plugin-testing-harness/src/test/java/org/apache/maven/api/di/testing/SimpleDITest.java b/maven-plugin-testing-harness/src/test/java/org/apache/maven/api/di/testing/SimpleDITest.java index 429a3f5..49fc6fa 100644 --- a/maven-plugin-testing-harness/src/test/java/org/apache/maven/api/di/testing/SimpleDITest.java +++ b/maven-plugin-testing-harness/src/test/java/org/apache/maven/api/di/testing/SimpleDITest.java @@ -23,7 +23,7 @@ import java.io.File; import org.apache.maven.api.Session; import org.apache.maven.api.di.Inject; import org.apache.maven.api.di.Provides; -import org.apache.maven.api.plugin.testing.stubs.SessionStub; +import org.apache.maven.api.plugin.testing.stubs.SessionMock; import org.junit.jupiter.api.Test; import static org.apache.maven.api.di.testing.MavenDIExtension.getBasedir; @@ -45,6 +45,6 @@ public class SimpleDITest { @Provides Session createSession() { - return SessionStub.getMockSession(LOCAL_REPO); + return SessionMock.getMockSession(LOCAL_REPO); } } diff --git a/maven-plugin-testing-harness/src/test/java/org/apache/maven/api/plugin/testing/ExpressionEvaluatorTest.java b/maven-plugin-testing-harness/src/test/java/org/apache/maven/api/plugin/testing/ExpressionEvaluatorTest.java index 51b1ed9..30834c5 100644 --- a/maven-plugin-testing-harness/src/test/java/org/apache/maven/api/plugin/testing/ExpressionEvaluatorTest.java +++ b/maven-plugin-testing-harness/src/test/java/org/apache/maven/api/plugin/testing/ExpressionEvaluatorTest.java @@ -29,7 +29,7 @@ import org.apache.maven.api.di.Provides; import org.apache.maven.api.plugin.MojoException; import org.apache.maven.api.plugin.annotations.Mojo; import org.apache.maven.api.plugin.testing.stubs.ProjectStub; -import org.apache.maven.api.plugin.testing.stubs.SessionStub; +import org.apache.maven.api.plugin.testing.stubs.SessionMock; import org.junit.jupiter.api.Test; import static org.junit.jupiter.api.Assertions.assertDoesNotThrow; @@ -123,7 +123,7 @@ public class ExpressionEvaluatorTest { @Provides @SuppressWarnings("unused") Session session() { - Session session = SessionStub.getMockSession(LOCAL_REPO); + Session session = SessionMock.getMockSession(LOCAL_REPO); doReturn(new Properties()).when(session).getSystemProperties(); doReturn(new Properties()).when(session).getUserProperties(); doAnswer(iom -> Paths.get(MojoExtension.getBasedir())).when(session).getRootDirectory();
