ArtifactResolverTest.java
package org.appformer.maven.integration;
import junit.framework.TestCase;
import org.appformer.maven.support.AFReleaseId;
import org.appformer.maven.support.AFReleaseIdImpl;
import org.junit.Assert;
import org.mockito.Mockito;
import java.net.URL;
import java.util.ArrayList;
import java.util.List;
import java.util.Optional;
import java.util.function.Predicate;
import static org.mockito.ArgumentMatchers.any;
import static org.mockito.Mockito.*;
public class ArtifactResolverTest extends TestCase {
class MyInJarArtifactResolver extends InJarArtifactResolver {
MyInJarArtifactResolver(ClassLoader classLoader, AFReleaseId releaseId) {
super(classLoader, releaseId);
}
@Override
protected Optional<URL> tryInStructuredJar(AFReleaseId releaseId) {
return super.tryInStructuredJar(releaseId);
}
}
public void testInJarResolverSnapshotLocal() {
ClassLoader classLoader = getClass().getClassLoader();
AFReleaseId releaseId = new AFReleaseIdImpl("org.jbpm", "kjar", "1.0.0-SNAPSHOT", "jar");
ArrayList<URL> urlArrayList = new ArrayList<URL>();
urlArrayList.add(classLoader.getResource("BOOT-INF/classes/KIE-INF/lib/kjar-1.0.0-SNAPSHOT.pom"));
InJarArtifactResolver inJarArtifactResolver = new InJarArtifactResolver(classLoader, releaseId);
InJarArtifactResolver spy = Mockito.spy(inJarArtifactResolver);
doReturn(urlArrayList).when(spy).buildResources(any());
spy.init();
verify(spy).getURL(endsWith("BOOT-INF/classes/KIE-INF/lib/kjar-1.0.0-SNAPSHOT.pom"));
}
public void testInJarResolverSnapshotExternal() {
ClassLoader classLoader = getClass().getClassLoader();
AFReleaseId releaseId = new AFReleaseIdImpl("org.jbpm", "kjar", "1.0.0-SNAPSHOT", "jar");
InJarArtifactResolver inJarArtifactResolver = new InJarArtifactResolver(classLoader, releaseId );
InJarArtifactResolver spy = Mockito.spy(inJarArtifactResolver);
ArrayList<URL> urlArrayList = new ArrayList<URL>();
urlArrayList.add(classLoader.getResource("BOOT-INF/classes/KIE-INF/lib/kjar-1.0.0-20240717-143315-1.pom"));
doReturn(urlArrayList).when(spy).buildResources(any());
spy.init();
verify(spy).getURL(endsWith("BOOT-INF/classes/KIE-INF/lib/kjar-1.0.0-20240717-143315-1.pom"));
}
}