diff options
Diffstat (limited to 'abi-check-plugin/src/test/java/com/yahoo/abicheck/mojo/AbiCheckTest.java')
-rw-r--r-- | abi-check-plugin/src/test/java/com/yahoo/abicheck/mojo/AbiCheckTest.java | 36 |
1 files changed, 25 insertions, 11 deletions
diff --git a/abi-check-plugin/src/test/java/com/yahoo/abicheck/mojo/AbiCheckTest.java b/abi-check-plugin/src/test/java/com/yahoo/abicheck/mojo/AbiCheckTest.java index b8a96debebc..57fc607346c 100644 --- a/abi-check-plugin/src/test/java/com/yahoo/abicheck/mojo/AbiCheckTest.java +++ b/abi-check-plugin/src/test/java/com/yahoo/abicheck/mojo/AbiCheckTest.java @@ -1,24 +1,24 @@ -package com.yahoo.abicheck; +package com.yahoo.abicheck.mojo; import static org.hamcrest.MatcherAssert.assertThat; +import static org.hamcrest.Matchers.equalTo; import static org.mockito.Mockito.mock; import static org.mockito.Mockito.when; +import com.yahoo.abicheck.Public; import com.yahoo.abicheck.classtree.ClassFileTree; -import com.yahoo.abicheck.classtree.ClassFileTree.Package; -import com.yahoo.abicheck.mojo.AbiCheck; import com.yahoo.abicheck.signature.JavaClassSignature; import java.io.IOException; import java.util.Arrays; -import java.util.Collection; import java.util.Collections; import java.util.Map; import org.junit.jupiter.api.Test; +import root.Root; +import root.sub.Sub; public class AbiCheckTest { - @Test - public void testKukkuu() throws IOException { + private static ClassFileTree.Package buildClassFileTree() throws IOException { ClassFileTree.Package rootPkg = mock(ClassFileTree.Package.class); ClassFileTree.Package subPkg = mock(ClassFileTree.Package.class); @@ -31,16 +31,30 @@ public class AbiCheckTest { when(subPkg.getClassFiles()).thenReturn(Collections.singleton(subPkgClass)); when(rootPkgInfoClass.getName()).thenReturn("package-info.class"); + when(rootPkgInfoClass.getInputStream()) + .thenAnswer(invocation -> Root.class.getResourceAsStream("package-info.class")); + when(rootPkgClass.getName()).thenReturn("Root.class"); + when(rootPkgClass.getInputStream()) + .thenAnswer(invocation -> Root.class.getResourceAsStream("Root.class")); + when(subPkgClass.getName()).thenReturn("Sub.class"); + when(subPkgClass.getInputStream()) + .thenAnswer(invocation -> Sub.class.getResourceAsStream("Sub.class")); + + return rootPkg; + } + + @Test + public void testCollectPublicAbiSignatures() throws IOException { + ClassFileTree.Package rootPkg = buildClassFileTree(); Map<String, JavaClassSignature> signatures = AbiCheck - .collectPublicAbiSignatures(rootPkg, "com.yahoo.PublicApi"); + .collectPublicAbiSignatures(rootPkg, Public.class.getCanonicalName()); -// assertThat(signatures); - } + assertThat(signatures.size(), equalTo(1)); + JavaClassSignature rootSignature = signatures.get("root.Root"); - private static Collection<Package> buildClassFileTree() { - ClassFileTree.Package root = new ClassFileTree.Package(null, "com"); + // PublicSignatureCollectorTest verifies actual signatures, no need to duplicate here } } |