From 72aef3a6324c78a62d0eff65217d4861440841f5 Mon Sep 17 00:00:00 2001 From: Dan Timoney Date: Tue, 31 Jan 2023 08:15:34 -0500 Subject: Fix Java 17 jUnit errors Add explicit lombok dependency to resolve compile error when compiling under java 17 Fixed code issues in jUnit tests due to restrictions on reflection in Java 17, which disallow jUnit from setting system properties or environment variables. Issue-ID: CCSDK-3813 Signed-off-by: Dan Timoney Change-Id: I278ee869d2ce0568b29ecc29c37d00d7fce757a8 --- .../sli/adaptors/aai/AAIClientRESTExecutor.java | 5 ++++- .../org/onap/ccsdk/sli/adaptors/aai/AAIService.java | 4 +++- adaptors/sql-resource/provider/pom.xml | 14 ++++++++++++++ .../resource/sql/SqlResourceProviderTest.java | 21 +-------------------- 4 files changed, 22 insertions(+), 22 deletions(-) (limited to 'adaptors') diff --git a/adaptors/aai-service/provider/src/main/java/org/onap/ccsdk/sli/adaptors/aai/AAIClientRESTExecutor.java b/adaptors/aai-service/provider/src/main/java/org/onap/ccsdk/sli/adaptors/aai/AAIClientRESTExecutor.java index 3ededcc54..6083e89ba 100755 --- a/adaptors/aai-service/provider/src/main/java/org/onap/ccsdk/sli/adaptors/aai/AAIClientRESTExecutor.java +++ b/adaptors/aai-service/provider/src/main/java/org/onap/ccsdk/sli/adaptors/aai/AAIClientRESTExecutor.java @@ -31,6 +31,7 @@ import java.io.InputStream; import java.io.InputStreamReader; import java.io.OutputStreamWriter; import java.lang.reflect.Field; +import java.lang.reflect.InaccessibleObjectException; import java.lang.reflect.InvocationTargetException; import java.lang.reflect.Method; import java.lang.reflect.Modifier; @@ -173,6 +174,7 @@ public class AAIClientRESTExecutor implements AAIExecutorInterface { } } + /** This does not work in Java 17 try { Field methodsField = HttpURLConnection.class.getDeclaredField("methods"); methodsField.setAccessible(true); @@ -184,7 +186,7 @@ public class AAIClientRESTExecutor implements AAIExecutorInterface { // remove the "final" modifier modifiersField.setInt(methodsField, methodsField.getModifiers() & ~Modifier.FINAL); - /* valid HTTP methods */ + // valid HTTP methods String[] methods = { "GET", "POST", "HEAD", "OPTIONS", "PUT", "DELETE", "TRACE", "PATCH" }; @@ -194,6 +196,7 @@ public class AAIClientRESTExecutor implements AAIExecutorInterface { } catch (SecurityException | IllegalArgumentException | IllegalAccessException | NoSuchFieldException e) { LOG.warn("Adding PATCH method", e); } + **/ LOG.info("AAIResource.ctor initialized."); } diff --git a/adaptors/aai-service/provider/src/main/java/org/onap/ccsdk/sli/adaptors/aai/AAIService.java b/adaptors/aai-service/provider/src/main/java/org/onap/ccsdk/sli/adaptors/aai/AAIService.java index 14206288d..f69020f75 100755 --- a/adaptors/aai-service/provider/src/main/java/org/onap/ccsdk/sli/adaptors/aai/AAIService.java +++ b/adaptors/aai-service/provider/src/main/java/org/onap/ccsdk/sli/adaptors/aai/AAIService.java @@ -314,6 +314,7 @@ public class AAIService extends AAIDeclarations implements AAIClient, SvcLogicRe LOG.info("AAIResource.ctor initialized."); + /* Not permitted in Java 17 try { Field methodsField = HttpURLConnection.class.getDeclaredField("methods"); methodsField.setAccessible(true); @@ -325,7 +326,7 @@ public class AAIService extends AAIDeclarations implements AAIClient, SvcLogicRe // remove the "final" modifier modifiersField.setInt(methodsField, methodsField.getModifiers() & ~Modifier.FINAL); - /* valid HTTP methods */ + // valid HTTP methods String[] methods = { "GET", "POST", "HEAD", "OPTIONS", "PUT", "DELETE", "TRACE", "PATCH" }; @@ -335,6 +336,7 @@ public class AAIService extends AAIDeclarations implements AAIClient, SvcLogicRe } catch (SecurityException | IllegalArgumentException | IllegalAccessException | NoSuchFieldException e) { LOG.error("Exception occured", e); } + */ } diff --git a/adaptors/sql-resource/provider/pom.xml b/adaptors/sql-resource/provider/pom.xml index 4a53413cb..c6d256d34 100755 --- a/adaptors/sql-resource/provider/pom.xml +++ b/adaptors/sql-resource/provider/pom.xml @@ -79,4 +79,18 @@ provided + + + + + org.apache.maven.plugins + maven-surefire-plugin + + + ${basedir}/src/test/resources + + + + + diff --git a/adaptors/sql-resource/provider/src/test/java/org/onap/ccsdk/sli/adaptors/resource/sql/SqlResourceProviderTest.java b/adaptors/sql-resource/provider/src/test/java/org/onap/ccsdk/sli/adaptors/resource/sql/SqlResourceProviderTest.java index 6436f1ef1..4b97e1d5a 100755 --- a/adaptors/sql-resource/provider/src/test/java/org/onap/ccsdk/sli/adaptors/resource/sql/SqlResourceProviderTest.java +++ b/adaptors/sql-resource/provider/src/test/java/org/onap/ccsdk/sli/adaptors/resource/sql/SqlResourceProviderTest.java @@ -36,16 +36,7 @@ public class SqlResourceProviderTest { @Test public void testSqlResourceProvider() { - try{ - Map env = System.getenv(); - Class cl = env.getClass(); - Field field = cl.getDeclaredField("m"); - field.setAccessible(true); - Map writableEnv = (Map) field.get(env); - writableEnv.put(SDNC_CONFIG_DIR, "./src/test/resources"); - } catch (Exception e) { - throw new IllegalStateException("Failed to set environment variable", e); - } + provider = new SqlResourcePropertiesProviderImpl(); assertNotNull(provider); @@ -59,16 +50,6 @@ public class SqlResourceProviderTest { @Test public void testReportSuccess() { - try{ - Map env = System.getenv(); - Class cl = env.getClass(); - Field field = cl.getDeclaredField("m"); - field.setAccessible(true); - Map writableEnv = (Map) field.get(env); - writableEnv.put(SDNC_CONFIG_DIR, "./src/test/resources"); - } catch (Exception e) { - throw new IllegalStateException("Failed to set environment variable", e); - } provider = new SqlResourcePropertiesProviderImpl(); Properties properties = provider.getProperties(); -- cgit 1.2.3-korg