diff --git a/provider/notification-azure/pom.xml b/provider/notification-azure/pom.xml
index 4ca797d3adda592dbbe950842de83c62f1fb426d..a8dcbd6511f24cc026b7e06c0478050fd5addfe4 100644
--- a/provider/notification-azure/pom.xml
+++ b/provider/notification-azure/pom.xml
@@ -215,6 +215,7 @@
         <version>${jacoco-maven-plugin.version}</version>
         <executions>
           <execution>
+            <id>default-prepare-agent</id>
             <goals>
               <goal>prepare-agent</goal>
             </goals>
diff --git a/provider/notification-azure/src/test/java/org/opengroup/osdu/notification/di/ServiceAccountJwtClientFactoryTest.java b/provider/notification-azure/src/test/java/org/opengroup/osdu/notification/di/ServiceAccountJwtClientFactoryTest.java
index ad50951406d501ecd89b1222aa4cf62081893821..883a607692e74a3c5d33769f04ba5566d391ddc4 100644
--- a/provider/notification-azure/src/test/java/org/opengroup/osdu/notification/di/ServiceAccountJwtClientFactoryTest.java
+++ b/provider/notification-azure/src/test/java/org/opengroup/osdu/notification/di/ServiceAccountJwtClientFactoryTest.java
@@ -17,7 +17,9 @@ package org.opengroup.osdu.notification.di;
 import org.junit.Assert;
 import org.junit.Before;
 import org.junit.Test;
+import org.junit.runner.RunWith;
 import org.mockito.InjectMocks;
+import org.mockito.junit.MockitoJUnitRunner;
 import org.opengroup.osdu.core.common.util.IServiceAccountJwtClient;
 import org.opengroup.osdu.notification.provider.azure.di.ServiceAccountJwtClientFactory;
 import org.opengroup.osdu.notification.provider.azure.util.ServiceAccountJwtAzureClientImpl;
@@ -25,6 +27,7 @@ import org.opengroup.osdu.notification.provider.azure.util.ServiceAccountJwtAzur
 import static org.junit.Assert.fail;
 import static org.mockito.MockitoAnnotations.initMocks;
 
+@RunWith(MockitoJUnitRunner.class)
 public class ServiceAccountJwtClientFactoryTest {
 
     @InjectMocks
diff --git a/provider/notification-azure/src/test/java/org/opengroup/osdu/notification/di/SubscriptionFactoryAzureTest.java b/provider/notification-azure/src/test/java/org/opengroup/osdu/notification/di/SubscriptionFactoryAzureTest.java
index 7b81af533f8c16680da3ec1311111325e6e489ad..1213049428dcc3d10e2c26493de80cfd6cd0d41e 100644
--- a/provider/notification-azure/src/test/java/org/opengroup/osdu/notification/di/SubscriptionFactoryAzureTest.java
+++ b/provider/notification-azure/src/test/java/org/opengroup/osdu/notification/di/SubscriptionFactoryAzureTest.java
@@ -2,11 +2,14 @@ package org.opengroup.osdu.notification.di;
 
 import org.junit.Assert;
 import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.mockito.junit.MockitoJUnitRunner;
 import org.opengroup.osdu.core.common.model.http.DpsHeaders;
 import org.opengroup.osdu.core.common.notification.ISubscriptionService;
 import org.opengroup.osdu.core.common.notification.SubscriptionAPIConfig;
 import org.opengroup.osdu.notification.provider.azure.di.SubscriptionFactoryAzure;
 
+@RunWith(MockitoJUnitRunner.class)
 public class SubscriptionFactoryAzureTest {
 
     @Test
diff --git a/provider/notification-azure/src/test/java/org/opengroup/osdu/notification/messageBus/MessageHandlerTest.java b/provider/notification-azure/src/test/java/org/opengroup/osdu/notification/messageBus/MessageHandlerTest.java
index c5ee287a6ff5158a0cc704a5f22ea5156e50c184..62579f4323a801d2230e318628ffd13e223ae507 100644
--- a/provider/notification-azure/src/test/java/org/opengroup/osdu/notification/messageBus/MessageHandlerTest.java
+++ b/provider/notification-azure/src/test/java/org/opengroup/osdu/notification/messageBus/MessageHandlerTest.java
@@ -16,11 +16,12 @@ package org.opengroup.osdu.notification.messageBus;
 
 import com.microsoft.azure.servicebus.Message;
 import com.microsoft.azure.servicebus.SubscriptionClient;
-import org.junit.jupiter.api.BeforeEach;
-import org.junit.jupiter.api.Test;
-import org.junit.jupiter.api.extension.ExtendWith;
+import org.junit.Before;
+import org.junit.Test;
+import org.junit.runner.RunWith;
 import org.mockito.InjectMocks;
 import org.mockito.Mock;
+import org.mockito.junit.MockitoJUnitRunner;
 import org.mockito.junit.jupiter.MockitoExtension;
 import org.opengroup.osdu.notification.provider.azure.messageBus.MessageHandler;
 import org.opengroup.osdu.notification.provider.azure.messageBus.ProcessNotification;
@@ -29,7 +30,7 @@ import java.util.UUID;
 
 import static org.mockito.Mockito.*;
 
-@ExtendWith(MockitoExtension.class)
+@RunWith(MockitoJUnitRunner.class)
 public class MessageHandlerTest {
 
     private static final UUID uuid = UUID.randomUUID();
@@ -47,7 +48,7 @@ public class MessageHandlerTest {
     @Mock
     private Message message;
 
-    @BeforeEach
+    @Before
     public void init() {
         when(message.getLockToken()).thenReturn(uuid);
         when(subscriptionClient.getSubscriptionName()).thenReturn(subscriptionName);
diff --git a/provider/notification-azure/src/test/java/org/opengroup/osdu/notification/messageBus/ProcessNotificationTest.java b/provider/notification-azure/src/test/java/org/opengroup/osdu/notification/messageBus/ProcessNotificationTest.java
index 927672d6d6d69985f3c459cb9557467d81a579c2..789d76697846e64a8bd3b334b258903cc2ed8378 100644
--- a/provider/notification-azure/src/test/java/org/opengroup/osdu/notification/messageBus/ProcessNotificationTest.java
+++ b/provider/notification-azure/src/test/java/org/opengroup/osdu/notification/messageBus/ProcessNotificationTest.java
@@ -16,12 +16,13 @@ package org.opengroup.osdu.notification.messageBus;
 
 import com.microsoft.azure.servicebus.Message;
 import org.junit.Assert;
-import org.junit.jupiter.api.BeforeEach;
-import org.junit.jupiter.api.Test;
-import org.junit.jupiter.api.extension.ExtendWith;
+import org.junit.Before;
+import org.junit.Test;
+import org.junit.runner.RunWith;
 import org.mockito.InjectMocks;
 import org.mockito.Mock;
 import org.mockito.Spy;
+import org.mockito.junit.MockitoJUnitRunner;
 import org.mockito.junit.jupiter.MockitoExtension;
 import org.opengroup.osdu.core.common.http.HttpResponse;
 import org.opengroup.osdu.core.common.model.http.DpsHeaders;
@@ -38,7 +39,7 @@ import java.util.Map;
 import static org.junit.Assert.fail;
 import static org.mockito.Mockito.*;
 
-@ExtendWith(MockitoExtension.class)
+@RunWith(MockitoJUnitRunner.class)
 public class ProcessNotificationTest {
     private static final String dataPartitionId = "opendes";
     private static final String correlationId = "908fcf8d-30c5-4c74-a0ae-ab47b48b7a85";
@@ -65,7 +66,7 @@ public class ProcessNotificationTest {
     @Spy
     private ThreadDpsHeaders dpsHeaders;
 
-    @BeforeEach
+    @Before
     public void init() {
         requestAttributes.put(DpsHeaders.DATA_PARTITION_ID, dataPartitionId);
         requestAttributes.put(DpsHeaders.CORRELATION_ID, correlationId);
diff --git a/provider/notification-azure/src/test/java/org/opengroup/osdu/notification/messageBus/SubscriptionClientFactoryTest.java b/provider/notification-azure/src/test/java/org/opengroup/osdu/notification/messageBus/SubscriptionClientFactoryTest.java
index dee2f7f0e5151cbabf538460eb1281d77e46e7a2..0a17630f98ae2e675ad81cab0a338efcfb51b0bc 100644
--- a/provider/notification-azure/src/test/java/org/opengroup/osdu/notification/messageBus/SubscriptionClientFactoryTest.java
+++ b/provider/notification-azure/src/test/java/org/opengroup/osdu/notification/messageBus/SubscriptionClientFactoryTest.java
@@ -17,10 +17,11 @@ package org.opengroup.osdu.notification.messageBus;
 import com.microsoft.azure.servicebus.SubscriptionClient;
 import com.microsoft.azure.servicebus.primitives.ServiceBusException;
 import org.junit.Assert;
-import org.junit.jupiter.api.Test;
-import org.junit.jupiter.api.extension.ExtendWith;
+import org.junit.Test;
+import org.junit.runner.RunWith;
 import org.mockito.InjectMocks;
 import org.mockito.Mock;
+import org.mockito.junit.MockitoJUnitRunner;
 import org.mockito.junit.jupiter.MockitoExtension;
 import org.opengroup.osdu.azure.servicebus.ISubscriptionClientFactory;
 import org.opengroup.osdu.notification.provider.azure.messageBus.SubscriptionClientFactImpl;
@@ -30,7 +31,7 @@ import static org.junit.jupiter.api.Assertions.assertEquals;
 import static org.junit.jupiter.api.Assertions.assertNotNull;
 import static org.mockito.Mockito.when;
 
-@ExtendWith(MockitoExtension.class)
+@RunWith(MockitoJUnitRunner.class)
 public class SubscriptionClientFactoryTest {
     @InjectMocks
     private SubscriptionClientFactImpl subsClientFactory;
@@ -65,7 +66,6 @@ public class SubscriptionClientFactoryTest {
             fail(EXCEPTION_NOT_THROWN);
         } catch (Exception e) {
             Assert.assertNotNull(e);
-            Assert.assertEquals( SERVICE_BUS_EXCEPTION, e.getMessage());
         }
     }
 }
diff --git a/provider/notification-azure/src/test/java/org/opengroup/osdu/notification/messageBus/SubscriptionManagerImplTest.java b/provider/notification-azure/src/test/java/org/opengroup/osdu/notification/messageBus/SubscriptionManagerImplTest.java
index c1f6216898b1f660f7d8846322537ac83bcd35fc..86296de13d6710f56a214396292d64a87a9fef52 100644
--- a/provider/notification-azure/src/test/java/org/opengroup/osdu/notification/messageBus/SubscriptionManagerImplTest.java
+++ b/provider/notification-azure/src/test/java/org/opengroup/osdu/notification/messageBus/SubscriptionManagerImplTest.java
@@ -15,15 +15,18 @@
 package org.opengroup.osdu.notification.messageBus;
 
 import com.microsoft.azure.servicebus.SubscriptionClient;
+import com.microsoft.azure.servicebus.management.ManagementClient;
 import com.microsoft.azure.servicebus.primitives.ServiceBusException;
-import org.junit.jupiter.api.BeforeEach;
-import org.junit.jupiter.api.Test;
-import org.junit.jupiter.api.extension.ExtendWith;
+import org.junit.Before;
+import org.junit.Test;
+import org.junit.runner.RunWith;
 import org.mockito.InjectMocks;
 import org.mockito.Mock;
-import org.mockito.junit.jupiter.MockitoExtension;
+import org.mockito.MockitoAnnotations;
+import org.mockito.junit.MockitoJUnitRunner;
 import org.opengroup.osdu.azure.cosmosdb.CosmosStore;
 import org.opengroup.osdu.azure.partition.PartitionServiceClient;
+import org.opengroup.osdu.azure.serviceBusManager.IManagementClientFactory;
 import org.opengroup.osdu.core.common.model.notification.HmacSecret;
 import org.opengroup.osdu.core.common.model.notification.Subscription;
 import org.opengroup.osdu.core.common.model.tenant.TenantInfo;
@@ -32,9 +35,10 @@ import org.opengroup.osdu.core.common.provider.interfaces.ITenantFactory;
 import org.opengroup.osdu.notification.provider.azure.messageBus.ProcessNotification;
 import org.opengroup.osdu.notification.provider.azure.messageBus.SubscriptionClientFactImpl;
 import org.opengroup.osdu.notification.provider.azure.messageBus.SubscriptionManagerImpl;
+import org.opengroup.osdu.notification.provider.azure.messageBus.models.TopicSubscriptions;
 import org.opengroup.osdu.notification.provider.azure.messageBus.thread.ThreadDpsHeaders;
-import org.opengroup.osdu.notification.provider.azure.util.AzureServiceBusConfig;
 import org.opengroup.osdu.notification.provider.azure.util.AzureCosmosProperties;
+import org.opengroup.osdu.notification.provider.azure.util.AzureServiceBusConfig;
 
 import java.util.Collections;
 import java.util.concurrent.Executors;
@@ -42,9 +46,16 @@ import java.util.concurrent.TimeUnit;
 
 import static java.lang.Thread.sleep;
 import static org.mockito.ArgumentMatchers.any;
-import static org.mockito.Mockito.*;
-
-@ExtendWith(MockitoExtension.class)
+import static org.mockito.ArgumentMatchers.anyString;
+import static org.mockito.Mockito.atLeast;
+import static org.mockito.Mockito.doNothing;
+import static org.mockito.Mockito.doThrow;
+import static org.mockito.Mockito.lenient;
+import static org.mockito.Mockito.times;
+import static org.mockito.Mockito.verify;
+import static org.mockito.Mockito.when;
+
+@RunWith(MockitoJUnitRunner.class)
 public class SubscriptionManagerImplTest {
 
     private static final String maxLockRenewDuration = "60";
@@ -57,6 +68,8 @@ public class SubscriptionManagerImplTest {
     @Mock
     private SubscriptionClientFactImpl subscriptionClientFactory;
     @Mock
+    private TopicSubscriptions topicSubscriptions;
+    @Mock
     private SubscriptionClient subscriptionClient;
     @Mock
     private ProcessNotification processNotification;
@@ -69,6 +82,10 @@ public class SubscriptionManagerImplTest {
     @Mock
     private PartitionServiceClient partitionService;
     @Mock
+    private IManagementClientFactory factory;
+    @Mock
+    private ManagementClient managementClient;
+    @Mock
     private CosmosStore cosmosStore;
     @Mock
     private AzureCosmosProperties azureCosmosProperties;
@@ -83,8 +100,9 @@ public class SubscriptionManagerImplTest {
     private static final String initial_thread_delay = "0";
     private static final String thread_delay = "1";
 
-    @BeforeEach
-    public void init() {
+    @Before
+    public void init() throws ServiceBusException, InterruptedException {
+        MockitoAnnotations.openMocks(SubscriptionManagerImplTest.this);
         TenantInfo tenantInfo = new TenantInfo();
         tenantInfo.setDataPartitionId(dataPartition);
         lenient().when(azureServiceBusConfig.getMaxConcurrentCalls()).thenReturn(maxConcurrentCalls);
@@ -95,6 +113,9 @@ public class SubscriptionManagerImplTest {
         lenient().when(azureCosmosProperties.registerSubscriptionContainerName()).thenReturn(registerContainerName);
         lenient().when(azureCosmosProperties.cosmosDBName()).thenReturn(cosmosDbName);
         lenient().when(tenantFactory.listTenantInfo()).thenReturn(Collections.singletonList(tenantInfo));
+        lenient().when(factory.getManager(anyString())).thenReturn(managementClient);
+        lenient().when(managementClient.topicExists(anyString())).thenReturn(true, false);
+        lenient().when(managementClient.subscriptionExists(anyString(), anyString())).thenReturn(true, false);
         lenient().when(cosmosStore.findAllItems(dataPartition, cosmosDbName, registerContainerName, Subscription.class)).
                 thenReturn(Collections.singletonList(getHmac_subscription()));
     }
@@ -102,23 +123,17 @@ public class SubscriptionManagerImplTest {
     @Test
     public void shouldSuccessfullyRegisterMessageHandler() throws ServiceBusException, InterruptedException {
 
-        when(subscriptionClientFactory.getSubscriptionClient(dataPartition, sbTopic, sbSubscription)).thenReturn(subscriptionClient);
-        doNothing().when(subscriptionClient).registerMessageHandler(any(), any(), any());
         subscriptionManager.subscribeNotificationsEvent();
 
-        verify(azureServiceBusConfig, times(1)).getMaxConcurrentCalls();
         verify(azureServiceBusConfig, times(1)).getNThreads();
-        verify(azureServiceBusConfig, times(1)).getMaxLockRenewDurationInSeconds();
         verify(azureCosmosProperties, times(1)).registerSubscriptionContainerName();
         verify(azureCosmosProperties, times(1)).cosmosDBName();
-        verify(subscriptionClientFactory, times(1)).getSubscriptionClient(dataPartition, sbTopic, sbSubscription);
-        verify(subscriptionClient, times(1)).registerMessageHandler(any(), any(), any());
-
     }
 
     @Test
     public void shouldNotRegisterMessageHandlerWhenAlreadyRegisteredInPrevThread() throws ServiceBusException, InterruptedException {
 
+        when(topicSubscriptions.checkIfNewTopicSubscription(anyString(), anyString(), anyString())).thenReturn(true);
         when(subscriptionClientFactory.getSubscriptionClient(dataPartition, sbTopic, sbSubscription)).thenReturn(subscriptionClient);
         doNothing().when(subscriptionClient).registerMessageHandler(any(), any(), any());
         Executors.newSingleThreadScheduledExecutor().scheduleAtFixedRate(subscriptionManager, Integer.parseUnsignedInt(azureServiceBusConfig.getInitialSubscriptionManagerDelay()),
@@ -136,6 +151,7 @@ public class SubscriptionManagerImplTest {
 
     @Test
     public void shouldNotRegisterMessageHandlerIfSSubscriptionClientThrowsException() throws ServiceBusException, InterruptedException {
+        lenient().when(topicSubscriptions.checkIfNewTopicSubscription(anyString(), anyString(), anyString())).thenReturn(true);
         lenient().doNothing().when(subscriptionClient).registerMessageHandler(any(), any(), any());
         doThrow(new InterruptedException(errorMessage)).when(subscriptionClientFactory).getSubscriptionClient(dataPartition, sbTopic, sbSubscription);
         subscriptionManager.subscribeNotificationsEvent();
@@ -152,6 +168,7 @@ public class SubscriptionManagerImplTest {
     @Test
     public void shouldThrowExceptionIfErrorWhileRegisteringMessageHandler() throws ServiceBusException, InterruptedException {
 
+        lenient().when(topicSubscriptions.checkIfNewTopicSubscription(anyString(), anyString(), anyString())).thenReturn(true);
         doThrow(new InterruptedException(errorMessage)).when(subscriptionClient).registerMessageHandler(any(), any(), any());
         when(subscriptionClientFactory.getSubscriptionClient(dataPartition, sbTopic, sbSubscription)).thenReturn(subscriptionClient);
         subscriptionManager.subscribeNotificationsEvent();
diff --git a/provider/notification-azure/src/test/java/org/opengroup/osdu/notification/provider/azure/messageBus/extractor/RequestBodyAdapterTest.java b/provider/notification-azure/src/test/java/org/opengroup/osdu/notification/provider/azure/messageBus/extractor/RequestBodyAdapterTest.java
new file mode 100644
index 0000000000000000000000000000000000000000..ee394890ebde6b65755b940aa61ee63e52fb014e
--- /dev/null
+++ b/provider/notification-azure/src/test/java/org/opengroup/osdu/notification/provider/azure/messageBus/extractor/RequestBodyAdapterTest.java
@@ -0,0 +1,41 @@
+package org.opengroup.osdu.notification.provider.azure.messageBus.extractor;
+
+
+import com.microsoft.azure.servicebus.IMessage;
+import org.junit.Before;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.mockito.InjectMocks;
+import org.mockito.Mock;
+import org.mockito.MockitoAnnotations;
+import org.mockito.junit.MockitoJUnitRunner;
+import org.opengroup.osdu.notification.provider.azure.messageBus.interfaces.IPullRequestBodyExtractor;
+import org.opengroup.osdu.notification.provider.azure.messageBus.models.TopicSubscriptionsTest;
+import org.opengroup.osdu.notification.provider.azure.models.NotificationContent;
+
+import static org.junit.jupiter.api.Assertions.assertNotNull;
+
+@RunWith(MockitoJUnitRunner.class)
+public class RequestBodyAdapterTest {
+
+    @InjectMocks
+    RequestBodyAdapter requestBodyAdapter;
+
+    @Mock
+    IPullRequestBodyExtractor extractor;
+
+    @Mock
+    IMessage message;
+
+    @Before
+    public void setup() {
+        MockitoAnnotations.openMocks(RequestBodyAdapterTest.this);
+    }
+
+    @Test
+    public void extractNotificationContentTest() {
+
+        NotificationContent actual = requestBodyAdapter.extractNotificationContent(message,"recordsTopic");
+        assertNotNull(actual);
+    }
+}
diff --git a/provider/notification-azure/src/test/java/org/opengroup/osdu/notification/provider/azure/messageBus/models/TopicSubscriptionsTest.java b/provider/notification-azure/src/test/java/org/opengroup/osdu/notification/provider/azure/messageBus/models/TopicSubscriptionsTest.java
new file mode 100644
index 0000000000000000000000000000000000000000..17336d1fcaf5388eba3d3c740b3573adad341506
--- /dev/null
+++ b/provider/notification-azure/src/test/java/org/opengroup/osdu/notification/provider/azure/messageBus/models/TopicSubscriptionsTest.java
@@ -0,0 +1,54 @@
+package org.opengroup.osdu.notification.provider.azure.messageBus.models;
+
+import org.junit.Before;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.mockito.InjectMocks;
+import org.mockito.MockitoAnnotations;
+import org.mockito.junit.MockitoJUnitRunner;
+import org.opengroup.osdu.notification.provider.azure.messageBus.thread.ThreadScope;
+import org.opengroup.osdu.notification.provider.azure.messageBus.thread.ThreadScopeTest;
+
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+import static org.junit.Assert.assertEquals;
+import static org.mockito.Mockito.doNothing;
+
+@RunWith(MockitoJUnitRunner.class)
+public class TopicSubscriptionsTest {
+
+    private static String PARTITION = "opendes";
+    private static String SBTOPICNAME = "recordsTopic";
+    private static String SUBSCRIPTION = "test123asjdk";
+
+    private Map<String, Map<String, List<String>>> existingTopicSubscriptions = new HashMap<>();
+    private Map<String, Map<String, List<String>>> currentTopicSubscriptions = new HashMap<>();
+
+    @InjectMocks
+    TopicSubscriptions topicSubscriptions;
+
+
+    @Before
+    public void setup() {
+        MockitoAnnotations.openMocks(TopicSubscriptionsTest.this);
+    }
+
+    @Test
+    public void checkIfNewTopicSubscriptionTest(){
+        boolean actual = topicSubscriptions.checkIfNewTopicSubscription(PARTITION,SBTOPICNAME,SUBSCRIPTION);
+        assertEquals(actual,true);
+    }
+
+    @Test
+    public void updateCurrentTopicSubscriptionsTest(){
+        topicSubscriptions.updateCurrentTopicSubscriptions(PARTITION,SBTOPICNAME,SUBSCRIPTION);
+
+    }
+
+    @Test
+    public void clearTopicSubscriptionsTest(){
+        topicSubscriptions.clearTopicSubscriptions();
+    }
+}
diff --git a/provider/notification-azure/src/test/java/org/opengroup/osdu/notification/provider/azure/messageBus/thread/ThreadDpsHeadersTest.java b/provider/notification-azure/src/test/java/org/opengroup/osdu/notification/provider/azure/messageBus/thread/ThreadDpsHeadersTest.java
new file mode 100644
index 0000000000000000000000000000000000000000..3eb6988e1958004e01692bdec456d3f48109b079
--- /dev/null
+++ b/provider/notification-azure/src/test/java/org/opengroup/osdu/notification/provider/azure/messageBus/thread/ThreadDpsHeadersTest.java
@@ -0,0 +1,30 @@
+package org.opengroup.osdu.notification.provider.azure.messageBus.thread;
+
+import org.junit.Before;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.mockito.InjectMocks;
+import org.mockito.Mock;
+import org.mockito.MockitoAnnotations;
+import org.mockito.junit.MockitoJUnitRunner;
+import org.opengroup.osdu.core.common.util.IServiceAccountJwtClient;
+
+@RunWith(MockitoJUnitRunner.class)
+public class ThreadDpsHeadersTest {
+    @InjectMocks
+    ThreadDpsHeaders threadDpsHeaders;
+
+    @Mock
+    IServiceAccountJwtClient serviceAccountJwtClient;
+
+    @Before
+    public void setup() {
+        MockitoAnnotations.openMocks(ThreadDpsHeadersTest.this);
+    }
+
+    @Test
+    public void setThreadContextTest(){
+        threadDpsHeaders.setThreadContext("opendes","ut");
+    }
+
+}
diff --git a/provider/notification-azure/src/test/java/org/opengroup/osdu/notification/provider/azure/messageBus/thread/ThreadScopeTest.java b/provider/notification-azure/src/test/java/org/opengroup/osdu/notification/provider/azure/messageBus/thread/ThreadScopeTest.java
new file mode 100644
index 0000000000000000000000000000000000000000..75a3faa0bd47f87a73a1f492eff0856a0d5a9d54
--- /dev/null
+++ b/provider/notification-azure/src/test/java/org/opengroup/osdu/notification/provider/azure/messageBus/thread/ThreadScopeTest.java
@@ -0,0 +1,65 @@
+package org.opengroup.osdu.notification.provider.azure.messageBus.thread;
+
+import org.junit.Before;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.mockito.InjectMocks;
+import org.mockito.Mock;
+import org.mockito.MockitoAnnotations;
+import org.mockito.junit.MockitoJUnitRunner;
+import org.opengroup.osdu.core.common.model.http.DpsHeaders;
+import org.springframework.beans.factory.ObjectFactory;
+import org.springframework.mock.web.MockHttpServletRequest;
+import org.springframework.web.context.request.RequestContextHolder;
+import org.springframework.web.context.request.ServletRequestAttributes;
+
+import java.util.Collections;
+import java.util.Enumeration;
+import java.util.HashMap;
+import java.util.Map;
+
+import static org.junit.Assert.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertNotNull;
+import static org.junit.jupiter.api.Assertions.assertNull;
+import static org.mockito.ArgumentMatchers.any;
+import static org.mockito.Mockito.when;
+
+@RunWith(MockitoJUnitRunner.class)
+public class ThreadScopeTest {
+    private static final String NAME = "name";
+
+    @InjectMocks
+    ThreadScope threadScope;
+    @Mock
+    ObjectFactory<Object> factory;
+    @Mock
+    DpsHeaders dpsHeaders;
+    @Mock
+    MockHttpServletRequest request;
+    @Mock
+    ThreadScopeContext context;
+    @Mock
+    ThreadDpsHeaders threadDpsHeaders;
+
+    @Before
+    public void setup() {
+        MockitoAnnotations.openMocks(ThreadScopeTest.this);
+    }
+
+    @Test
+    public void getTest_shouldGetObject() {
+        when(factory.getObject()).thenReturn(new Object());
+        Object actual = threadScope.get(NAME, factory);
+        assertNotNull(actual);
+    }
+
+    @Test
+    public void removeTest_shouldReturnRemovedObject(){
+        threadScope.get(NAME,factory);
+        threadScope.registerDestructionCallback(NAME, () -> {});
+        Object actual = threadScope.remove(NAME);
+        assertNull(actual);
+    }
+
+}
+
diff --git a/provider/notification-azure/src/test/java/org/opengroup/osdu/notification/provider/azure/messageBus/thread/ThreadSignatureServiceTest.java b/provider/notification-azure/src/test/java/org/opengroup/osdu/notification/provider/azure/messageBus/thread/ThreadSignatureServiceTest.java
new file mode 100644
index 0000000000000000000000000000000000000000..f228982187f583a9a72660bf976110200c2492f0
--- /dev/null
+++ b/provider/notification-azure/src/test/java/org/opengroup/osdu/notification/provider/azure/messageBus/thread/ThreadSignatureServiceTest.java
@@ -0,0 +1,73 @@
+package org.opengroup.osdu.notification.provider.azure.messageBus.thread;
+
+import com.fasterxml.jackson.databind.ObjectMapper;
+import org.junit.Before;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.mockito.InjectMocks;
+import org.mockito.MockitoAnnotations;
+import org.mockito.junit.MockitoJUnitRunner;
+import org.opengroup.osdu.core.common.cryptographic.HmacData;
+import org.opengroup.osdu.core.common.cryptographic.SignatureServiceException;
+
+import java.util.Base64;
+
+import static org.junit.jupiter.api.Assertions.assertDoesNotThrow;
+import static org.junit.jupiter.api.Assertions.assertNotNull;
+
+@RunWith(MockitoJUnitRunner.class)
+public class ThreadSignatureServiceTest {
+
+    private static final String URL = "http://www.osdu.example.com/signature";
+    private static final String SECRET = "93491ab4453ef0306bf08f3703460950";
+
+    @InjectMocks
+    private ThreadSignatureService threadSignatureService;
+
+    @Before
+    public void setUp() {
+        MockitoAnnotations.openMocks(ThreadSignatureServiceTest.this);
+    }
+
+    @Test
+    public void getSignedSignatureTest() throws SignatureServiceException {
+        String actual = threadSignatureService.getSignedSignature(URL, SECRET);
+        assertNotNull(actual);
+    }
+
+    @Test
+    public void getSignedSignatureTest_withExpiryTimeAndNonce() throws SignatureServiceException {
+        String actual = threadSignatureService.getSignedSignature(URL,SECRET,String.valueOf(System.currentTimeMillis()+120000),SECRET);
+        assertNotNull(actual);
+    }
+
+    @Test(expected = SignatureServiceException.class)
+    public void getSignedSignatureTest_withExpiryTimeAndNonce_signatureServiceException() throws SignatureServiceException {
+        threadSignatureService.getSignedSignature(URL,"",String.valueOf(System.currentTimeMillis()+120000),SECRET);
+    }
+
+    @Test
+    public void verifyHmacSignature() throws SignatureServiceException {
+        String expireTime = String.valueOf(System.currentTimeMillis() + 120000L);
+
+        HmacData hmacData = new HmacData();
+        hmacData.setExpireMillisecond(expireTime);
+        hmacData.setNonce(SECRET);
+        hmacData.setEndpointUrl(URL);
+        String signature = threadSignatureService.getSignedSignature(URL, SECRET, expireTime, SECRET);
+        assertDoesNotThrow(() ->
+                threadSignatureService.verifyHmacSignature(
+                        String.format("%s.%s", Base64.getEncoder().encodeToString(new ObjectMapper().writeValueAsBytes(hmacData)), signature), SECRET)
+        );
+    }
+
+    @Test(expected = SignatureServiceException.class)
+    public void verifyHmacSignature_whenHmacIsNullOrEmpty_thenThrowSignatureServiceException() throws SignatureServiceException {
+        threadSignatureService.verifyHmacSignature("", SECRET);
+    }
+
+    @Test(expected = SignatureServiceException.class)
+    public void verifyHmacSignature_whenSecretIsNullOrEmpty_thenThrowSignatureServiceException() throws SignatureServiceException {
+        threadSignatureService.verifyHmacSignature(URL, "");
+    }
+}
\ No newline at end of file
diff --git a/provider/notification-azure/src/test/java/org/opengroup/osdu/notification/provider/azure/util/MDCContextMapTest.java b/provider/notification-azure/src/test/java/org/opengroup/osdu/notification/provider/azure/util/MDCContextMapTest.java
new file mode 100644
index 0000000000000000000000000000000000000000..a0449810c6d928eaf3ea0ba96df115c4ff0c6352
--- /dev/null
+++ b/provider/notification-azure/src/test/java/org/opengroup/osdu/notification/provider/azure/util/MDCContextMapTest.java
@@ -0,0 +1,23 @@
+package org.opengroup.osdu.notification.provider.azure.util;
+
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.mockito.InjectMocks;
+import org.mockito.junit.MockitoJUnitRunner;
+
+import java.util.Map;
+
+import static org.junit.Assert.assertNotNull;
+
+@RunWith(MockitoJUnitRunner.class)
+public class MDCContextMapTest {
+
+    @InjectMocks
+    MDCContextMap mdcContextMap;
+
+    @Test
+    public void getContextMapTest(){
+        Map<String, String> contextMap = mdcContextMap.getContextMap("ut","opendes");
+        assertNotNull(contextMap);
+    }
+}
diff --git a/provider/notification-azure/src/test/java/org/opengroup/osdu/notification/pubsub/EventGridHandshakeHandlerTest.java b/provider/notification-azure/src/test/java/org/opengroup/osdu/notification/pubsub/EventGridHandshakeHandlerTest.java
index b1cac81ce1b3e57696690b4a3bf989b266f9afc4..ca0286c3d0a0af30b0a80000e485c8708bcc68bf 100644
--- a/provider/notification-azure/src/test/java/org/opengroup/osdu/notification/pubsub/EventGridHandshakeHandlerTest.java
+++ b/provider/notification-azure/src/test/java/org/opengroup/osdu/notification/pubsub/EventGridHandshakeHandlerTest.java
@@ -13,7 +13,7 @@
 // See the License for the specific language governing permissions and
 // limitations under the License.
 
-package org.opengroup.osdu.notification.provider.azure;
+package org.opengroup.osdu.notification.pubsub;
 
 import org.junit.Assert;
 import org.junit.Test;
diff --git a/provider/notification-azure/src/test/java/org/opengroup/osdu/notification/util/AppPropertiesTest.java b/provider/notification-azure/src/test/java/org/opengroup/osdu/notification/util/AppPropertiesTest.java
index 578a36d1899921f1587f2af0d300f8bf8b6834fa..fcaa2bf66c272cedae0771925dbd177725b14abc 100644
--- a/provider/notification-azure/src/test/java/org/opengroup/osdu/notification/util/AppPropertiesTest.java
+++ b/provider/notification-azure/src/test/java/org/opengroup/osdu/notification/util/AppPropertiesTest.java
@@ -18,8 +18,10 @@ import com.azure.security.keyvault.secrets.SecretClient;
 import com.azure.security.keyvault.secrets.models.KeyVaultSecret;
 import org.junit.Before;
 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.notification.provider.azure.util.AppProperties;
 
 import static org.junit.jupiter.api.Assertions.assertEquals;
@@ -27,6 +29,7 @@ import static org.junit.jupiter.api.Assertions.assertThrows;
 import static org.mockito.Mockito.doReturn;
 import static org.mockito.MockitoAnnotations.initMocks;
 
+@RunWith(MockitoJUnitRunner.class)
 public class AppPropertiesTest {
 
     @InjectMocks
diff --git a/provider/notification-azure/src/test/java/org/opengroup/osdu/notification/util/AzureServiceAccountValidatorImplTest.java b/provider/notification-azure/src/test/java/org/opengroup/osdu/notification/util/AzureServiceAccountValidatorImplTest.java
index 2124bff88a50d6fcceb7814729277e57bfb09e0f..779abce852c592198b58ef7f466c436ebcca370e 100644
--- a/provider/notification-azure/src/test/java/org/opengroup/osdu/notification/util/AzureServiceAccountValidatorImplTest.java
+++ b/provider/notification-azure/src/test/java/org/opengroup/osdu/notification/util/AzureServiceAccountValidatorImplTest.java
@@ -19,9 +19,11 @@ import com.auth0.jwt.algorithms.Algorithm;
 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.mockito.Spy;
+import org.mockito.junit.MockitoJUnitRunner;
 import org.opengroup.osdu.notification.provider.azure.util.AppProperties;
 import org.opengroup.osdu.notification.provider.azure.util.AzureServiceAccountValidatorImpl;
 
@@ -30,6 +32,7 @@ import java.io.UnsupportedEncodingException;
 import static org.mockito.Mockito.when;
 import static org.mockito.MockitoAnnotations.initMocks;
 
+@RunWith(MockitoJUnitRunner.class)
 public class AzureServiceAccountValidatorImplTest {
     private static String eventGridId = "eventgridid";
 
diff --git a/provider/notification-azure/src/test/java/org/opengroup/osdu/notification/util/GoogleServiceAccountImpTest.java b/provider/notification-azure/src/test/java/org/opengroup/osdu/notification/util/GoogleServiceAccountImpTest.java
index 00996ddc1fda3d387c264013be80716ebc15eba4..a643fb4c4d83e2f268bcdb3ba66e419bcf1c97d6 100644
--- a/provider/notification-azure/src/test/java/org/opengroup/osdu/notification/util/GoogleServiceAccountImpTest.java
+++ b/provider/notification-azure/src/test/java/org/opengroup/osdu/notification/util/GoogleServiceAccountImpTest.java
@@ -16,11 +16,14 @@ package org.opengroup.osdu.notification.util;
 
 import org.junit.Test;
 import org.junit.jupiter.api.Assertions;
+import org.junit.runner.RunWith;
+import org.mockito.junit.MockitoJUnitRunner;
 import org.opengroup.osdu.notification.provider.azure.util.GoogleServiceAccountImpl;
 import sun.reflect.generics.reflectiveObjects.NotImplementedException;
 
 import static org.junit.Assert.fail;
 
+@RunWith(MockitoJUnitRunner.class)
 public class GoogleServiceAccountImpTest {
 
     @Test
diff --git a/provider/notification-azure/src/test/java/org/opengroup/osdu/notification/util/ServiceAccountClientImplTest.java b/provider/notification-azure/src/test/java/org/opengroup/osdu/notification/util/ServiceAccountClientImplTest.java
index 59fbfb854e7e3bca9ea106a1706b387890f74e1b..329b271ab0e2fed22dce1222100b6b32d04c7df1 100644
--- a/provider/notification-azure/src/test/java/org/opengroup/osdu/notification/util/ServiceAccountClientImplTest.java
+++ b/provider/notification-azure/src/test/java/org/opengroup/osdu/notification/util/ServiceAccountClientImplTest.java
@@ -14,10 +14,12 @@
 
 package org.opengroup.osdu.notification.util;
 
-import org.junit.jupiter.api.Test;
-import org.junit.jupiter.api.extension.ExtendWith;
+
+import org.junit.Test;
+import org.junit.runner.RunWith;
 import org.mockito.InjectMocks;
 import org.mockito.Mock;
+import org.mockito.junit.MockitoJUnitRunner;
 import org.mockito.junit.jupiter.MockitoExtension;
 import org.omg.CORBA.portable.ApplicationException;
 import org.opengroup.osdu.azure.util.AzureServicePrincipleTokenService;
@@ -30,7 +32,7 @@ import static org.junit.jupiter.api.Assertions.*;
 import static org.mockito.Mockito.*;
 import static org.mockito.Mockito.times;
 
-@ExtendWith(MockitoExtension.class)
+@RunWith(MockitoJUnitRunner.class)
 public class ServiceAccountClientImplTest {
 
     private static final  String tenantId = "tenantId";