Unit test fixes
diff --git a/plugins/hypervisors/kvm/src/main/java/com/cloud/hypervisor/kvm/resource/wrapper/LibvirtRestoreBackupCommandWrapper.java b/plugins/hypervisors/kvm/src/main/java/com/cloud/hypervisor/kvm/resource/wrapper/LibvirtRestoreBackupCommandWrapper.java
index 2b2e09d..ca85535 100644
--- a/plugins/hypervisors/kvm/src/main/java/com/cloud/hypervisor/kvm/resource/wrapper/LibvirtRestoreBackupCommandWrapper.java
+++ b/plugins/hypervisors/kvm/src/main/java/com/cloud/hypervisor/kvm/resource/wrapper/LibvirtRestoreBackupCommandWrapper.java
@@ -214,6 +214,13 @@
             }
         }
 
+        executeMount(backupRepoAddress, backupRepoType, mountOptions, mountDirectory, mountTimeout);
+
+        return mountDirectory;
+    }
+
+    private void executeMount(String backupRepoAddress, String backupRepoType, String mountOptions,
+                              String mountDirectory, Integer mountTimeout) {
         List<String[]> commands = new ArrayList<>();
         List<String> cmd = new ArrayList<>();
         cmd.add("sudo");
@@ -234,8 +241,6 @@
                     backupRepoAddress, backupRepoType, mountDirectory, result.second());
             throw new CloudRuntimeException("Failed to mount the backup repository on the KVM host");
         }
-
-        return mountDirectory;
     }
 
     private void unmountBackupDirectory(String backupDirectory) {
diff --git a/plugins/hypervisors/kvm/src/test/java/com/cloud/hypervisor/kvm/resource/wrapper/LibvirtRestoreBackupCommandWrapperTest.java b/plugins/hypervisors/kvm/src/test/java/com/cloud/hypervisor/kvm/resource/wrapper/LibvirtRestoreBackupCommandWrapperTest.java
index ef6b5c0..b956d3d 100644
--- a/plugins/hypervisors/kvm/src/test/java/com/cloud/hypervisor/kvm/resource/wrapper/LibvirtRestoreBackupCommandWrapperTest.java
+++ b/plugins/hypervisors/kvm/src/test/java/com/cloud/hypervisor/kvm/resource/wrapper/LibvirtRestoreBackupCommandWrapperTest.java
@@ -18,6 +18,7 @@
 
 import com.cloud.agent.api.Answer;
 import com.cloud.hypervisor.kvm.resource.LibvirtComputingResource;
+import com.cloud.utils.Pair;
 import com.cloud.storage.Storage;
 import com.cloud.utils.script.Script;
 import com.cloud.vm.VirtualMachine;
@@ -83,6 +84,8 @@
             filesMock.when(() -> Files.createTempDirectory(anyString())).thenReturn(tempPath);
 
             try (MockedStatic<Script> scriptMock = mockStatic(Script.class)) {
+                Mockito.when(Script.executePipedCommands(Mockito.anyList(), Mockito.anyLong()))
+                        .thenReturn(new Pair<>(0, "success"));
                 scriptMock.when(() -> Script.runSimpleBashScriptForExitValue(anyString(), anyInt(), any(Boolean.class)))
                         .thenReturn(0); // Mount success
                 scriptMock.when(() -> Script.runSimpleBashScriptForExitValue(anyString()))
@@ -126,6 +129,8 @@
             filesMock.when(() -> Files.createTempDirectory(anyString())).thenReturn(tempPath);
 
             try (MockedStatic<Script> scriptMock = mockStatic(Script.class)) {
+                Mockito.when(Script.executePipedCommands(Mockito.anyList(), Mockito.anyLong()))
+                        .thenReturn(new Pair<>(0, "success"));
                 scriptMock.when(() -> Script.runSimpleBashScriptForExitValue(anyString(), anyInt(), any(Boolean.class)))
                         .thenReturn(0); // Mount success
                 scriptMock.when(() -> Script.runSimpleBashScriptForExitValue(anyString()))
@@ -165,6 +170,8 @@
             filesMock.when(() -> Files.createTempDirectory(anyString())).thenReturn(tempPath);
 
             try (MockedStatic<Script> scriptMock = mockStatic(Script.class)) {
+                Mockito.when(Script.executePipedCommands(Mockito.anyList(), Mockito.anyLong()))
+                        .thenReturn(new Pair<>(0, "success"));
                 scriptMock.when(() -> Script.runSimpleBashScriptForExitValue(anyString(), anyInt(), any(Boolean.class)))
                         .thenReturn(0); // Mount success
                 scriptMock.when(() -> Script.runSimpleBashScriptForExitValue(anyString()))
@@ -207,6 +214,8 @@
             filesMock.when(() -> Files.createTempDirectory(anyString())).thenReturn(tempPath);
 
             try (MockedStatic<Script> scriptMock = mockStatic(Script.class)) {
+                Mockito.when(Script.executePipedCommands(Mockito.anyList(), Mockito.anyLong()))
+                        .thenReturn(new Pair<>(0, "success"));
                 scriptMock.when(() -> Script.runSimpleBashScriptForExitValue(anyString(), anyInt(), any(Boolean.class)))
                         .thenReturn(0); // Mount success
                 scriptMock.when(() -> Script.runSimpleBashScriptForExitValue(anyString()))
@@ -251,8 +260,8 @@
             filesMock.when(() -> Files.createTempDirectory(anyString())).thenReturn(tempPath);
 
             try (MockedStatic<Script> scriptMock = mockStatic(Script.class)) {
-                scriptMock.when(() -> Script.runSimpleBashScriptForExitValue(anyString(), anyInt(), any(Boolean.class)))
-                        .thenReturn(1); // Mount failure
+                Mockito.when(Script.executePipedCommands(Mockito.anyList(), Mockito.anyLong()))
+                        .thenReturn(new Pair<>(1, "Failed"));
 
                 Answer result = wrapper.execute(command, libvirtComputingResource);
 
@@ -290,6 +299,8 @@
             filesMock.when(() -> Files.createTempDirectory(anyString())).thenReturn(tempPath);
 
             try (MockedStatic<Script> scriptMock = mockStatic(Script.class)) {
+                Mockito.when(Script.executePipedCommands(Mockito.anyList(), Mockito.anyLong()))
+                        .thenReturn(new Pair<>(0, "success"));
                 scriptMock.when(() -> Script.runSimpleBashScriptForExitValue(anyString(), anyInt(), any(Boolean.class)))
                         .thenReturn(0); // Mount success
                 scriptMock.when(() -> Script.runSimpleBashScriptForExitValue(anyString()))
@@ -339,8 +350,8 @@
             filesMock.when(() -> Files.createTempDirectory(anyString())).thenReturn(tempPath);
 
             try (MockedStatic<Script> scriptMock = mockStatic(Script.class)) {
-                scriptMock.when(() -> Script.runSimpleBashScriptForExitValue(anyString(), anyInt(), any(Boolean.class)))
-                        .thenReturn(0); // Mount success
+                Mockito.when(Script.executePipedCommands(Mockito.anyList(), Mockito.anyLong()))
+                        .thenReturn(new Pair<>(0, "success"));
                 scriptMock.when(() -> Script.runSimpleBashScriptForExitValue(anyString()))
                         .thenAnswer(invocation -> {
                             String command = invocation.getArgument(0);
@@ -390,6 +401,8 @@
             filesMock.when(() -> Files.createTempDirectory(anyString())).thenReturn(tempPath);
 
             try (MockedStatic<Script> scriptMock = mockStatic(Script.class)) {
+                Mockito.when(Script.executePipedCommands(Mockito.anyList(), Mockito.anyLong()))
+                        .thenReturn(new Pair<>(0, "success"));
                 scriptMock.when(() -> Script.runSimpleBashScriptForExitValue(anyString(), anyInt(), any(Boolean.class)))
                         .thenAnswer(invocation -> {
                             String command = invocation.getArgument(0);
@@ -449,6 +462,8 @@
             filesMock.when(() -> Files.createTempDirectory(anyString())).thenReturn(tempPath);
 
             try (MockedStatic<Script> scriptMock = mockStatic(Script.class)) {
+                Mockito.when(Script.executePipedCommands(Mockito.anyList(), Mockito.anyLong()))
+                        .thenReturn(new Pair<>(0, "success"));
                 scriptMock.when(() -> Script.runSimpleBashScriptForExitValue(anyString(), anyInt(), any(Boolean.class)))
                         .thenAnswer(invocation -> {
                             String command = invocation.getArgument(0);
@@ -551,6 +566,10 @@
             filesMock.when(() -> Files.createTempDirectory(anyString())).thenReturn(tempPath);
 
             try (MockedStatic<Script> scriptMock = mockStatic(Script.class)) {
+                Mockito.when(Script.executePipedCommands(Mockito.anyList(), Mockito.anyLong()))
+                        .thenReturn(new Pair<>(0, "success"));
+                scriptMock.when(() -> Script.runSimpleBashScriptForExitValue(anyString(), anyInt(), any(Boolean.class)))
+                        .thenReturn(0); // Mount success
                 scriptMock.when(() -> Script.runSimpleBashScriptForExitValue(anyString()))
                         .thenReturn(0); // All commands success
                 scriptMock.when(() -> Script.runSimpleBashScriptForExitValue(anyString(), anyInt(), any(Boolean.class)))