From f8709a20a6c906526f9711ed83c80446b00d343f Mon Sep 17 00:00:00 2001
From: "Stanislav_Riabokon@epam.com" <Stanislav_Riabokon@epam.com>
Date: Tue, 1 Aug 2023 15:43:29 +0300
Subject: [PATCH] Migration a service part to JDK 17

---
 pom.xml                                       |  9 ++-
 provider/storage-aws/README.md                |  6 +-
 provider/storage-aws/build-aws/Dockerfile     |  2 +-
 provider/storage-aws/build-aws/buildspec.yaml |  2 +-
 provider/storage-aws/build-aws/entrypoint.sh  |  3 -
 provider/storage-aws/pom.xml                  | 10 ++-
 .../aws/api/UserAccessServiceTest.java        | 16 ++---
 provider/storage-azure/README.md              |  4 +-
 provider/storage-azure/pom.xml                | 16 ++++-
 provider/storage-byoc/pom.xml                 | 28 +++++++--
 .../provider/byoc/api/SchemaApiTest.java      |  1 +
 provider/storage-gc/README.md                 |  6 +-
 .../cloudbuild/Dockerfile.cloudbuild          |  2 +-
 provider/storage-gc/pom.xml                   | 16 ++---
 provider/storage-ibm/pom.xml                  | 10 ++-
 storage-core/pom.xml                          | 29 ++++++---
 .../storage/service/BatchServiceImpl.java     | 28 +++------
 .../opengroup/osdu/storage/api/ApiTest.java   | 11 +---
 .../osdu/storage/api/PatchApiTest.java        |  4 +-
 .../osdu/storage/api/QueryApiTest.java        | 27 +++-----
 .../osdu/storage/api/RecordApiTest.java       | 27 +++-----
 .../conversion/ConversionServiceTest.java     |  2 +-
 .../conversion/CrsConversionServiceTest.java  | 24 ++++----
 .../osdu/storage/logging/AuditLoggerTest.java |  2 +-
 .../osdu/storage/logging/JaxRsDpsLogTest.java | 12 ++--
 .../logging/ReadAuditLogsConsumerTest.java    | 61 +++++++++++--------
 .../osdu/storage/opa/OPAServiceImplTest.java  |  2 +-
 .../BulkUpdateRecordServiceImplTest.java      |  9 +--
 .../service/DataAuthorizationServiceTest.java |  6 +-
 .../EntitlementsAndCacheServiceImplTest.java  | 12 ++--
 .../service/IngestionServiceImplTest.java     | 13 ++--
 .../storage/service/LegalServiceImplTest.java | 17 +++---
 .../service/PatchRecordsServiceImplTest.java  | 27 ++------
 .../service/PersistenceServiceImplTest.java   | 11 ++--
 .../service/RecordServiceImplTest.java        | 25 +++-----
 .../service/SchemaServiceImplTest.java        | 35 +++++------
 .../util/GlobalOtherExceptionMapperTest.java  |  3 +-
 .../osdu/storage/util/RecordBlocksTest.java   | 16 +----
 .../MetadataPatchValidatorTest.java           | 22 +++----
 39 files changed, 259 insertions(+), 297 deletions(-)

diff --git a/pom.xml b/pom.xml
index bb633af94..c792b32d9 100644
--- a/pom.xml
+++ b/pom.xml
@@ -22,9 +22,9 @@
 	<description>Root Storage Service project</description>
 
 	<properties>
-		<java.version>1.8</java.version>
-		<maven.compiler.target>1.8</maven.compiler.target>
-		<maven.compiler.source>1.8</maven.compiler.source>
+		<java.version>17</java.version>
+		<maven.compiler.target>17</maven.compiler.target>
+		<maven.compiler.source>17</maven.compiler.source>
 		<docker.image.prefix>opendes</docker.image.prefix>
 		<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
 		<os-core-common.version>0.23.0-rc1</os-core-common.version>
@@ -133,8 +133,7 @@
 		<dependency>
 			<groupId>org.projectlombok</groupId>
 			<artifactId>lombok</artifactId>
-			<version>1.18.8</version>
-			<scope>provided</scope>
+			<version>1.18.28</version>
 		</dependency>
 		
 		
diff --git a/provider/storage-aws/README.md b/provider/storage-aws/README.md
index 4fbb82deb..2f51fa240 100644
--- a/provider/storage-aws/README.md
+++ b/provider/storage-aws/README.md
@@ -9,9 +9,9 @@ These instructions will get you a copy of the project up and running on your loc
 ### Prerequisites
 Pre-requisites
 
-* JDK 8 (https://docs.aws.amazon.com/corretto/latest/corretto-8-ug/downloads-list.html)
+* JDK 17 (https://docs.aws.amazon.com/corretto/latest/corretto-17-ug/downloads-list.html)
 * Maven 3.8.3 or later
-* Lombok 1.16 or later
+* Lombok 1.28 or later
 * OSDU Instance deployed on AWS
 
 ### Service Configuration
@@ -49,7 +49,7 @@ example:
 $ mvn --version
 Apache Maven 3.8.3 (ff8e977a158738155dc465c6a97ffaf31982d739)
 Maven home: /usr/local/Cellar/maven/3.8.3/libexec
-Java version: 1.8.0_312, vendor: Amazon.com Inc., runtime: /Library/Java/JavaVirtualMachines/amazon-corretto-8.jdk/Contents/Home/jre
+Java version: 17.0.7
 ...
 ```
 
diff --git a/provider/storage-aws/build-aws/Dockerfile b/provider/storage-aws/build-aws/Dockerfile
index df97310e9..753434acd 100644
--- a/provider/storage-aws/build-aws/Dockerfile
+++ b/provider/storage-aws/build-aws/Dockerfile
@@ -13,7 +13,7 @@
 # limitations under the License.
 
 # https://docs.spring.io/spring-boot/docs/current/reference/html/deployment.html
-FROM amazoncorretto:8
+FROM amazoncorretto:17
 
 ARG JAR_FILE=provider/storage-aws/target/*spring-boot.jar
 
diff --git a/provider/storage-aws/build-aws/buildspec.yaml b/provider/storage-aws/build-aws/buildspec.yaml
index 7a0347668..a4cb9f475 100644
--- a/provider/storage-aws/build-aws/buildspec.yaml
+++ b/provider/storage-aws/build-aws/buildspec.yaml
@@ -30,7 +30,7 @@ env:
 phases:
   install:
     runtime-versions:
-      java: corretto8
+      java: corretto17
     commands:
       # fix error noted here: https://github.com/yarnpkg/yarn/issues/7866
       - curl -sS https://dl.yarnpkg.com/debian/pubkey.gpg | apt-key add -
diff --git a/provider/storage-aws/build-aws/entrypoint.sh b/provider/storage-aws/build-aws/entrypoint.sh
index 412f71afd..6b4b3b53f 100755
--- a/provider/storage-aws/build-aws/entrypoint.sh
+++ b/provider/storage-aws/build-aws/entrypoint.sh
@@ -1,4 +1 @@
-
-
-
 java $JAVA_OPTS -jar /app.jar
\ No newline at end of file
diff --git a/provider/storage-aws/pom.xml b/provider/storage-aws/pom.xml
index 2621de0ec..18bd742f4 100644
--- a/provider/storage-aws/pom.xml
+++ b/provider/storage-aws/pom.xml
@@ -32,6 +32,9 @@
     <packaging>jar</packaging>
 
     <properties>
+        <java.version>17</java.version>
+        <maven.compiler.target>17</maven.compiler.target>
+        <maven.compiler.source>17</maven.compiler.source>
         <aws.version>1.11.1018</aws.version>
         <deployment.environment>dev</deployment.environment>
         <version.number>0.23.0-SNAPSHOT</version.number>
@@ -152,11 +155,6 @@
             <version>3.9.0</version>
             <scope>test</scope>
         </dependency>
-        <dependency>
-            <groupId>org.powermock</groupId>
-            <artifactId>powermock-module-junit4</artifactId>
-            <version>2.0.2</version>
-        </dependency>
         <dependency>
             <groupId>org.springframework.boot</groupId>
             <artifactId>spring-boot-starter-test</artifactId>
@@ -179,7 +177,7 @@
             <plugin>
                 <groupId>org.springframework.boot</groupId>
                 <artifactId>spring-boot-maven-plugin</artifactId>
-                <version>2.7.4</version>
+                <version>3.0.0</version>
                 <executions>
                     <execution>
                         <goals>
diff --git a/provider/storage-aws/src/test/java/org/opengroup/osdu/storage/provider/aws/api/UserAccessServiceTest.java b/provider/storage-aws/src/test/java/org/opengroup/osdu/storage/provider/aws/api/UserAccessServiceTest.java
index 3fcd00314..2fd1d21fa 100644
--- a/provider/storage-aws/src/test/java/org/opengroup/osdu/storage/provider/aws/api/UserAccessServiceTest.java
+++ b/provider/storage-aws/src/test/java/org/opengroup/osdu/storage/provider/aws/api/UserAccessServiceTest.java
@@ -21,25 +21,21 @@ import org.junit.runner.RunWith;
 import org.mockito.InjectMocks;
 import org.mockito.Mock;
 import org.mockito.Mockito;
-import org.powermock.reflect.Whitebox;
 import org.mockito.junit.MockitoJUnitRunner;
-import org.opengroup.osdu.core.common.cache.ICache;
+import org.opengroup.osdu.core.common.entitlements.IEntitlementsFactory;
 import org.opengroup.osdu.core.common.entitlements.IEntitlementsService;
 import org.opengroup.osdu.core.common.model.entitlements.Acl;
-import org.opengroup.osdu.core.common.model.entitlements.EntitlementsException;
 import org.opengroup.osdu.core.common.model.entitlements.GroupInfo;
 import org.opengroup.osdu.core.common.model.entitlements.Groups;
-import org.opengroup.osdu.core.common.entitlements.IEntitlementsFactory;
 import org.opengroup.osdu.core.common.model.http.DpsHeaders;
 import org.opengroup.osdu.core.common.model.storage.RecordMetadata;
 import org.opengroup.osdu.storage.StorageApplication;
 import org.opengroup.osdu.storage.provider.aws.cache.GroupCache;
 import org.opengroup.osdu.storage.provider.aws.security.UserAccessService;
-
 import org.opengroup.osdu.storage.provider.aws.util.CacheHelper;
 import org.opengroup.osdu.storage.service.EntitlementsAndCacheServiceImpl;
-
 import org.springframework.boot.test.context.SpringBootTest;
+import org.springframework.test.util.ReflectionTestUtils;
 
 import java.util.ArrayList;
 import java.util.List;
@@ -68,10 +64,10 @@ public class UserAccessServiceTest {
         record.setUser("not a user");
 
         CacheHelper cacheHelper = Mockito.mock(CacheHelper.class);
-        Whitebox.setInternalState(CUT, "cacheHelper", cacheHelper);
+        ReflectionTestUtils.setField(CUT, "cacheHelper", cacheHelper);
 
         GroupCache cache = Mockito.mock(GroupCache.class);
-        Whitebox.setInternalState(CUT, "cache", cache);
+        ReflectionTestUtils.setField(CUT, "cache", cache);
 
         IEntitlementsService entitlementsService = Mockito.mock(IEntitlementsService.class);
         Groups groups = new Groups();
@@ -85,12 +81,12 @@ public class UserAccessServiceTest {
         Mockito.when(entitlementsExtension.getGroups(Mockito.any())).thenReturn(groups);
 
         IEntitlementsFactory factory = Mockito.mock(IEntitlementsFactory.class);
-        Whitebox.setInternalState(CUT, "entitlementsFactory", factory);
+        ReflectionTestUtils.setField(CUT, "entitlementsFactory", factory);
 
         Mockito.when(entitlementsExtension.getGroups(Mockito.any())).thenReturn(groups);
 
         DpsHeaders dpsHeaders = Mockito.mock(DpsHeaders.class);
-        Whitebox.setInternalState(CUT, "dpsHeaders", dpsHeaders);
+        ReflectionTestUtils.setField(CUT, "dpsHeaders", dpsHeaders);
     }
 
     @Test
diff --git a/provider/storage-azure/README.md b/provider/storage-azure/README.md
index b5c779798..912549e10 100644
--- a/provider/storage-azure/README.md
+++ b/provider/storage-azure/README.md
@@ -9,7 +9,7 @@ os-storage-azure is a [Spring Boot](https://spring.io/projects/spring-boot) serv
 In order to run this service locally, you will need the following:
 
 - [Maven 3.6.0+](https://maven.apache.org/download.cgi)
-- [AdoptOpenJDK8](https://adoptopenjdk.net/)
+- [AdoptOpenJDK17](https://adoptopenjdk.net/)
 - Infrastructure dependencies, deployable through the relevant [infrastructure template](https://dev.azure.com/slb-des-ext-collaboration/open-data-ecosystem/_git/infrastructure-templates?path=%2Finfra&version=GBmaster&_a=contents)
 - While not a strict dependency, example commands in this document use [bash](https://www.gnu.org/software/bash/)
 
@@ -94,7 +94,7 @@ Check that maven is installed:
 $ mvn --version
 Apache Maven 3.6.0
 Maven home: /usr/share/maven
-Java version: 1.8.0_212, vendor: AdoptOpenJDK, runtime: /usr/lib/jvm/jdk8u212-b04/jre
+Java version: 17.0.7
 ...
 ```
 
diff --git a/provider/storage-azure/pom.xml b/provider/storage-azure/pom.xml
index 8482822f4..8fe47e278 100644
--- a/provider/storage-azure/pom.xml
+++ b/provider/storage-azure/pom.xml
@@ -29,6 +29,9 @@
     <packaging>jar</packaging>
     <version>0.23.0-SNAPSHOT</version>
     <properties>
+        <java.version>17</java.version>
+        <maven.compiler.target>17</maven.compiler.target>
+        <maven.compiler.source>17</maven.compiler.source>
         <azure.appservice.resourcegroup />
         <azure.appservice.plan />
         <azure.appservice.appname />
@@ -37,11 +40,17 @@
         <osdu.storage-core.version>0.23.0-SNAPSHOT</osdu.storage-core.version>
         <junit.version>4.12</junit.version>
         <mockito.version>1.10.19</mockito.version>
-        <powermock.version>2.0.2</powermock.version>
         <nimbus-jose-jwt-azure.version>8.20.1</nimbus-jose-jwt-azure.version>
         <azure-storage-blob.version>12.10.2</azure-storage-blob.version>
         <azure-spring-data-cosmos.version>3.21.0</azure-spring-data-cosmos.version>
         <spring-webmvc.version>5.3.22</spring-webmvc.version>
+        <argLine>
+            --add-opens=java.base/java.util=ALL-UNNAMED
+            --add-opens java.base/java.lang=ALL-UNNAMED
+            --add-opens java.base/java.lang.reflect=ALL-UNNAMED
+            --add-opens java.base/java.text=ALL-UNNAMED
+            --add-opens jdk.compiler/com.sun.tools.javac.processing=ALL-UNNAMED
+        </argLine>
     </properties>
 
     <dependencyManagement>
@@ -199,6 +208,7 @@
         <dependency>
             <groupId>org.projectlombok</groupId>
             <artifactId>lombok</artifactId>
+            <version>1.18.22</version>
         </dependency>
         <dependency>
             <groupId>junit</groupId>
@@ -240,7 +250,7 @@
             <plugin>
                 <groupId>org.springframework.boot</groupId>
                 <artifactId>spring-boot-maven-plugin</artifactId>
-                <version>2.7.4</version>
+                <version>3.0.0</version>
                 <executions>
                     <execution>
                         <goals>
@@ -287,7 +297,7 @@
             <plugin>
                 <groupId>org.jacoco</groupId>
                 <artifactId>jacoco-maven-plugin</artifactId>
-                <version>0.8.3</version>
+                <version>0.8.10</version>
                 <executions>
                 <execution>
                     <goals>
diff --git a/provider/storage-byoc/pom.xml b/provider/storage-byoc/pom.xml
index 7f985ae7a..1eee1589a 100644
--- a/provider/storage-byoc/pom.xml
+++ b/provider/storage-byoc/pom.xml
@@ -28,6 +28,12 @@
     <description>Bring-Your-Own-Cloud backed up by in-memory data structures</description>
     <packaging>jar</packaging>
 
+    <properties>
+        <java.version>17</java.version>
+        <maven.compiler.target>17</maven.compiler.target>
+        <maven.compiler.source>17</maven.compiler.source>
+    </properties>
+
     <dependencies>
         <dependency>
             <groupId>org.opengroup.osdu</groupId>
@@ -56,14 +62,28 @@
             <scope>test</scope>
         </dependency>
         <dependency>
-            <groupId>org.powermock</groupId>
-            <artifactId>powermock-module-junit4</artifactId>
-            <version>2.0.2</version>
+            <groupId>org.mockito</groupId>
+            <artifactId>mockito-core</artifactId>
+            <version>3.11.2</version>
         </dependency>
         <dependency>
             <groupId>org.springframework.boot</groupId>
             <artifactId>spring-boot-starter-test</artifactId>
             <scope>test</scope>
+            <exclusions>
+                <exclusion>
+                    <groupId>org.junit</groupId>
+                    <artifactId>junit</artifactId>
+                </exclusion>
+                <exclusion>
+                    <groupId>org.mockito</groupId>
+                    <artifactId>mockito-core</artifactId>
+                </exclusion>
+                <exclusion>
+                    <groupId>org.mockito</groupId>
+                    <artifactId>mockito-all</artifactId>
+                </exclusion>
+            </exclusions>
         </dependency>
         <dependency>
             <groupId>org.springframework.security</groupId>
@@ -77,7 +97,7 @@
             <plugin>
                 <groupId>org.springframework.boot</groupId>
                 <artifactId>spring-boot-maven-plugin</artifactId>
-                <version>2.7.4</version>
+                <version>3.0.0</version>
                 <executions>
                     <execution>
                         <goals>
diff --git a/provider/storage-byoc/src/test/java/org/opengroup/osdu/storage/provider/byoc/api/SchemaApiTest.java b/provider/storage-byoc/src/test/java/org/opengroup/osdu/storage/provider/byoc/api/SchemaApiTest.java
index 7d08e1a49..0a2c76990 100644
--- a/provider/storage-byoc/src/test/java/org/opengroup/osdu/storage/provider/byoc/api/SchemaApiTest.java
+++ b/provider/storage-byoc/src/test/java/org/opengroup/osdu/storage/provider/byoc/api/SchemaApiTest.java
@@ -36,6 +36,7 @@ import org.springframework.http.HttpStatus;
 import org.springframework.security.authentication.AuthenticationCredentialsNotFoundException;
 import org.springframework.security.test.context.support.WithMockUser;
 import org.springframework.test.context.junit4.SpringRunner;
+
 import static org.mockito.MockitoAnnotations.initMocks;
 
 @RunWith(SpringRunner.class)
diff --git a/provider/storage-gc/README.md b/provider/storage-gc/README.md
index 5b58ee1b9..d4e2f8951 100644
--- a/provider/storage-gc/README.md
+++ b/provider/storage-gc/README.md
@@ -42,8 +42,8 @@ In the current version, the mappers are equipped with several drivers to the sto
 ### Requirements:
 
 1. Mandatory
-   - JDK 8
-   - Lombok 1.16 or later
+   - JDK 17
+   - Lombok 1.28 or later
    - Maven
 2. For Google Cloud only
    - GCloud SDK with java (latest version)
@@ -63,7 +63,7 @@ Check that maven is installed:
 $ mvn --version
 Apache Maven 3.6.0
 Maven home: /usr/share/maven
-Java version: 1.8.0_212, vendor: AdoptOpenJDK, runtime: /usr/lib/jvm/jdk8u212-b04/jre
+Java version: 17.0.7
 ...
 ```
 
diff --git a/provider/storage-gc/cloudbuild/Dockerfile.cloudbuild b/provider/storage-gc/cloudbuild/Dockerfile.cloudbuild
index b00b361bf..a10c353c8 100644
--- a/provider/storage-gc/cloudbuild/Dockerfile.cloudbuild
+++ b/provider/storage-gc/cloudbuild/Dockerfile.cloudbuild
@@ -1,4 +1,4 @@
-FROM azul/zulu-openjdk:8-latest
+FROM azul/zulu-openjdk:17-latest
 
 WORKDIR /app
 
diff --git a/provider/storage-gc/pom.xml b/provider/storage-gc/pom.xml
index 0d2273114..d1c65e90c 100644
--- a/provider/storage-gc/pom.xml
+++ b/provider/storage-gc/pom.xml
@@ -33,9 +33,9 @@
   <packaging>jar</packaging>
 
   <properties>
-    <java.version>1.8</java.version>
-    <maven.compiler.target>1.8</maven.compiler.target>
-    <maven.compiler.source>1.8</maven.compiler.source>
+    <java.version>17</java.version>
+    <maven.compiler.target>17</maven.compiler.target>
+    <maven.compiler.source>17</maven.compiler.source>
     <log4j.version>2.17.1</log4j.version>
     <spring-webmvc.version>5.3.22</spring-webmvc.version>
   </properties>
@@ -137,12 +137,6 @@
       <version>4.12</version>
       <scope>test</scope>
     </dependency>
-    <dependency>
-      <groupId>org.powermock</groupId>
-      <artifactId>powermock-api-mockito2</artifactId>
-      <version>2.0.9</version>
-      <scope>test</scope>
-    </dependency>
   </dependencies>
 
   <build>
@@ -151,7 +145,7 @@
       <plugin>
         <groupId>org.springframework.boot</groupId>
         <artifactId>spring-boot-maven-plugin</artifactId>
-        <version>2.7.4</version>
+        <version>3.0.0</version>
         <configuration>
           <profiles>
             <profile>
@@ -196,7 +190,7 @@
       <plugin>
         <groupId>org.jacoco</groupId>
         <artifactId>jacoco-maven-plugin</artifactId>
-        <version>0.7.7.201606060606</version>
+        <version>0.8.10</version>
         <executions>
           <execution>
             <goals>
diff --git a/provider/storage-ibm/pom.xml b/provider/storage-ibm/pom.xml
index ceeef6161..26ac1b1ef 100644
--- a/provider/storage-ibm/pom.xml
+++ b/provider/storage-ibm/pom.xml
@@ -26,6 +26,9 @@
 	<packaging>jar</packaging>
 
 	<properties>
+		<java.version>17</java.version>
+		<maven.compiler.target>17</maven.compiler.target>
+		<maven.compiler.source>17</maven.compiler.source>
 		<os-core-lib-ibm.version>0.17.0-rc4</os-core-lib-ibm.version>
 		<start-class>org.opengroup.osdu.storage.provider.ibm.app.StorageIBMApplication</start-class>
 		<jackson-dataformat-cbor.version>2.11.4</jackson-dataformat-cbor.version>
@@ -76,11 +79,6 @@
 			<version>1.10.19</version>
 			<scope>test</scope>
 		</dependency>
-		<dependency>
-			<groupId>org.powermock</groupId>
-			<artifactId>powermock-module-junit4</artifactId>
-			<version>2.0.2</version>
-		</dependency>
 		<dependency>
 			<groupId>org.springframework.boot</groupId>
 			<artifactId>spring-boot-starter-test</artifactId>
@@ -114,7 +112,7 @@
 			<plugin>
 				<groupId>org.springframework.boot</groupId>
 				<artifactId>spring-boot-maven-plugin</artifactId>
-				<version>2.1.9.RELEASE</version>
+				<version>3.0.0</version>
 				<configuration>
 					<mainClass>${start-class}</mainClass>
 				</configuration>
diff --git a/storage-core/pom.xml b/storage-core/pom.xml
index 1a17e558a..d38fddf1e 100644
--- a/storage-core/pom.xml
+++ b/storage-core/pom.xml
@@ -30,11 +30,17 @@
 	</parent>
 
 	<properties>
-		<java.version>1.8</java.version>
-		<maven.compiler.target>1.8</maven.compiler.target>
-		<maven.compiler.source>1.8</maven.compiler.source>
+		<java.version>17</java.version>
+		<maven.compiler.target>17</maven.compiler.target>
+		<maven.compiler.source>17</maven.compiler.source>
 		<os-core-common.version>0.23.0-rc1</os-core-common.version>
 		<spring-webmvc.version>5.3.22</spring-webmvc.version>
+		<argLine>
+			--add-opens=java.base/java.util=ALL-UNNAMED
+			--add-opens java.base/java.lang=ALL-UNNAMED
+			--add-opens java.base/java.lang.reflect=ALL-UNNAMED
+			--add-opens java.base/java.text=ALL-UNNAMED
+		</argLine>
 	</properties>
 
 	<dependencyManagement>
@@ -88,6 +94,7 @@
 		<dependency>
 			<groupId>com.google.code.gson</groupId>
 			<artifactId>gson</artifactId>
+			<version>2.10.1</version>
 		</dependency>
 
 		<dependency>
@@ -122,21 +129,27 @@
 			<version>4.12</version>
 			<scope>test</scope>
 		</dependency>
-		<!-- https://mvnrepository.com/artifact/org.powermock/powermock-api-mockito2 -->
+		<!--&lt;!&ndash; https://mvnrepository.com/artifact/org.powermock/powermock-api-mockito2 &ndash;&gt;
 		<dependency>
 			<groupId>org.powermock</groupId>
 			<artifactId>powermock-api-mockito2</artifactId>
 			<version>2.0.2</version>
 			<scope>test</scope>
-		</dependency>
+		</dependency>-->
 		<!-- https://mvnrepository.com/artifact/org.powermock/powermock-module-junit4 -->
 
 		<dependency>
+			<groupId>org.mockito</groupId>
+			<artifactId>mockito-all</artifactId>
+			<version>2.0.2-beta</version>
+		</dependency>
+
+		<!--<dependency>
 			<groupId>org.mockito</groupId>
 			<artifactId>mockito-core</artifactId>
-			<version>3.0.0</version>
+			<version>4.11.0</version>
 			<scope>test</scope>
-		</dependency>
+		</dependency>-->
 
     </dependencies>
 
@@ -145,7 +158,7 @@
 			<plugin>
 				<groupId>org.springframework.boot</groupId>
 				<artifactId>spring-boot-maven-plugin</artifactId>
-				<version>2.7.4</version>
+				<version>3.0.0</version>
 				<executions>
 					<execution>
 						<goals>
diff --git a/storage-core/src/main/java/org/opengroup/osdu/storage/service/BatchServiceImpl.java b/storage-core/src/main/java/org/opengroup/osdu/storage/service/BatchServiceImpl.java
index adff7b705..1ea3c3ae7 100644
--- a/storage-core/src/main/java/org/opengroup/osdu/storage/service/BatchServiceImpl.java
+++ b/storage-core/src/main/java/org/opengroup/osdu/storage/service/BatchServiceImpl.java
@@ -14,33 +14,21 @@
 
 package org.opengroup.osdu.storage.service;
 
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-import java.util.Optional;
-import java.util.stream.Collectors;
-import java.util.function.Consumer;
-
-import com.google.gson.Gson;
-import com.google.gson.JsonElement;
-import com.google.gson.JsonNull;
-import com.google.gson.JsonObject;
-import com.google.gson.JsonParser;
+import com.google.common.base.Strings;
+import com.google.gson.*;
 import org.apache.http.HttpStatus;
+import org.opengroup.osdu.core.common.crs.CrsConverterClientFactory;
 import org.opengroup.osdu.core.common.logging.JaxRsDpsLog;
+import org.opengroup.osdu.core.common.model.crs.RecordsAndStatuses;
 import org.opengroup.osdu.core.common.model.http.AppException;
 import org.opengroup.osdu.core.common.model.http.CollaborationContext;
 import org.opengroup.osdu.core.common.model.http.DpsHeaders;
-import org.opengroup.osdu.core.common.model.crs.RecordsAndStatuses;
-import org.opengroup.osdu.core.common.crs.CrsConverterClientFactory;
 import org.opengroup.osdu.core.common.model.indexer.OperationType;
+import org.opengroup.osdu.core.common.model.storage.Record;
 import org.opengroup.osdu.core.common.model.storage.*;
-import org.opengroup.osdu.storage.logging.StorageAuditLogger;
 import org.opengroup.osdu.core.common.storage.PersistenceHelper;
-
-import com.google.common.base.Strings;
 import org.opengroup.osdu.storage.conversion.DpsConversionService;
+import org.opengroup.osdu.storage.logging.StorageAuditLogger;
 import org.opengroup.osdu.storage.opa.model.ValidationOutputRecord;
 import org.opengroup.osdu.storage.opa.service.IOPAService;
 import org.opengroup.osdu.storage.provider.interfaces.ICloudStorage;
@@ -49,6 +37,10 @@ import org.opengroup.osdu.storage.util.CollaborationUtil;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Value;
 
+import java.util.*;
+import java.util.function.Consumer;
+import java.util.stream.Collectors;
+
 
 public abstract class BatchServiceImpl implements BatchService {
 
diff --git a/storage-core/src/test/java/org/opengroup/osdu/storage/api/ApiTest.java b/storage-core/src/test/java/org/opengroup/osdu/storage/api/ApiTest.java
index 9dc0e1973..579499071 100644
--- a/storage-core/src/test/java/org/opengroup/osdu/storage/api/ApiTest.java
+++ b/storage-core/src/test/java/org/opengroup/osdu/storage/api/ApiTest.java
@@ -29,16 +29,7 @@ import org.opengroup.osdu.core.common.model.http.DpsHeaders;
 import org.opengroup.osdu.storage.conversion.CrsConversionService;
 import org.opengroup.osdu.storage.logging.ReadAuditLogsConsumer;
 import org.opengroup.osdu.storage.policy.service.PartitionPolicyStatusService;
-import org.opengroup.osdu.storage.service.BulkUpdateRecordServiceImpl;
-import org.opengroup.osdu.storage.service.DataAuthorizationService;
-import org.opengroup.osdu.storage.service.IngestionServiceImpl;
-import org.opengroup.osdu.storage.service.LegalServiceImpl;
-import org.opengroup.osdu.storage.service.PartitionServiceImpl;
-import org.opengroup.osdu.storage.service.PatchRecordsServiceImpl;
-import org.opengroup.osdu.storage.service.PersistenceServiceImpl;
-import org.opengroup.osdu.storage.service.QueryServiceImpl;
-import org.opengroup.osdu.storage.service.RecordServiceImpl;
-import org.opengroup.osdu.storage.service.SchemaServiceImpl;
+import org.opengroup.osdu.storage.service.*;
 import org.opengroup.osdu.storage.util.RecordBlocks;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.boot.test.mock.mockito.MockBean;
diff --git a/storage-core/src/test/java/org/opengroup/osdu/storage/api/PatchApiTest.java b/storage-core/src/test/java/org/opengroup/osdu/storage/api/PatchApiTest.java
index 811da1025..49cb60b7a 100644
--- a/storage-core/src/test/java/org/opengroup/osdu/storage/api/PatchApiTest.java
+++ b/storage-core/src/test/java/org/opengroup/osdu/storage/api/PatchApiTest.java
@@ -5,7 +5,6 @@ import org.junit.Test;
 import org.junit.runner.RunWith;
 import org.mockito.InjectMocks;
 import org.mockito.Mock;
-
 import org.mockito.junit.MockitoJUnitRunner;
 import org.opengroup.osdu.core.common.http.CollaborationContextFactory;
 import org.opengroup.osdu.core.common.model.http.CollaborationContext;
@@ -20,14 +19,13 @@ import org.springframework.http.HttpStatus;
 import org.springframework.http.ResponseEntity;
 
 import javax.inject.Provider;
-
 import java.util.ArrayList;
 import java.util.List;
 import java.util.Optional;
 import java.util.UUID;
 
 import static org.junit.Assert.assertEquals;
-import static org.mockito.Matchers.eq;
+import static org.mockito.ArgumentMatchers.eq;
 import static org.mockito.Mockito.when;
 import static org.mockito.MockitoAnnotations.initMocks;
 
diff --git a/storage-core/src/test/java/org/opengroup/osdu/storage/api/QueryApiTest.java b/storage-core/src/test/java/org/opengroup/osdu/storage/api/QueryApiTest.java
index 8f6934cc6..14773da9b 100644
--- a/storage-core/src/test/java/org/opengroup/osdu/storage/api/QueryApiTest.java
+++ b/storage-core/src/test/java/org/opengroup/osdu/storage/api/QueryApiTest.java
@@ -14,33 +14,17 @@
 
 package org.opengroup.osdu.storage.api;
 
-import static org.junit.Assert.*;
-import static org.mockito.Matchers.eq;
-import static org.mockito.Mockito.when;
-
-import java.lang.reflect.Method;
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.Base64;
-import java.util.List;
-import java.util.Optional;
-import java.util.UUID;
-
+import com.google.common.collect.Lists;
 import org.apache.http.HttpStatus;
 import org.junit.Test;
 import org.junit.runner.RunWith;
 import org.mockito.InjectMocks;
 import org.mockito.Mock;
-
-import com.google.common.collect.Lists;
 import org.mockito.Spy;
 import org.mockito.junit.MockitoJUnitRunner;
 import org.opengroup.osdu.core.common.http.CollaborationContextFactory;
 import org.opengroup.osdu.core.common.model.http.CollaborationContext;
-import org.opengroup.osdu.core.common.model.storage.MultiRecordIds;
-import org.opengroup.osdu.core.common.model.storage.MultiRecordInfo;
-import org.opengroup.osdu.core.common.model.storage.StorageRole;
-import org.opengroup.osdu.core.common.model.storage.DatastoreQueryResult;
+import org.opengroup.osdu.core.common.model.storage.Record;
 import org.opengroup.osdu.core.common.model.storage.*;
 import org.opengroup.osdu.storage.di.SchemaEndpointsConfig;
 import org.opengroup.osdu.storage.service.BatchService;
@@ -48,6 +32,13 @@ import org.opengroup.osdu.storage.util.EncodeDecode;
 import org.springframework.http.ResponseEntity;
 import org.springframework.security.access.prepost.PreAuthorize;
 
+import java.lang.reflect.Method;
+import java.util.*;
+
+import static org.junit.Assert.*;
+import static org.mockito.ArgumentMatchers.eq;
+import static org.mockito.Mockito.when;
+
 @RunWith(MockitoJUnitRunner.Silent.class)
 public class QueryApiTest {
     private final Optional<CollaborationContext> COLLABORATION_CONTEXT = Optional.ofNullable(CollaborationContext.builder().id(UUID.fromString("9e1c4e74-3b9b-4b17-a0d5-67766558ec65")).application("TestApp").build());
diff --git a/storage-core/src/test/java/org/opengroup/osdu/storage/api/RecordApiTest.java b/storage-core/src/test/java/org/opengroup/osdu/storage/api/RecordApiTest.java
index dbfa7f2fd..36be46abb 100644
--- a/storage-core/src/test/java/org/opengroup/osdu/storage/api/RecordApiTest.java
+++ b/storage-core/src/test/java/org/opengroup/osdu/storage/api/RecordApiTest.java
@@ -14,23 +14,6 @@
 
 package org.opengroup.osdu.storage.api;
 
-import static java.util.Collections.singletonList;
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertFalse;
-import static org.junit.Assert.assertNotNull;
-import static org.junit.Assert.assertTrue;
-import static org.mockito.Matchers.eq;
-import static org.mockito.Mockito.doNothing;
-import static org.mockito.Mockito.when;
-import static org.mockito.MockitoAnnotations.initMocks;
-
-import java.lang.reflect.Method;
-import java.util.ArrayList;
-import java.util.List;
-import java.util.Optional;
-import java.util.Random;
-import java.util.UUID;
-
 import org.apache.http.HttpStatus;
 import org.junit.Before;
 import org.junit.Test;
@@ -54,6 +37,16 @@ import org.opengroup.osdu.storage.service.RecordService;
 import org.springframework.http.ResponseEntity;
 import org.springframework.security.access.prepost.PreAuthorize;
 
+import java.lang.reflect.Method;
+import java.util.*;
+
+import static java.util.Collections.singletonList;
+import static org.junit.Assert.*;
+import static org.mockito.ArgumentMatchers.eq;
+import static org.mockito.Mockito.doNothing;
+import static org.mockito.Mockito.when;
+import static org.mockito.MockitoAnnotations.initMocks;
+
 @RunWith(MockitoJUnitRunner.Silent.class)
 public class RecordApiTest {
 
diff --git a/storage-core/src/test/java/org/opengroup/osdu/storage/conversion/ConversionServiceTest.java b/storage-core/src/test/java/org/opengroup/osdu/storage/conversion/ConversionServiceTest.java
index 011d614c7..6b03e0576 100644
--- a/storage-core/src/test/java/org/opengroup/osdu/storage/conversion/ConversionServiceTest.java
+++ b/storage-core/src/test/java/org/opengroup/osdu/storage/conversion/ConversionServiceTest.java
@@ -33,7 +33,7 @@ import org.opengroup.osdu.core.common.model.storage.ConversionStatus;
 import java.util.ArrayList;
 import java.util.List;
 
-import static org.mockito.Matchers.any;
+import static org.mockito.ArgumentMatchers.any;
 import static org.mockito.Mockito.verify;
 import static org.mockito.Mockito.when;
 import static org.opengroup.osdu.storage.conversion.CrsConversionServiceErrorMessages.UNEXPECTED_DATA_FORMAT_JSON_OBJECT;
diff --git a/storage-core/src/test/java/org/opengroup/osdu/storage/conversion/CrsConversionServiceTest.java b/storage-core/src/test/java/org/opengroup/osdu/storage/conversion/CrsConversionServiceTest.java
index 80ed659f3..3517c07b9 100644
--- a/storage-core/src/test/java/org/opengroup/osdu/storage/conversion/CrsConversionServiceTest.java
+++ b/storage-core/src/test/java/org/opengroup/osdu/storage/conversion/CrsConversionServiceTest.java
@@ -16,32 +16,30 @@ package org.opengroup.osdu.storage.conversion;
 
 import com.google.gson.JsonObject;
 import com.google.gson.JsonParser;
-import org.apache.http.client.config.RequestConfig;
-import org.opengroup.osdu.core.common.crs.CrsConversionServiceErrorMessages;
-import org.opengroup.osdu.core.common.model.crs.*;
-import org.opengroup.osdu.core.common.model.storage.ConversionStatus;
-import org.opengroup.osdu.core.common.model.crs.CrsPropertySet;
-import org.opengroup.osdu.core.common.model.crs.RecordsAndStatuses;
-import org.opengroup.osdu.core.common.logging.JaxRsDpsLog;
-import org.opengroup.osdu.core.common.util.IServiceAccountJwtClient;
-import org.opengroup.osdu.storage.di.CrsConversionConfig;
-import org.opengroup.osdu.storage.di.SpringConfig;
 import org.apache.http.HttpStatus;
+import org.apache.http.client.config.RequestConfig;
 import org.junit.Assert;
 import org.junit.Before;
 import org.junit.Test;
 import org.junit.runner.RunWith;
 import org.mockito.InjectMocks;
 import org.mockito.Mock;
-import org.opengroup.osdu.core.common.model.http.DpsHeaders;
+import org.mockito.junit.MockitoJUnitRunner;
+import org.opengroup.osdu.core.common.crs.CrsConversionServiceErrorMessages;
 import org.opengroup.osdu.core.common.crs.CrsConverterFactory;
 import org.opengroup.osdu.core.common.crs.CrsConverterService;
 import org.opengroup.osdu.core.common.http.HttpResponse;
-import org.mockito.junit.MockitoJUnitRunner;
+import org.opengroup.osdu.core.common.logging.JaxRsDpsLog;
+import org.opengroup.osdu.core.common.model.crs.*;
+import org.opengroup.osdu.core.common.model.http.DpsHeaders;
+import org.opengroup.osdu.core.common.model.storage.ConversionStatus;
+import org.opengroup.osdu.core.common.util.IServiceAccountJwtClient;
+import org.opengroup.osdu.storage.di.CrsConversionConfig;
+import org.opengroup.osdu.storage.di.SpringConfig;
 
 import java.util.*;
 
-import static org.mockito.Matchers.any;
+import static org.mockito.ArgumentMatchers.any;
 import static org.mockito.Mockito.when;
 
 @RunWith(MockitoJUnitRunner.class)
diff --git a/storage-core/src/test/java/org/opengroup/osdu/storage/logging/AuditLoggerTest.java b/storage-core/src/test/java/org/opengroup/osdu/storage/logging/AuditLoggerTest.java
index d906e8958..0bc1e8fe5 100644
--- a/storage-core/src/test/java/org/opengroup/osdu/storage/logging/AuditLoggerTest.java
+++ b/storage-core/src/test/java/org/opengroup/osdu/storage/logging/AuditLoggerTest.java
@@ -14,7 +14,7 @@
 
 package org.opengroup.osdu.storage.logging;
 
-import static org.mockito.Matchers.any;
+import static org.mockito.ArgumentMatchers.any;
 import static org.mockito.Mockito.times;
 import static org.mockito.Mockito.verify;
 import static org.mockito.Mockito.when;
diff --git a/storage-core/src/test/java/org/opengroup/osdu/storage/logging/JaxRsDpsLogTest.java b/storage-core/src/test/java/org/opengroup/osdu/storage/logging/JaxRsDpsLogTest.java
index aa130c3d9..11e1f5d0a 100644
--- a/storage-core/src/test/java/org/opengroup/osdu/storage/logging/JaxRsDpsLogTest.java
+++ b/storage-core/src/test/java/org/opengroup/osdu/storage/logging/JaxRsDpsLogTest.java
@@ -14,23 +14,23 @@
 
 package org.opengroup.osdu.storage.logging;
 
-import static org.mockito.Matchers.any;
-import static org.mockito.Matchers.eq;
-import static org.mockito.Mockito.verify;
-
 import org.junit.Before;
 import org.junit.Test;
 import org.junit.runner.RunWith;
 import org.mockito.InjectMocks;
 import org.mockito.Mock;
-import org.opengroup.osdu.core.common.model.http.DpsHeaders;
-import org.opengroup.osdu.core.common.model.http.Request;
 import org.mockito.junit.MockitoJUnitRunner;
 import org.opengroup.osdu.core.common.logging.ILogger;
 import org.opengroup.osdu.core.common.logging.JaxRsDpsLog;
 import org.opengroup.osdu.core.common.logging.audit.AuditPayload;
+import org.opengroup.osdu.core.common.model.http.DpsHeaders;
+import org.opengroup.osdu.core.common.model.http.Request;
 import org.springframework.test.util.ReflectionTestUtils;
 
+import static org.mockito.ArgumentMatchers.any;
+import static org.mockito.ArgumentMatchers.eq;
+import static org.mockito.Mockito.verify;
+
 @RunWith(MockitoJUnitRunner.class)
 public class JaxRsDpsLogTest {
 
diff --git a/storage-core/src/test/java/org/opengroup/osdu/storage/logging/ReadAuditLogsConsumerTest.java b/storage-core/src/test/java/org/opengroup/osdu/storage/logging/ReadAuditLogsConsumerTest.java
index 0e108086a..f483997ce 100644
--- a/storage-core/src/test/java/org/opengroup/osdu/storage/logging/ReadAuditLogsConsumerTest.java
+++ b/storage-core/src/test/java/org/opengroup/osdu/storage/logging/ReadAuditLogsConsumerTest.java
@@ -29,11 +29,14 @@ import org.opengroup.osdu.core.common.model.http.DpsHeaders;
 import org.opengroup.osdu.core.common.partition.PartitionInfo;
 import org.opengroup.osdu.core.common.partition.Property;
 import org.opengroup.osdu.storage.service.IPartitionService;
-import org.powermock.reflect.Whitebox;
+import org.springframework.test.util.ReflectionTestUtils;
 
 import java.util.HashMap;
 import java.util.Map;
 
+import static org.mockito.Mockito.verify;
+import static org.mockito.Mockito.verifyNoMoreInteractions;
+
 @RunWith(MockitoJUnitRunner.Silent.class)
 public class ReadAuditLogsConsumerTest {
 
@@ -47,10 +50,11 @@ public class ReadAuditLogsConsumerTest {
     @InjectMocks
     private ReadAuditLogsConsumer readAuditLogsConsumer;
 
+    private ICache<String, Boolean> readAuditLogSwitchCache;
+
     @Before
     public void setup() {
-        ICache<String, Boolean> readAuditLogSwitchCache = new VmCache<>(60, 2);
-        Whitebox.setInternalState(readAuditLogsConsumer, "readAuditLogSwitchCache", readAuditLogSwitchCache);
+        readAuditLogSwitchCache = new VmCache<>(60, 2);
     }
 
     @Test
@@ -58,12 +62,12 @@ public class ReadAuditLogsConsumerTest {
         Mockito.when(dpsHeaders.getPartitionId()).thenReturn("dp");
         ICache<String, Boolean> readAuditLogSwitchCache = new VmCache<>(100, 1);
         readAuditLogSwitchCache.put("is-read-audit-logs-enabled-dp", true);
-        Whitebox.setInternalState(readAuditLogsConsumer, "readAuditLogSwitchCache", readAuditLogSwitchCache);
+        ReflectionTestUtils.setField(readAuditLogsConsumer,"readAuditLogSwitchCache", readAuditLogSwitchCache);
         AuditPayload auditPayload = Mockito.mock(AuditPayload.class);
         readAuditLogsConsumer.accept(auditPayload);
 
-        Mockito.verify(logger).audit(auditPayload);
-        Mockito.verifyZeroInteractions(partitionService);
+        verify(logger).audit(auditPayload);
+        verifyNoMoreInteractions(partitionService);
     }
 
     @Test
@@ -71,11 +75,12 @@ public class ReadAuditLogsConsumerTest {
         Mockito.when(dpsHeaders.getPartitionId()).thenReturn("dp");
         ICache<String, Boolean> readAuditLogSwitchCache = new VmCache<>(100, 1);
         readAuditLogSwitchCache.put("is-read-audit-logs-enabled-dp", false);
-        Whitebox.setInternalState(readAuditLogsConsumer, "readAuditLogSwitchCache", readAuditLogSwitchCache);
         AuditPayload auditPayload = Mockito.mock(AuditPayload.class);
+        ReflectionTestUtils.setField(readAuditLogsConsumer,"readAuditLogSwitchCache", readAuditLogSwitchCache);
+
         readAuditLogsConsumer.accept(auditPayload);
 
-        Mockito.verifyZeroInteractions(logger, partitionService);
+        verifyNoMoreInteractions(logger, partitionService);
     }
 
     @Test
@@ -90,12 +95,14 @@ public class ReadAuditLogsConsumerTest {
         Mockito.when(partitionService.getPartition("dp")).thenReturn(partitionInfo);
         Mockito.when(dpsHeaders.getPartitionId()).thenReturn("dp");
         AuditPayload auditPayload = Mockito.mock(AuditPayload.class);
+        ReflectionTestUtils.setField(readAuditLogsConsumer,"readAuditLogSwitchCache", readAuditLogSwitchCache);
+
         readAuditLogsConsumer.accept(auditPayload);
 
-        Mockito.verify(partitionService).getPartition("dp");
-        Mockito.verify(dpsHeaders, Mockito.times(3)).getPartitionId();
-        Mockito.verify(logger).info("PartitionInfo of dp has is-read-audit-logs-enabled flag as false");
-        Mockito.verifyNoMoreInteractions(logger);
+        verify(partitionService).getPartition("dp");
+        verify(dpsHeaders, Mockito.times(3)).getPartitionId();
+        verify(logger).info("PartitionInfo of dp has is-read-audit-logs-enabled flag as false");
+        verifyNoMoreInteractions(logger);
     }
 
     @Test
@@ -110,12 +117,14 @@ public class ReadAuditLogsConsumerTest {
         Mockito.when(partitionService.getPartition("dp")).thenReturn(partitionInfo);
         Mockito.when(dpsHeaders.getPartitionId()).thenReturn("dp");
         AuditPayload auditPayload = Mockito.mock(AuditPayload.class);
+        ReflectionTestUtils.setField(readAuditLogsConsumer,"readAuditLogSwitchCache", readAuditLogSwitchCache);
+
         readAuditLogsConsumer.accept(auditPayload);
 
-        Mockito.verify(partitionService).getPartition("dp");
-        Mockito.verify(dpsHeaders, Mockito.times(2)).getPartitionId();
-        Mockito.verify(logger).audit(auditPayload);
-        Mockito.verifyNoMoreInteractions(logger);
+        verify(partitionService).getPartition("dp");
+        verify(dpsHeaders, Mockito.times(2)).getPartitionId();
+        verify(logger).audit(auditPayload);
+        verifyNoMoreInteractions(logger);
     }
 
     @Test
@@ -130,15 +139,16 @@ public class ReadAuditLogsConsumerTest {
         Mockito.when(partitionService.getPartition("dp")).thenReturn(partitionInfo);
         Mockito.when(dpsHeaders.getPartitionId()).thenReturn("dp");
         AuditPayload auditPayload = Mockito.mock(AuditPayload.class);
+        ReflectionTestUtils.setField(readAuditLogsConsumer,"readAuditLogSwitchCache", readAuditLogSwitchCache);
 
         readAuditLogsConsumer.accept(auditPayload);
         // on second time should use cached value
         readAuditLogsConsumer.accept(auditPayload);
 
-        Mockito.verify(partitionService).getPartition("dp");
-        Mockito.verify(dpsHeaders, Mockito.times(4)).getPartitionId();
-        Mockito.verify(logger).info("PartitionInfo of dp has is-read-audit-logs-enabled flag as false");
-        Mockito.verifyNoMoreInteractions(logger);
+        verify(partitionService).getPartition("dp");
+        verify(dpsHeaders, Mockito.times(4)).getPartitionId();
+        verify(logger).info("PartitionInfo of dp has is-read-audit-logs-enabled flag as false");
+        verifyNoMoreInteractions(logger);
     }
 
     @Test
@@ -153,15 +163,16 @@ public class ReadAuditLogsConsumerTest {
         Mockito.when(partitionService.getPartition("dp")).thenReturn(partitionInfo);
         Mockito.when(dpsHeaders.getPartitionId()).thenReturn("dp");
         AuditPayload auditPayload = Mockito.mock(AuditPayload.class);
+        ReflectionTestUtils.setField(readAuditLogsConsumer,"readAuditLogSwitchCache", readAuditLogSwitchCache);
 
         readAuditLogsConsumer.accept(auditPayload);
         // on second time should use cached value
         readAuditLogsConsumer.accept(auditPayload);
 
-        Mockito.verify(partitionService).getPartition("dp");
-        Mockito.verify(dpsHeaders, Mockito.times(4)).getPartitionId();
-        Mockito.verify(logger).info("PartitionInfo of dp has is-read-audit-logs-enabled flag as true");
-        Mockito.verify(logger, Mockito.times(2)).audit(auditPayload);
-        Mockito.verifyNoMoreInteractions(logger);
+        verify(partitionService).getPartition("dp");
+        verify(dpsHeaders, Mockito.times(4)).getPartitionId();
+        verify(logger).info("PartitionInfo of dp has is-read-audit-logs-enabled flag as true");
+        verify(logger, Mockito.times(2)).audit(auditPayload);
+        verifyNoMoreInteractions(logger);
     }
 }
diff --git a/storage-core/src/test/java/org/opengroup/osdu/storage/opa/OPAServiceImplTest.java b/storage-core/src/test/java/org/opengroup/osdu/storage/opa/OPAServiceImplTest.java
index 30461acff..e97a05f34 100644
--- a/storage-core/src/test/java/org/opengroup/osdu/storage/opa/OPAServiceImplTest.java
+++ b/storage-core/src/test/java/org/opengroup/osdu/storage/opa/OPAServiceImplTest.java
@@ -30,7 +30,7 @@ import java.util.List;
 
 import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.fail;
-import static org.mockito.Matchers.any;
+import static org.mockito.ArgumentMatchers.any;
 import static org.mockito.Mockito.times;
 import static org.mockito.Mockito.verify;
 import static org.mockito.Mockito.when;
diff --git a/storage-core/src/test/java/org/opengroup/osdu/storage/service/BulkUpdateRecordServiceImplTest.java b/storage-core/src/test/java/org/opengroup/osdu/storage/service/BulkUpdateRecordServiceImplTest.java
index 8648d1bdc..61cc2abf0 100644
--- a/storage-core/src/test/java/org/opengroup/osdu/storage/service/BulkUpdateRecordServiceImplTest.java
+++ b/storage-core/src/test/java/org/opengroup/osdu/storage/service/BulkUpdateRecordServiceImplTest.java
@@ -38,12 +38,7 @@ import org.opengroup.osdu.storage.validation.api.PatchOperationValidator;
 import org.springframework.test.util.ReflectionTestUtils;
 
 import java.time.Clock;
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-import java.util.Optional;
-import java.util.UUID;
+import java.util.*;
 
 import static java.util.Collections.emptyList;
 import static java.util.Collections.singletonList;
@@ -254,7 +249,7 @@ public class BulkUpdateRecordServiceImplTest {
 
         BulkUpdateRecordsResponse actualResponse = service.bulkUpdateRecords(param, TEST_USER, COLLABORATION_CONTEXT);
 
-        verifyZeroInteractions(entitlementsAndCacheService, headers, persistenceService);
+        verifyNoMoreInteractions(entitlementsAndCacheService, headers, persistenceService);
         verify(auditLogger, only()).createOrUpdateRecordsFail(TEST_IDS);
 
         assertTrue(actualResponse.getRecordIds().isEmpty());
diff --git a/storage-core/src/test/java/org/opengroup/osdu/storage/service/DataAuthorizationServiceTest.java b/storage-core/src/test/java/org/opengroup/osdu/storage/service/DataAuthorizationServiceTest.java
index 463dd2022..6554ce642 100644
--- a/storage-core/src/test/java/org/opengroup/osdu/storage/service/DataAuthorizationServiceTest.java
+++ b/storage-core/src/test/java/org/opengroup/osdu/storage/service/DataAuthorizationServiceTest.java
@@ -18,10 +18,12 @@ import org.opengroup.osdu.storage.policy.service.PartitionPolicyStatusService;
 import org.opengroup.osdu.storage.provider.interfaces.ICloudStorage;
 import org.springframework.test.util.ReflectionTestUtils;
 
-import java.util.*;
+import java.util.Arrays;
+import java.util.HashMap;
+import java.util.Map;
 
 import static org.junit.Assert.assertTrue;
-import static org.mockito.Matchers.any;
+import static org.mockito.ArgumentMatchers.any;
 import static org.mockito.Mockito.*;
 
 @RunWith(MockitoJUnitRunner.class)
diff --git a/storage-core/src/test/java/org/opengroup/osdu/storage/service/EntitlementsAndCacheServiceImplTest.java b/storage-core/src/test/java/org/opengroup/osdu/storage/service/EntitlementsAndCacheServiceImplTest.java
index 0cc894ab0..7cf2f4156 100644
--- a/storage-core/src/test/java/org/opengroup/osdu/storage/service/EntitlementsAndCacheServiceImplTest.java
+++ b/storage-core/src/test/java/org/opengroup/osdu/storage/service/EntitlementsAndCacheServiceImplTest.java
@@ -21,17 +21,17 @@ import org.junit.runner.RunWith;
 import org.mockito.InjectMocks;
 import org.mockito.Mock;
 import org.mockito.junit.MockitoJUnitRunner;
-import org.opengroup.osdu.core.common.model.entitlements.Acl;
-import org.opengroup.osdu.core.common.model.http.DpsHeaders;
 import org.opengroup.osdu.core.common.cache.ICache;
+import org.opengroup.osdu.core.common.entitlements.IEntitlementsFactory;
+import org.opengroup.osdu.core.common.entitlements.IEntitlementsService;
+import org.opengroup.osdu.core.common.http.HttpResponse;
+import org.opengroup.osdu.core.common.logging.JaxRsDpsLog;
+import org.opengroup.osdu.core.common.model.entitlements.Acl;
 import org.opengroup.osdu.core.common.model.entitlements.EntitlementsException;
 import org.opengroup.osdu.core.common.model.entitlements.GroupInfo;
 import org.opengroup.osdu.core.common.model.entitlements.Groups;
 import org.opengroup.osdu.core.common.model.http.AppException;
-import org.opengroup.osdu.core.common.http.HttpResponse;
-import org.opengroup.osdu.core.common.entitlements.IEntitlementsFactory;
-import org.opengroup.osdu.core.common.entitlements.IEntitlementsService;
-import org.opengroup.osdu.core.common.logging.JaxRsDpsLog;
+import org.opengroup.osdu.core.common.model.http.DpsHeaders;
 import org.opengroup.osdu.core.common.model.storage.RecordMetadata;
 
 import java.util.*;
diff --git a/storage-core/src/test/java/org/opengroup/osdu/storage/service/IngestionServiceImplTest.java b/storage-core/src/test/java/org/opengroup/osdu/storage/service/IngestionServiceImplTest.java
index 9a17f7cd6..effd8a743 100644
--- a/storage-core/src/test/java/org/opengroup/osdu/storage/service/IngestionServiceImplTest.java
+++ b/storage-core/src/test/java/org/opengroup/osdu/storage/service/IngestionServiceImplTest.java
@@ -28,26 +28,27 @@ import org.mockito.Spy;
 import org.mockito.junit.MockitoJUnitRunner;
 import org.opengroup.osdu.core.common.entitlements.IEntitlementsFactory;
 import org.opengroup.osdu.core.common.entitlements.IEntitlementsService;
+import org.opengroup.osdu.core.common.legal.ILegalService;
 import org.opengroup.osdu.core.common.logging.JaxRsDpsLog;
+import org.opengroup.osdu.core.common.model.entitlements.Acl;
 import org.opengroup.osdu.core.common.model.entitlements.EntitlementsException;
 import org.opengroup.osdu.core.common.model.entitlements.GroupInfo;
 import org.opengroup.osdu.core.common.model.entitlements.Groups;
 import org.opengroup.osdu.core.common.model.http.AppException;
-import org.opengroup.osdu.core.common.model.entitlements.Acl;
 import org.opengroup.osdu.core.common.model.http.DpsHeaders;
+import org.opengroup.osdu.core.common.model.indexer.OperationType;
 import org.opengroup.osdu.core.common.model.legal.Legal;
+import org.opengroup.osdu.core.common.model.storage.Record;
+import org.opengroup.osdu.core.common.model.storage.*;
+import org.opengroup.osdu.core.common.model.tenant.TenantInfo;
 import org.opengroup.osdu.core.common.partition.PartitionException;
 import org.opengroup.osdu.core.common.provider.interfaces.ITenantFactory;
-import org.opengroup.osdu.core.common.model.tenant.TenantInfo;
-import org.opengroup.osdu.core.common.model.indexer.OperationType;
-import org.opengroup.osdu.core.common.model.storage.*;
 import org.opengroup.osdu.storage.logging.StorageAuditLogger;
 import org.opengroup.osdu.storage.opa.model.OpaError;
 import org.opengroup.osdu.storage.opa.model.ValidationOutputRecord;
 import org.opengroup.osdu.storage.opa.service.IOPAService;
 import org.opengroup.osdu.storage.provider.interfaces.ICloudStorage;
 import org.opengroup.osdu.storage.provider.interfaces.IRecordsMetadataRepository;
-import org.opengroup.osdu.core.common.legal.ILegalService;
 import org.opengroup.osdu.storage.util.CrcHashGenerator;
 import org.opengroup.osdu.storage.util.RecordBlocks;
 import org.opengroup.osdu.storage.util.api.RecordUtil;
@@ -56,7 +57,7 @@ import org.springframework.test.util.ReflectionTestUtils;
 import java.util.*;
 
 import static org.junit.Assert.*;
-import static org.mockito.Matchers.any;
+import static org.mockito.ArgumentMatchers.any;
 import static org.mockito.Mockito.*;
 
 @RunWith(MockitoJUnitRunner.Silent.class)
diff --git a/storage-core/src/test/java/org/opengroup/osdu/storage/service/LegalServiceImplTest.java b/storage-core/src/test/java/org/opengroup/osdu/storage/service/LegalServiceImplTest.java
index 3022d73a2..db71d22ef 100644
--- a/storage-core/src/test/java/org/opengroup/osdu/storage/service/LegalServiceImplTest.java
+++ b/storage-core/src/test/java/org/opengroup/osdu/storage/service/LegalServiceImplTest.java
@@ -16,8 +16,6 @@ package org.opengroup.osdu.storage.service;
 
 import com.google.common.collect.Lists;
 import com.google.common.collect.Sets;
-import org.apache.commons.lang3.tuple.ImmutablePair;
-import org.apache.commons.lang3.tuple.Pair;
 import org.apache.http.HttpStatus;
 import org.junit.Before;
 import org.junit.Test;
@@ -25,15 +23,18 @@ import org.junit.runner.RunWith;
 import org.mockito.InjectMocks;
 import org.mockito.Mock;
 import org.mockito.junit.MockitoJUnitRunner;
-import org.opengroup.osdu.core.common.logging.JaxRsDpsLog;
-import org.opengroup.osdu.core.common.model.http.DpsHeaders;
 import org.opengroup.osdu.core.common.cache.ICache;
-import org.opengroup.osdu.core.common.model.legal.*;
-import org.opengroup.osdu.core.common.model.storage.*;
-import org.opengroup.osdu.core.common.model.http.AppException;
 import org.opengroup.osdu.core.common.http.HttpResponse;
 import org.opengroup.osdu.core.common.legal.ILegalFactory;
 import org.opengroup.osdu.core.common.legal.ILegalProvider;
+import org.opengroup.osdu.core.common.logging.JaxRsDpsLog;
+import org.opengroup.osdu.core.common.model.http.AppException;
+import org.opengroup.osdu.core.common.model.http.DpsHeaders;
+import org.opengroup.osdu.core.common.model.legal.*;
+import org.opengroup.osdu.core.common.model.storage.Record;
+import org.opengroup.osdu.core.common.model.storage.RecordAncestry;
+import org.opengroup.osdu.core.common.model.storage.RecordIdWithVersion;
+import org.opengroup.osdu.core.common.model.storage.RecordMetadata;
 
 import java.util.HashMap;
 import java.util.List;
@@ -41,7 +42,7 @@ import java.util.Map;
 import java.util.Set;
 
 import static org.junit.Assert.*;
-import static org.mockito.Matchers.any;
+import static org.mockito.ArgumentMatchers.any;
 import static org.mockito.Mockito.*;
 
 @RunWith(MockitoJUnitRunner.Silent.class)
diff --git a/storage-core/src/test/java/org/opengroup/osdu/storage/service/PatchRecordsServiceImplTest.java b/storage-core/src/test/java/org/opengroup/osdu/storage/service/PatchRecordsServiceImplTest.java
index 5242b48be..71f7a3de0 100644
--- a/storage-core/src/test/java/org/opengroup/osdu/storage/service/PatchRecordsServiceImplTest.java
+++ b/storage-core/src/test/java/org/opengroup/osdu/storage/service/PatchRecordsServiceImplTest.java
@@ -13,11 +13,8 @@ import org.opengroup.osdu.core.common.model.http.CollaborationContext;
 import org.opengroup.osdu.core.common.model.http.DpsHeaders;
 import org.opengroup.osdu.core.common.model.indexer.OperationType;
 import org.opengroup.osdu.core.common.model.legal.Legal;
-import org.opengroup.osdu.core.common.model.storage.MultiRecordIds;
-import org.opengroup.osdu.core.common.model.storage.MultiRecordInfo;
 import org.opengroup.osdu.core.common.model.storage.Record;
-import org.opengroup.osdu.core.common.model.storage.RecordMetadata;
-import org.opengroup.osdu.core.common.model.storage.TransferInfo;
+import org.opengroup.osdu.core.common.model.storage.*;
 import org.opengroup.osdu.storage.logging.StorageAuditLogger;
 import org.opengroup.osdu.storage.opa.service.IOPAService;
 import org.opengroup.osdu.storage.provider.interfaces.IRecordsMetadataRepository;
@@ -27,30 +24,16 @@ import org.opengroup.osdu.storage.validation.api.PatchInputValidator;
 import org.springframework.test.util.ReflectionTestUtils;
 
 import java.io.IOException;
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.Collections;
-import java.util.HashMap;
-import java.util.HashSet;
-import java.util.LinkedList;
-import java.util.List;
-import java.util.Map;
-import java.util.Optional;
+import java.util.*;
 
 import static org.hamcrest.MatcherAssert.assertThat;
 import static org.hamcrest.Matchers.contains;
-import static org.hamcrest.Matchers.containsInAnyOrder;
-import static org.hamcrest.Matchers.is;
+import static org.hamcrest.Matchers.*;
 import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertTrue;
 import static org.mockito.ArgumentMatchers.any;
-import static org.mockito.ArgumentMatchers.anyList;
-import static org.mockito.ArgumentMatchers.anyMap;
-import static org.mockito.ArgumentMatchers.eq;
-import static org.mockito.Mockito.never;
-import static org.mockito.Mockito.times;
-import static org.mockito.Mockito.verify;
-import static org.mockito.Mockito.when;
+import static org.mockito.ArgumentMatchers.*;
+import static org.mockito.Mockito.*;
 
 @RunWith(MockitoJUnitRunner.Silent.class)
 public class PatchRecordsServiceImplTest {
diff --git a/storage-core/src/test/java/org/opengroup/osdu/storage/service/PersistenceServiceImplTest.java b/storage-core/src/test/java/org/opengroup/osdu/storage/service/PersistenceServiceImplTest.java
index 444514c1a..eb2122875 100644
--- a/storage-core/src/test/java/org/opengroup/osdu/storage/service/PersistenceServiceImplTest.java
+++ b/storage-core/src/test/java/org/opengroup/osdu/storage/service/PersistenceServiceImplTest.java
@@ -16,6 +16,7 @@ package org.opengroup.osdu.storage.service;
 
 import com.fasterxml.jackson.databind.ObjectMapper;
 import com.github.fge.jsonpatch.JsonPatch;
+import org.apache.http.HttpStatus;
 import org.junit.Before;
 import org.junit.Ignore;
 import org.junit.Test;
@@ -27,17 +28,17 @@ import org.mockito.junit.MockitoJUnitRunner;
 import org.opengroup.osdu.core.common.feature.IFeatureFlag;
 import org.opengroup.osdu.core.common.logging.JaxRsDpsLog;
 import org.opengroup.osdu.core.common.model.entitlements.Acl;
+import org.opengroup.osdu.core.common.model.http.AppException;
 import org.opengroup.osdu.core.common.model.http.CollaborationContext;
 import org.opengroup.osdu.core.common.model.http.DpsHeaders;
-import org.opengroup.osdu.core.common.model.tenant.TenantInfo;
 import org.opengroup.osdu.core.common.model.indexer.OperationType;
+import org.opengroup.osdu.core.common.model.storage.Record;
 import org.opengroup.osdu.core.common.model.storage.*;
-import org.opengroup.osdu.core.common.model.http.AppException;
+import org.opengroup.osdu.core.common.model.tenant.TenantInfo;
 import org.opengroup.osdu.storage.model.RecordChangedV2;
 import org.opengroup.osdu.storage.provider.interfaces.ICloudStorage;
 import org.opengroup.osdu.storage.provider.interfaces.IMessageBus;
 import org.opengroup.osdu.storage.provider.interfaces.IRecordsMetadataRepository;
-import org.apache.http.HttpStatus;
 
 import java.io.ByteArrayInputStream;
 import java.io.IOException;
@@ -45,8 +46,8 @@ import java.io.InputStream;
 import java.util.*;
 
 import static org.junit.Assert.*;
-import static org.mockito.Matchers.any;
-import static org.mockito.Matchers.eq;
+import static org.mockito.ArgumentMatchers.any;
+import static org.mockito.ArgumentMatchers.eq;
 import static org.mockito.Mockito.*;
 import static org.opengroup.osdu.storage.util.RecordConstants.COLLABORATIONS_FEATURE_NAME;
 
diff --git a/storage-core/src/test/java/org/opengroup/osdu/storage/service/RecordServiceImplTest.java b/storage-core/src/test/java/org/opengroup/osdu/storage/service/RecordServiceImplTest.java
index ecb0c750c..1326092d9 100644
--- a/storage-core/src/test/java/org/opengroup/osdu/storage/service/RecordServiceImplTest.java
+++ b/storage-core/src/test/java/org/opengroup/osdu/storage/service/RecordServiceImplTest.java
@@ -14,13 +14,6 @@
 
 package org.opengroup.osdu.storage.service;
 
-import static java.util.Arrays.asList;
-import static java.util.Collections.singletonList;
-import static org.junit.Assert.*;
-import static org.mockito.Matchers.any;
-import static org.mockito.Matchers.eq;
-import static org.mockito.Mockito.*;
-
 import com.google.common.collect.Lists;
 import org.apache.http.HttpStatus;
 import org.junit.Before;
@@ -52,12 +45,14 @@ import org.opengroup.osdu.storage.provider.interfaces.IRecordsMetadataRepository
 import org.opengroup.osdu.storage.util.RecordConstants;
 import org.opengroup.osdu.storage.util.api.RecordUtil;
 
-import java.util.Arrays;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-import java.util.Optional;
-import java.util.UUID;
+import java.util.*;
+
+import static java.util.Arrays.asList;
+import static java.util.Collections.singletonList;
+import static org.junit.Assert.*;
+import static org.mockito.ArgumentMatchers.any;
+import static org.mockito.ArgumentMatchers.eq;
+import static org.mockito.Mockito.*;
 
 @RunWith(MockitoJUnitRunner.Silent.class)
 public class RecordServiceImplTest {
@@ -468,7 +463,7 @@ public class RecordServiceImplTest {
             verify(dataAuthorizationService, only()).validateOwnerAccess(record, OperationType.delete);
             verify(recordRepository, never()).createOrUpdate(any(), any());
             verify(auditLogger, only()).deleteRecordFail(singletonList(errorMsg));
-            verifyZeroInteractions(pubSubClient);
+            verifyNoMoreInteractions(pubSubClient);
 
 
             assertEquals(1, e.getNotDeletedRecords().size());
@@ -532,7 +527,7 @@ public class RecordServiceImplTest {
             assertEquals("Invalid record id", e.getError().getReason());
             assertEquals(errorMsg, e.getError().getMessage());
 
-            verifyZeroInteractions(recordRepository, entitlementsAndCacheService, auditLogger, pubSubClient);
+            verifyNoMoreInteractions(recordRepository, entitlementsAndCacheService, auditLogger, pubSubClient);
         } catch (Exception e) {
             fail("Should not get different exception");
         }
diff --git a/storage-core/src/test/java/org/opengroup/osdu/storage/service/SchemaServiceImplTest.java b/storage-core/src/test/java/org/opengroup/osdu/storage/service/SchemaServiceImplTest.java
index e609bd52c..9271f10f5 100644
--- a/storage-core/src/test/java/org/opengroup/osdu/storage/service/SchemaServiceImplTest.java
+++ b/storage-core/src/test/java/org/opengroup/osdu/storage/service/SchemaServiceImplTest.java
@@ -14,35 +14,32 @@
 
 package org.opengroup.osdu.storage.service;
 
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.fail;
-import static org.mockito.Matchers.any;
-import static org.mockito.Mockito.doThrow;
-import static org.mockito.Mockito.verify;
-import static org.mockito.Mockito.when;
-
-import java.util.ConcurrentModificationException;
-import java.util.HashMap;
-
-import org.mockito.junit.MockitoJUnitRunner;
-import org.opengroup.osdu.core.common.feature.IFeatureFlag;
-import org.opengroup.osdu.core.common.model.http.AppException;
-import org.opengroup.osdu.storage.provider.interfaces.IMessageBus;
-import org.opengroup.osdu.storage.provider.interfaces.ISchemaRepository;
 import org.apache.http.HttpStatus;
 import org.junit.Test;
 import org.junit.runner.RunWith;
 import org.mockito.InjectMocks;
 import org.mockito.Mock;
-
-import org.opengroup.osdu.storage.logging.StorageAuditLogger;
+import org.mockito.junit.MockitoJUnitRunner;
+import org.opengroup.osdu.core.common.cache.ICache;
+import org.opengroup.osdu.core.common.feature.IFeatureFlag;
+import org.opengroup.osdu.core.common.model.http.AppException;
+import org.opengroup.osdu.core.common.model.http.DpsHeaders;
 import org.opengroup.osdu.core.common.model.indexer.OperationType;
 import org.opengroup.osdu.core.common.model.storage.PubSubInfo;
 import org.opengroup.osdu.core.common.model.storage.Schema;
 import org.opengroup.osdu.core.common.model.storage.SchemaItem;
-import org.opengroup.osdu.core.common.model.http.DpsHeaders;
-import org.opengroup.osdu.core.common.cache.ICache;
 import org.opengroup.osdu.core.common.model.tenant.TenantInfo;
+import org.opengroup.osdu.storage.logging.StorageAuditLogger;
+import org.opengroup.osdu.storage.provider.interfaces.IMessageBus;
+import org.opengroup.osdu.storage.provider.interfaces.ISchemaRepository;
+
+import java.util.ConcurrentModificationException;
+import java.util.HashMap;
+
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.fail;
+import static org.mockito.ArgumentMatchers.any;
+import static org.mockito.Mockito.*;
 
 @RunWith(MockitoJUnitRunner.Silent.class)
 public class SchemaServiceImplTest {
diff --git a/storage-core/src/test/java/org/opengroup/osdu/storage/util/GlobalOtherExceptionMapperTest.java b/storage-core/src/test/java/org/opengroup/osdu/storage/util/GlobalOtherExceptionMapperTest.java
index 33e7b23d2..6e540972e 100644
--- a/storage-core/src/test/java/org/opengroup/osdu/storage/util/GlobalOtherExceptionMapperTest.java
+++ b/storage-core/src/test/java/org/opengroup/osdu/storage/util/GlobalOtherExceptionMapperTest.java
@@ -4,14 +4,13 @@ import org.junit.Test;
 import org.junit.runner.RunWith;
 import org.mockito.InjectMocks;
 import org.mockito.Mock;
-
 import org.mockito.junit.MockitoJUnitRunner;
 import org.opengroup.osdu.core.common.model.http.AppError;
 import org.opengroup.osdu.core.common.model.http.AppException;
 import org.springframework.http.ResponseEntity;
 
 import static org.junit.Assert.assertEquals;
-import static org.mockito.Matchers.any;
+import static org.mockito.ArgumentMatchers.any;
 import static org.mockito.Mockito.when;
 import static org.springframework.http.HttpStatus.INTERNAL_SERVER_ERROR;
 
diff --git a/storage-core/src/test/java/org/opengroup/osdu/storage/util/RecordBlocksTest.java b/storage-core/src/test/java/org/opengroup/osdu/storage/util/RecordBlocksTest.java
index a700a31cb..d53987d79 100644
--- a/storage-core/src/test/java/org/opengroup/osdu/storage/util/RecordBlocksTest.java
+++ b/storage-core/src/test/java/org/opengroup/osdu/storage/util/RecordBlocksTest.java
@@ -17,23 +17,13 @@ import org.opengroup.osdu.core.common.model.entitlements.Groups;
 import org.opengroup.osdu.core.common.model.indexer.OperationType;
 import org.opengroup.osdu.core.common.model.legal.Legal;
 import org.opengroup.osdu.core.common.model.storage.Record;
-import org.opengroup.osdu.core.common.model.storage.RecordAncestry;
-import org.opengroup.osdu.core.common.model.storage.RecordData;
-import org.opengroup.osdu.core.common.model.storage.RecordMetadata;
-import org.opengroup.osdu.core.common.model.storage.RecordProcessing;
-import org.opengroup.osdu.core.common.model.storage.RecordState;
+import org.opengroup.osdu.core.common.model.storage.*;
 import org.opengroup.osdu.storage.provider.interfaces.ICloudStorage;
 
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-import java.util.Optional;
+import java.util.*;
 
 import static org.junit.jupiter.api.Assertions.assertEquals;
-import static org.mockito.Matchers.any;
-import static org.mockito.Matchers.anyBoolean;
-import static org.mockito.Matchers.anyLong;
+import static org.mockito.ArgumentMatchers.*;
 
 @RunWith(MockitoJUnitRunner.Silent.class)
 public class RecordBlocksTest {
diff --git a/storage-core/src/test/java/org/opengroup/osdu/storage/validation/MetadataPatchValidatorTest.java b/storage-core/src/test/java/org/opengroup/osdu/storage/validation/MetadataPatchValidatorTest.java
index bbfe5543d..b5383fd65 100644
--- a/storage-core/src/test/java/org/opengroup/osdu/storage/validation/MetadataPatchValidatorTest.java
+++ b/storage-core/src/test/java/org/opengroup/osdu/storage/validation/MetadataPatchValidatorTest.java
@@ -14,16 +14,6 @@
 
 package org.opengroup.osdu.storage.validation;
 
-import static java.util.Collections.singletonList;
-import static org.mockito.Mockito.doThrow;
-import static org.mockito.Mockito.verifyZeroInteractions;
-import static org.mockito.Mockito.when;
-import static org.opengroup.osdu.storage.util.TestUtils.buildAppExceptionMatcher;
-
-import java.util.Arrays;
-import java.util.HashSet;
-import java.util.List;
-
 import org.junit.Rule;
 import org.junit.Test;
 import org.junit.rules.ExpectedException;
@@ -38,6 +28,14 @@ import org.opengroup.osdu.core.common.model.http.DpsHeaders;
 import org.opengroup.osdu.core.common.model.storage.PatchOperation;
 import org.opengroup.osdu.storage.validation.impl.MetadataPatchValidator;
 
+import java.util.Arrays;
+import java.util.HashSet;
+import java.util.List;
+
+import static java.util.Collections.singletonList;
+import static org.mockito.Mockito.*;
+import static org.opengroup.osdu.storage.util.TestUtils.buildAppExceptionMatcher;
+
 @RunWith(MockitoJUnitRunner.class)
 public class MetadataPatchValidatorTest {
 
@@ -114,7 +112,7 @@ public class MetadataPatchValidatorTest {
 
         validator.validateTags(singletonList(patchOperation));
 
-        verifyZeroInteractions(legalService, entitlementsAndCacheService, headers);
+        verifyNoMoreInteractions(legalService, entitlementsAndCacheService, headers);
     }
 
     @Test
@@ -124,7 +122,7 @@ public class MetadataPatchValidatorTest {
 
         validator.validateTags(singletonList(patchOperation));
 
-        verifyZeroInteractions(legalService, entitlementsAndCacheService, headers);
+        verifyNoMoreInteractions(legalService, entitlementsAndCacheService, headers);
     }
 
     private PatchOperation buildPatchOperation(String path, String[] value) {
-- 
GitLab