Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
refactor(test): upgrade spockframework to fix issue during upgrade of…
… spring security from 5.x to 6.x and ninja-squad upgrade with spring boot upgrade to 3.x While upgrading spring security from 5.x to 6.x, encountered the below error: ``` Cannot invoke method getForEntity() on null object java.lang.NullPointerException: Cannot invoke method getForEntity() on null object at com.netflix.spinnaker.kork.web.exceptions.GenericExceptionHandlersMvcSpec.ok request(GenericExceptionHandlersMvcSpec.groovy:42) Cannot invoke method getForEntity() on null object java.lang.NullPointerException: Cannot invoke method getForEntity() on null object at com.netflix.spinnaker.kork.web.exceptions.GenericExceptionHandlersMvcSpec.not found(GenericExceptionHandlersMvcSpec.groovy:50) Cannot invoke method postForEntity() on null object java.lang.NullPointerException: Cannot invoke method postForEntity() on null object at com.netflix.spinnaker.kork.web.exceptions.GenericExceptionHandlersMvcSpec.method not supported(GenericExceptionHandlersMvcSpec.groovy:58) Cannot invoke method getForEntity() on null object java.lang.NullPointerException: Cannot invoke method getForEntity() on null object at com.netflix.spinnaker.kork.web.exceptions.GenericExceptionHandlersMvcSpec.missing request param(GenericExceptionHandlersMvcSpec.groovy:66) Cannot invoke method getForEntity() on null object java.lang.NullPointerException: Cannot invoke method getForEntity() on null object at com.netflix.spinnaker.kork.web.exceptions.GenericExceptionHandlersMvcSpec.should map IllegalArgumentException as 400(GenericExceptionHandlersMvcSpec.groovy:74) Cannot invoke method getForEntity() on null object java.lang.NullPointerException: Cannot invoke method getForEntity() on null object at com.netflix.spinnaker.kork.web.exceptions.GenericExceptionHandlersMvcSpec.should handle IllegalStateException(GenericExceptionHandlersMvcSpec.groovy:82) ``` The root cause of this issue is a incompatibility bug in spockframework 2.3-groovy-4.0 version. In order to fix this issue upgraded the spockframe to 2.4-M1-groovy-4.0 spring-projects/spring-boot#33376 https://spockframework.org/spock/docs/2.4-M1/release_notes.html#_2_4_m1_2022_11_30 Also encountered below error during test execution of kork-plugins-tck module: ``` java.lang.NoClassDefFoundError: org/springframework/beans/factory/config/InstantiationAwareBeanPostProcessorAdapter at java.base/java.lang.ClassLoader.defineClass1(Native Method) at java.base/java.lang.ClassLoader.defineClass(ClassLoader.java:1012) at java.base/java.security.SecureClassLoader.defineClass(SecureClassLoader.java:150) at java.base/jdk.internal.loader.BuiltinClassLoader.defineClass(BuiltinClassLoader.java:862) at java.base/jdk.internal.loader.BuiltinClassLoader.findClassOnClassPathOrNull(BuiltinClassLoader.java:760) at java.base/jdk.internal.loader.BuiltinClassLoader.loadClassOrNull(BuiltinClassLoader.java:681) at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:639) at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:188) at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:520) at com.ninjasquad.springmockk.MockkContextCustomizer.customizeContext(MockkContextCustomizer.kt:21) at org.springframework.boot.test.context.SpringBootContextLoader$ContextCustomizerAdapter.initialize(SpringBootContextLoader.java:435) at org.springframework.boot.SpringApplication.applyInitializers(SpringApplication.java:606) at org.springframework.boot.SpringApplication.prepareContext(SpringApplication.java:386) ``` In order to fix this issue, upgraded the ninja-squad dependency from 2.0.3 to 4.0.2 for the compatibility with Spring boot 3.x and Java 17+. https://github.com/Ninja-Squad/springmockk?tab=readme-ov-file#versions-compatibility
- Loading branch information