Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -11,86 +11,57 @@

class TypeResolverPoolTest {

TypeResolverPool resolver = new TypeResolverPool();

@Test
void testResolvePrimitive() {
TypeResolverPool resolver = new TypeResolverPool();

Class<?> result = resolver.resolveType(Type.INT_TYPE);

assertEquals(int.class, result);
assertEquals(int.class, resolver.resolveType(Type.INT_TYPE));
}

@Test
void testResolvePrimitiveArray() {
TypeResolverPool resolver = new TypeResolverPool();
Type type = Type.getType("[I");

Class<?> result = resolver.resolveType(type);

assertEquals(int[].class, result);
assertEquals(int[].class, resolver.resolveType(type));
}

@Test
void testResolvePrimitiveMultidimensionalArray() {
TypeResolverPool resolver = new TypeResolverPool();
Type type = Type.getType("[[[I");

Class<?> result = resolver.resolveType(type);

assertEquals(int[][][].class, result);
assertEquals(int[][][].class, resolver.resolveType(type));
}

@Test
void testResolveClass() {
TypeResolverPool resolver = new TypeResolverPool();
Type type = Type.getType(String.class);

Class<?> result = resolver.resolveType(type);

assertEquals(String.class, result);
assertEquals(String.class, resolver.resolveType(type));
}

@Test
void testResolveClassArray() {
TypeResolverPool resolver = new TypeResolverPool();
Type type = Type.getType(String[].class);

Class<?> result = resolver.resolveType(type);

assertEquals(String[].class, result);
assertEquals(String[].class, resolver.resolveType(type));
}

@Test
void testResolveClassMultidimensionalArray() {
TypeResolverPool resolver = new TypeResolverPool();
Type type = Type.getType(String[][][].class);

Class<?> result = resolver.resolveType(type);

assertEquals(String[][][].class, result);
assertEquals(String[][][].class, resolver.resolveType(type));
}

@Test
void testTypeResolverFromMethod() {
TypeResolverPool resolver = new TypeResolverPool();
Type type =
Type.getMethodType(
Type.getType(String[].class), Type.getType(String.class), Type.getType(String.class));

Class<?> result = resolver.resolveType(type.getReturnType());

assertEquals(String[].class, result);
assertEquals(String[].class, resolver.resolveType(type.getReturnType()));
}

@Test
void testInheritedMethods() throws Exception {
TypeResolverPool resolver = new TypeResolverPool();
Type owner = Type.getType(HttpServletRequest.class);
String name = "getParameter";
Type descriptor = Type.getMethodType(Type.getType(String.class), Type.getType(String.class));

Method result = (Method) resolver.resolveMethod(new MethodType(owner, name, descriptor));

assertEquals(ServletRequest.class.getDeclaredMethod("getParameter", String.class), result);
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,7 @@
import datadog.trace.plugin.csi.impl.assertion.CallSiteAssert;
import datadog.trace.plugin.csi.impl.ext.tests.IastExtensionCallSite;
import java.io.File;
import java.io.IOException;
import java.lang.reflect.Method;
import java.nio.file.Files;
import java.nio.file.Path;
Expand All @@ -46,12 +47,15 @@ class IastExtensionTest extends BaseCsiPluginTest {

@BeforeEach
void setup() throws Exception {
targetFolder = buildDir.toPath().resolve("target");
Files.createDirectories(targetFolder);
projectFolder = buildDir.toPath().resolve("project");
Files.createDirectories(projectFolder);
srcFolder = projectFolder.resolve("src/main/java");
Files.createDirectories(srcFolder);
targetFolder = createFolder("target");
projectFolder = createFolder("project");
srcFolder = createFolder("src/main/java");
}

private Path createFolder(String folderName) throws IOException {
Path folder = buildDir.toPath().resolve(folderName);
Files.createDirectories(folder);
return folder;
}

@ParameterizedTest
Expand Down
Loading