This is an automated email from the ASF dual-hosted git repository.

rohit pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/cloudstack.git


The following commit(s) were added to refs/heads/main by this push:
     new 9e8f591ace1 Refactoring org.apache.cloudstack.network.tungsten.service 
(#8098)
9e8f591ace1 is described below

commit 9e8f591ace1aa12e5d4fa38247ff809d858a27f5
Author: gzhao9 <[email protected]>
AuthorDate: Fri Nov 3 07:49:59 2023 -0400

    Refactoring org.apache.cloudstack.network.tungsten.service (#8098)
    
    * Refactoring reduces mock cloning of TungstenAnswer
    
    * Apply suggestions from code review
    
    Great suggestions, thanks a lot!
    
    Co-authored-by: dahn <[email protected]>
    
    * Rename CreateMockTungstenAnswer  to MockTungstenAnswerFactory
    
    * Updated parameter to camel case.
    
    * Revised in accordance with the latest update
    
    * Replace all `\r` with `\n`.
    
    * Replace all \r with \n.
    
    * temp for re-uploading
    
    * reupdate
    
    * update line ending
    
    * update ling ending
    
    * Add static methods to avoid duplicate creation of new
    
    ---------
    
    Co-authored-by: dahn <[email protected]>
---
 .../service/MockTungstenAnswerFactory.java         |  38 +++
 .../tungsten/service/TungstenElementTest.java      |  90 ++----
 .../tungsten/service/TungstenFabricUtilsTest.java  |   6 +-
 .../tungsten/service/TungstenServiceImplTest.java  | 332 ++++++++-------------
 4 files changed, 188 insertions(+), 278 deletions(-)

diff --git 
a/plugins/network-elements/tungsten/src/test/java/org/apache/cloudstack/network/tungsten/service/MockTungstenAnswerFactory.java
 
b/plugins/network-elements/tungsten/src/test/java/org/apache/cloudstack/network/tungsten/service/MockTungstenAnswerFactory.java
new file mode 100644
index 00000000000..587a01dabb2
--- /dev/null
+++ 
b/plugins/network-elements/tungsten/src/test/java/org/apache/cloudstack/network/tungsten/service/MockTungstenAnswerFactory.java
@@ -0,0 +1,38 @@
+// Licensed to the Apache Software Foundation (ASF) under one
+// or more contributor license agreements.  See the NOTICE file
+// distributed with this work for additional information
+// regarding copyright ownership.  The ASF licenses this file
+// to you under the Apache License, Version 2.0 (the
+// "License"); you may not use this file except in compliance
+// with the License.  You may obtain a copy of the License at
+//
+//   http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing,
+// software distributed under the License is distributed on an
+// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+// KIND, either express or implied.  See the License for the
+// specific language governing permissions and limitations
+// under the License.
+package org.apache.cloudstack.network.tungsten.service;
+
+import org.apache.cloudstack.network.tungsten.agent.api.TungstenAnswer;
+
+import static org.mockito.Mockito.mock;
+import static org.mockito.Mockito.when;
+
+public class MockTungstenAnswerFactory {
+
+    TungstenAnswer tungstenAnswer;
+    MockTungstenAnswerFactory(boolean returnResult){
+        tungstenAnswer=mock(TungstenAnswer.class);
+        when(tungstenAnswer.getResult()).thenReturn(returnResult);
+    }
+    TungstenAnswer get() {
+        return tungstenAnswer;
+    }
+    public static TungstenAnswer get(boolean returnResult){
+        TungstenAnswer tungstenAnswers = new 
MockTungstenAnswerFactory(returnResult).get();
+        return tungstenAnswers;
+    }
+}
diff --git 
a/plugins/network-elements/tungsten/src/test/java/org/apache/cloudstack/network/tungsten/service/TungstenElementTest.java
 
b/plugins/network-elements/tungsten/src/test/java/org/apache/cloudstack/network/tungsten/service/TungstenElementTest.java
index 18f295473be..58084d3072d 100644
--- 
a/plugins/network-elements/tungsten/src/test/java/org/apache/cloudstack/network/tungsten/service/TungstenElementTest.java
+++ 
b/plugins/network-elements/tungsten/src/test/java/org/apache/cloudstack/network/tungsten/service/TungstenElementTest.java
@@ -256,13 +256,12 @@ public class TungstenElementTest {
         StaticNatImpl staticNat = mock(StaticNatImpl.class);
         IPAddressVO ipAddressVO = mock(IPAddressVO.class);
         VMInstanceVO vmInstanceVO = mock(VMInstanceVO.class);
-        TungstenAnswer assignFloatingIpAnswer = mock(TungstenAnswer.class);
+        TungstenAnswer assignFloatingIpAnswer = 
MockTungstenAnswerFactory.get(true);
         Nic nic = mock(Nic.class);
         Network publicNetwork = mock(Network.class);
         List<StaticNatImpl> staticNatList = List.of(staticNat);
 
         when(staticNat.isForRevoke()).thenReturn(false);
-        when(assignFloatingIpAnswer.getResult()).thenReturn(true);
         
when(ipAddressDao.findByIdIncludingRemoved(anyLong())).thenReturn(ipAddressVO);
         
when(vmInstanceDao.findByIdIncludingRemoved(anyLong())).thenReturn(vmInstanceVO);
         when(networkModel.getNicInNetworkIncludingRemoved(anyLong(), 
anyLong())).thenReturn(nic);
@@ -278,13 +277,12 @@ public class TungstenElementTest {
         StaticNatImpl staticNat = mock(StaticNatImpl.class);
         IPAddressVO ipAddressVO = mock(IPAddressVO.class);
         VMInstanceVO vmInstanceVO = mock(VMInstanceVO.class);
-        TungstenAnswer assignFloatingIpAnswer = mock(TungstenAnswer.class);
+        TungstenAnswer assignFloatingIpAnswer = 
MockTungstenAnswerFactory.get(false);
         Nic nic = mock(Nic.class);
         Network publicNetwork = mock(Network.class);
         List<StaticNatImpl> staticNatList = List.of(staticNat);
 
         when(staticNat.isForRevoke()).thenReturn(false);
-        when(assignFloatingIpAnswer.getResult()).thenReturn(false);
         
when(ipAddressDao.findByIdIncludingRemoved(anyLong())).thenReturn(ipAddressVO);
         
when(vmInstanceDao.findByIdIncludingRemoved(anyLong())).thenReturn(vmInstanceVO);
         when(networkModel.getNicInNetworkIncludingRemoved(anyLong(), 
anyLong())).thenReturn(nic);
@@ -300,13 +298,12 @@ public class TungstenElementTest {
         StaticNatImpl staticNat = mock(StaticNatImpl.class);
         IPAddressVO ipAddressVO = mock(IPAddressVO.class);
         VMInstanceVO vmInstanceVO = mock(VMInstanceVO.class);
-        TungstenAnswer releaseFloatingIpAnswer = mock(TungstenAnswer.class);
+        TungstenAnswer releaseFloatingIpAnswer = 
MockTungstenAnswerFactory.get(true);
         Nic nic = mock(Nic.class);
         Network publicNetwork = mock(Network.class);
         List<StaticNatImpl> staticNatList = List.of(staticNat);
 
         when(staticNat.isForRevoke()).thenReturn(true);
-        when(releaseFloatingIpAnswer.getResult()).thenReturn(true);
         
when(ipAddressDao.findByIdIncludingRemoved(anyLong())).thenReturn(ipAddressVO);
         
when(vmInstanceDao.findByIdIncludingRemoved(anyLong())).thenReturn(vmInstanceVO);
         when(networkModel.getNicInNetworkIncludingRemoved(anyLong(), 
anyLong())).thenReturn(nic);
@@ -322,13 +319,12 @@ public class TungstenElementTest {
         StaticNatImpl staticNat = mock(StaticNatImpl.class);
         IPAddressVO ipAddressVO = mock(IPAddressVO.class);
         VMInstanceVO vmInstanceVO = mock(VMInstanceVO.class);
-        TungstenAnswer releaseFloatingIpAnswer = mock(TungstenAnswer.class);
+        TungstenAnswer releaseFloatingIpAnswer = 
MockTungstenAnswerFactory.get(false);
         Nic nic = mock(Nic.class);
         Network publicNetwork = mock(Network.class);
         List<StaticNatImpl> staticNatList = List.of(staticNat);
 
         when(staticNat.isForRevoke()).thenReturn(true);
-        when(releaseFloatingIpAnswer.getResult()).thenReturn(false);
         
when(ipAddressDao.findByIdIncludingRemoved(anyLong())).thenReturn(ipAddressVO);
         
when(vmInstanceDao.findByIdIncludingRemoved(anyLong())).thenReturn(vmInstanceVO);
         when(networkModel.getNicInNetworkIncludingRemoved(anyLong(), 
anyLong())).thenReturn(nic);
@@ -355,11 +351,11 @@ public class TungstenElementTest {
         TungstenFabricLBHealthMonitorVO tungstenFabricLBHealthMonitorVO = 
mock(TungstenFabricLBHealthMonitorVO.class);
         IPAddressVO ipAddressVO = mock(IPAddressVO.class);
         TungstenGuestNetworkIpAddressVO tungstenGuestNetworkIpAddressVO = 
mock(TungstenGuestNetworkIpAddressVO.class);
-        TungstenAnswer createTungstenNetworkLoadbalancerAnswer = 
mock(TungstenAnswer.class);
-        TungstenAnswer updateTungstenLoadBalancerPoolAnswer = 
mock(TungstenAnswer.class);
-        TungstenAnswer updateTungstenLoadBalancerMemberAnswer = 
mock(TungstenAnswer.class);
-        TungstenAnswer updateTungstenLoadBalancerListenerAnswer = 
mock(TungstenAnswer.class);
-        TungstenAnswer updateTungstenHealthMonitorAnswer = 
mock(TungstenAnswer.class);
+        TungstenAnswer createTungstenNetworkLoadbalancerAnswer = 
MockTungstenAnswerFactory.get(true);
+        TungstenAnswer updateTungstenLoadBalancerPoolAnswer = 
MockTungstenAnswerFactory.get(true);
+        TungstenAnswer updateTungstenLoadBalancerMemberAnswer = 
MockTungstenAnswerFactory.get(true);
+        TungstenAnswer updateTungstenLoadBalancerListenerAnswer = 
MockTungstenAnswerFactory.get(true);
+        TungstenAnswer updateTungstenHealthMonitorAnswer = 
MockTungstenAnswerFactory.get(true);
         LoadBalancingRule.LbSslCert lbSslCert = 
mock(LoadBalancingRule.LbSslCert.class);
         when(lbStickinessPolicy.getMethodName()).thenReturn("AppCookie");
         List<Pair<String, String>> pairList = List.of(new Pair<>("cookieName", 
"cookieValue"));
@@ -382,10 +378,6 @@ public class TungstenElementTest {
         
when(tungstenFabricUtils.sendTungstenCommand(any(CreateTungstenNetworkLoadbalancerCommand.class),
 anyLong())).thenReturn(createTungstenNetworkLoadbalancerAnswer);
         
when(tungstenFabricUtils.sendTungstenCommand(any(UpdateTungstenLoadBalancerPoolCommand.class),
 anyLong())).thenReturn(updateTungstenLoadBalancerPoolAnswer);
         
when(tungstenFabricUtils.sendTungstenCommand(any(UpdateTungstenLoadBalancerMemberCommand.class),
 anyLong())).thenReturn(updateTungstenLoadBalancerMemberAnswer);
-        
when(createTungstenNetworkLoadbalancerAnswer.getResult()).thenReturn(true);
-        
when(updateTungstenLoadBalancerPoolAnswer.getResult()).thenReturn(true);
-        
when(updateTungstenLoadBalancerMemberAnswer.getResult()).thenReturn(true);
-        when(updateTungstenHealthMonitorAnswer.getResult()).thenReturn(true);
         
when(configDao.getValue(Config.NetworkLBHaproxyStatsVisbility.key())).thenReturn("enabled");
         when(tungstenService.updateLoadBalancer(any(), 
any())).thenReturn(true);
         when(EncryptionUtil.generateSignature(anyString(), 
anyString())).thenReturn("generatedString");
@@ -410,10 +402,10 @@ public class TungstenElementTest {
         List<LoadBalancerVO> loadBalancerVOList = List.of(loadBalancerVO);
         IPAddressVO ipAddressVO = mock(IPAddressVO.class);
         TungstenGuestNetworkIpAddressVO tungstenGuestNetworkIpAddressVO = 
mock(TungstenGuestNetworkIpAddressVO.class);
-        TungstenAnswer createTungstenNetworkLoadbalancerAnswer = 
mock(TungstenAnswer.class);
-        TungstenAnswer updateTungstenLoadBalancerPoolAnswer = 
mock(TungstenAnswer.class);
-        TungstenAnswer updateTungstenLoadBalancerMemberAnswer = 
mock(TungstenAnswer.class);
-        TungstenAnswer updateTungstenHealthMonitorAnswer = 
mock(TungstenAnswer.class);
+        TungstenAnswer createTungstenNetworkLoadbalancerAnswer = 
MockTungstenAnswerFactory.get(true);
+        TungstenAnswer updateTungstenLoadBalancerPoolAnswer = 
MockTungstenAnswerFactory.get(true);
+        TungstenAnswer updateTungstenLoadBalancerMemberAnswer = 
MockTungstenAnswerFactory.get(true);
+        TungstenAnswer updateTungstenHealthMonitorAnswer = 
MockTungstenAnswerFactory.get(true);
         List<Pair<String, String>> pairList = List.of(new Pair<>("cookieName", 
"cookieValue"));
         TungstenFabricLBHealthMonitorVO tungstenFabricLBHealthMonitorVO = 
mock(TungstenFabricLBHealthMonitorVO.class);
 
@@ -435,12 +427,8 @@ public class TungstenElementTest {
         
when(tungstenFabricUtils.sendTungstenCommand(any(CreateTungstenNetworkLoadbalancerCommand.class),
 anyLong())).thenReturn(createTungstenNetworkLoadbalancerAnswer);
         
when(tungstenFabricUtils.sendTungstenCommand(any(UpdateTungstenLoadBalancerPoolCommand.class),
 anyLong())).thenReturn(updateTungstenLoadBalancerPoolAnswer);
         
when(tungstenFabricUtils.sendTungstenCommand(any(UpdateTungstenLoadBalancerMemberCommand.class),
 anyLong())).thenReturn(updateTungstenLoadBalancerMemberAnswer);
-        
when(createTungstenNetworkLoadbalancerAnswer.getResult()).thenReturn(true);
-        
when(updateTungstenLoadBalancerPoolAnswer.getResult()).thenReturn(true);
-        
when(updateTungstenLoadBalancerMemberAnswer.getResult()).thenReturn(true);
         
when(configDao.getValue(Config.NetworkLBHaproxyStatsVisbility.key())).thenReturn("disabled");
         
when(tungstenFabricLBHealthMonitorDao.findByLbId(anyLong())).thenReturn(tungstenFabricLBHealthMonitorVO);
-        when(updateTungstenHealthMonitorAnswer.getResult()).thenReturn(true);
         
when(tungstenFabricUtils.sendTungstenCommand(any(UpdateTungstenLoadBalancerHealthMonitorCommand.class),
 anyLong())).thenReturn(updateTungstenHealthMonitorAnswer);
 
         assertFalse(tungstenElement.applyLBRules(network, 
loadBalancingRuleList1));
@@ -457,8 +445,8 @@ public class TungstenElementTest {
         List<LoadBalancingRule> loadBalancingRuleList1 = 
List.of(loadBalancingRule1);
         List<LoadBalancerVO> loadBalancerVOList1 = List.of(loadBalancerVO1);
         TungstenGuestNetworkIpAddressVO tungstenGuestNetworkIpAddressVO = 
mock(TungstenGuestNetworkIpAddressVO.class);
-        TungstenAnswer deleteTungstenLoadBalancerListenerAnswer = 
mock(TungstenAnswer.class);
-        TungstenAnswer deleteTungstenLoadBalancerCommand = 
mock(TungstenAnswer.class);
+        TungstenAnswer deleteTungstenLoadBalancerListenerAnswer = 
MockTungstenAnswerFactory.get(true);
+        TungstenAnswer deleteTungstenLoadBalancerCommand = 
MockTungstenAnswerFactory.get(true);
 
         when(networkModel.getSystemNetworkByZoneAndTrafficType(anyLong(), 
any())).thenReturn(publicNetwork);
         when(loadBalancingRule1.getSourceIp()).thenReturn(ip1);
@@ -467,7 +455,6 @@ public class TungstenElementTest {
         when(ipAddressVO.getAddress()).thenReturn(ip1);
         when(ip1.addr()).thenReturn("10.10.10.10");
         
when(tungstenFabricUtils.sendTungstenCommand(any(DeleteTungstenLoadBalancerCommand.class),
 anyLong())).thenReturn(deleteTungstenLoadBalancerCommand);
-        when(deleteTungstenLoadBalancerCommand.getResult()).thenReturn(true);
         when(lbDao.listByIpAddress(anyLong())).thenReturn(loadBalancerVOList1);
         
when(tungstenGuestNetworkIpAddressDao.findByNetworkIdAndPublicIp(anyLong(),anyString())).thenReturn(tungstenGuestNetworkIpAddressVO);
         
when(tungstenGuestNetworkIpAddressDao.remove(anyLong())).thenReturn(false);
@@ -485,8 +472,8 @@ public class TungstenElementTest {
         LoadBalancerVO loadBalancerVO1 = mock(LoadBalancerVO.class);
         LoadBalancerVO loadBalancerVO2 = mock(LoadBalancerVO.class);
         TungstenGuestNetworkIpAddressVO tungstenGuestNetworkIpAddressVO = 
mock(TungstenGuestNetworkIpAddressVO.class);
-        TungstenAnswer deleteTungstenLoadBalancerListenerAnswer = 
mock(TungstenAnswer.class);
-        TungstenAnswer deleteTungstenLoadBalancerCommand = 
mock(TungstenAnswer.class);
+        TungstenAnswer deleteTungstenLoadBalancerListenerAnswer = 
MockTungstenAnswerFactory.get(true);
+        TungstenAnswer deleteTungstenLoadBalancerCommand = 
MockTungstenAnswerFactory.get(true);
         List<LoadBalancingRule> loadBalancingRuleList = 
List.of(loadBalancingRule);
         List<LoadBalancerVO> loadBalancerVOList = 
Arrays.asList(loadBalancerVO1, loadBalancerVO2);
 
@@ -496,7 +483,6 @@ public class TungstenElementTest {
         when(ipAddressDao.findByIpAndDcId(anyLong(), 
anyString())).thenReturn(ipAddressVO);
         when(ip.addr()).thenReturn("10.10.10.10");
         
when(tungstenFabricUtils.sendTungstenCommand(any(DeleteTungstenLoadBalancerListenerCommand.class),
 anyLong())).thenReturn(deleteTungstenLoadBalancerListenerAnswer);
-        
when(deleteTungstenLoadBalancerListenerAnswer.getResult()).thenReturn(true);
         when(tungstenService.updateLoadBalancer(any(), 
any())).thenReturn(true);
         when(lbDao.listByIpAddress(anyLong())).thenReturn(loadBalancerVOList);
 
@@ -511,7 +497,7 @@ public class TungstenElementTest {
         IPAddressVO ipAddressVO = mock(IPAddressVO.class);
         UserVm userVm = mock(UserVm.class);
         Nic nic = mock(Nic.class);
-        TungstenAnswer applyTungstenPortForwardingAnswer = 
mock(TungstenAnswer.class);
+        TungstenAnswer applyTungstenPortForwardingAnswer = 
MockTungstenAnswerFactory.get(true);
         List<PortForwardingRule> portForwardingRuleList = 
List.of(portForwardingRule);
 
         when(portForwardingRule.getState()).thenReturn(FirewallRule.State.Add);
@@ -520,7 +506,6 @@ public class TungstenElementTest {
         when(ApiDBUtils.findUserVmById(anyLong())).thenReturn(userVm);
         when(networkModel.getNicInNetwork(anyLong(), 
anyLong())).thenReturn(nic);
         
when(tungstenFabricUtils.sendTungstenCommand(any(ApplyTungstenPortForwardingCommand.class),
 anyLong())).thenReturn(applyTungstenPortForwardingAnswer);
-        when(applyTungstenPortForwardingAnswer.getResult()).thenReturn(true);
 
         assertTrue(tungstenElement.applyPFRules(network, 
portForwardingRuleList));
     }
@@ -533,7 +518,7 @@ public class TungstenElementTest {
         IPAddressVO ipAddressVO = mock(IPAddressVO.class);
         UserVm userVm = mock(UserVm.class);
         Nic nic = mock(Nic.class);
-        TungstenAnswer applyTungstenPortForwardingAnswer = 
mock(TungstenAnswer.class);
+        TungstenAnswer applyTungstenPortForwardingAnswer = 
MockTungstenAnswerFactory.get(false);
         List<PortForwardingRule> portForwardingRuleList = 
List.of(portForwardingRule);
 
         when(portForwardingRule.getState()).thenReturn(FirewallRule.State.Add);
@@ -542,7 +527,6 @@ public class TungstenElementTest {
         when(ApiDBUtils.findUserVmById(anyLong())).thenReturn(userVm);
         when(networkModel.getNicInNetwork(anyLong(), 
anyLong())).thenReturn(nic);
         
when(tungstenFabricUtils.sendTungstenCommand(any(ApplyTungstenPortForwardingCommand.class),
 anyLong())).thenReturn(applyTungstenPortForwardingAnswer);
-        when(applyTungstenPortForwardingAnswer.getResult()).thenReturn(false);
 
         assertFalse(tungstenElement.applyPFRules(network, 
portForwardingRuleList));
     }
@@ -555,7 +539,7 @@ public class TungstenElementTest {
         IPAddressVO ipAddressVO = mock(IPAddressVO.class);
         UserVm userVm = mock(UserVm.class);
         Nic nic = mock(Nic.class);
-        TungstenAnswer applyTungstenPortForwardingAnswer = 
mock(TungstenAnswer.class);
+        TungstenAnswer applyTungstenPortForwardingAnswer = 
MockTungstenAnswerFactory.get(true);
         List<PortForwardingRule> portForwardingRuleList = 
List.of(portForwardingRule);
 
         
when(portForwardingRule.getState()).thenReturn(FirewallRule.State.Revoke);
@@ -564,7 +548,6 @@ public class TungstenElementTest {
         when(ApiDBUtils.findUserVmById(anyLong())).thenReturn(userVm);
         when(networkModel.getNicInNetwork(anyLong(), 
anyLong())).thenReturn(nic);
         
when(tungstenFabricUtils.sendTungstenCommand(any(ApplyTungstenPortForwardingCommand.class),
 anyLong())).thenReturn(applyTungstenPortForwardingAnswer);
-        when(applyTungstenPortForwardingAnswer.getResult()).thenReturn(true);
 
         assertTrue(tungstenElement.applyPFRules(network, 
portForwardingRuleList));
     }
@@ -577,7 +560,7 @@ public class TungstenElementTest {
         IPAddressVO ipAddressVO = mock(IPAddressVO.class);
         UserVm userVm = mock(UserVm.class);
         Nic nic = mock(Nic.class);
-        TungstenAnswer applyTungstenPortForwardingAnswer = 
mock(TungstenAnswer.class);
+        TungstenAnswer applyTungstenPortForwardingAnswer = 
MockTungstenAnswerFactory.get(false);
         List<PortForwardingRule> portForwardingRuleList = 
List.of(portForwardingRule);
 
         
when(portForwardingRule.getState()).thenReturn(FirewallRule.State.Revoke);
@@ -586,7 +569,6 @@ public class TungstenElementTest {
         when(ApiDBUtils.findUserVmById(anyLong())).thenReturn(userVm);
         when(networkModel.getNicInNetwork(anyLong(), 
anyLong())).thenReturn(nic);
         
when(tungstenFabricUtils.sendTungstenCommand(any(ApplyTungstenPortForwardingCommand.class),
 anyLong())).thenReturn(applyTungstenPortForwardingAnswer);
-        when(applyTungstenPortForwardingAnswer.getResult()).thenReturn(false);
 
         assertFalse(tungstenElement.applyPFRules(network, 
portForwardingRuleList));
     }
@@ -600,9 +582,9 @@ public class TungstenElementTest {
         ReservationContext reservationContext = mock(ReservationContext.class);
         VMInstanceVO vmInstanceVO = mock(VMInstanceVO.class);
         HostVO host = mock(HostVO.class);
-        TungstenAnswer createTungstenVMAnswer = mock(TungstenAnswer.class);
+        TungstenAnswer createTungstenVMAnswer = 
MockTungstenAnswerFactory.get(true);
         IPAddressVO ipAddressVO = mock(IPAddressVO.class);
-        TungstenAnswer createTungstenNetworkPolicyAnswer = 
mock(TungstenAnswer.class);
+        TungstenAnswer createTungstenNetworkPolicyAnswer = 
MockTungstenAnswerFactory.get(true);
 
         nicProfile.setIPv4Address("192.168.100.100");
         when(network.getTrafficType()).thenReturn(Networks.TrafficType.Public);
@@ -612,8 +594,6 @@ public class TungstenElementTest {
         when(ipAddressDao.findByIpAndDcId(anyLong(), 
anyString())).thenReturn(ipAddressVO);
         
when(tungstenFabricUtils.sendTungstenCommand(any(CreateTungstenNetworkPolicyCommand.class),
 anyLong())).thenReturn(createTungstenNetworkPolicyAnswer);
         
when(virtualMachineProfile.getType()).thenReturn(VirtualMachine.Type.ConsoleProxy);
-        when(createTungstenVMAnswer.getResult()).thenReturn(true);
-        when(createTungstenNetworkPolicyAnswer.getResult()).thenReturn(true);
 
         assertTrue(tungstenElement.prepare(network, nicProfile, 
virtualMachineProfile, deployDestination, reservationContext));
         assertEquals(Nic.ReservationStrategy.Create, 
nicProfile.getReservationStrategy());
@@ -631,7 +611,7 @@ public class TungstenElementTest {
         ReservationContext reservationContext = mock(ReservationContext.class);
         VMInstanceVO vmInstanceVO = mock(VMInstanceVO.class);
         HostVO host = mock(HostVO.class);
-        TungstenAnswer createTungstenVMAnswer = mock(TungstenAnswer.class);
+        TungstenAnswer createTungstenVMAnswer = 
MockTungstenAnswerFactory.get(true);
 
         nicProfile.setIPv4Address("192.168.100.100");
         
when(network.getTrafficType()).thenReturn(Networks.TrafficType.Management);
@@ -639,7 +619,6 @@ public class TungstenElementTest {
         when(hostDao.findById(anyLong())).thenReturn(host);
         
when(tungstenFabricUtils.sendTungstenCommand(any(CreateTungstenVirtualMachineCommand.class),
 anyLong())).thenReturn(createTungstenVMAnswer);
         
when(virtualMachineProfile.getType()).thenReturn(VirtualMachine.Type.SecondaryStorageVm);
-        when(createTungstenVMAnswer.getResult()).thenReturn(true);
 
         assertTrue(tungstenElement.prepare(network, nicProfile, 
virtualMachineProfile, deployDestination, reservationContext));
         assertEquals(Nic.ReservationStrategy.Create, 
nicProfile.getReservationStrategy());
@@ -749,14 +728,12 @@ public class TungstenElementTest {
         Network network = mock(Network.class);
         ReservationContext reservationContext = mock(ReservationContext.class);
         List<IPAddressVO> ipAddressVOList = Arrays.asList(ipAddressVO1, 
ipAddressVO2);
-        TungstenAnswer tungstenDeleteFIPAnswer = mock(TungstenAnswer.class);
-        TungstenAnswer tungstenDeleteNPAnswer = mock(TungstenAnswer.class);
+        TungstenAnswer tungstenDeleteFIPAnswer = 
MockTungstenAnswerFactory.get(true);
+        TungstenAnswer tungstenDeleteNPAnswer = 
MockTungstenAnswerFactory.get(true);
 
         when(ipAddressDao.listByAssociatedNetwork(anyLong(), 
anyBoolean())).thenReturn(ipAddressVOList);
         
when(tungstenFabricUtils.sendTungstenCommand(any(DeleteTungstenFloatingIpCommand.class),
 anyLong())).thenReturn(tungstenDeleteFIPAnswer);
         
when(tungstenFabricUtils.sendTungstenCommand(any(DeleteTungstenNetworkPolicyCommand.class),
 anyLong())).thenReturn(tungstenDeleteNPAnswer);
-        when(tungstenDeleteFIPAnswer.getResult()).thenReturn(true);
-        when(tungstenDeleteNPAnswer.getResult()).thenReturn(true);
 
         assertTrue(tungstenElement.destroy(network, reservationContext));
     }
@@ -898,8 +875,8 @@ public class TungstenElementTest {
         Network network = mock(Network.class);
         FirewallRuleVO firewallRuleVO = mock(FirewallRuleVO.class);
         Network publicNetwork = mock(Network.class);
-        TungstenAnswer createNetworkPolicyAnswer = mock(TungstenAnswer.class);
-        TungstenAnswer applyNetworkPolicyAnswer = mock(TungstenAnswer.class);
+        TungstenAnswer createNetworkPolicyAnswer = 
MockTungstenAnswerFactory.get(true);
+        TungstenAnswer applyNetworkPolicyAnswer = 
MockTungstenAnswerFactory.get(true);
 
         when(firewallRuleVO.getState()).thenReturn(FirewallRule.State.Add);
         
when(firewallRuleVO.getSourceCidrList()).thenReturn(List.of("192.168.100.0/24"));
@@ -909,8 +886,6 @@ public class TungstenElementTest {
         
when(firewallRuleVO.getTrafficType()).thenReturn(FirewallRule.TrafficType.Egress);
         
when(tungstenFabricUtils.sendTungstenCommand(any(CreateTungstenNetworkPolicyCommand.class),
 anyLong())).thenReturn(createNetworkPolicyAnswer);
         
when(tungstenFabricUtils.sendTungstenCommand(any(ApplyTungstenNetworkPolicyCommand.class),
 anyLong())).thenReturn(applyNetworkPolicyAnswer);
-        when(createNetworkPolicyAnswer.getResult()).thenReturn(true);
-        when(applyNetworkPolicyAnswer.getResult()).thenReturn(true);
 
         assertTrue(tungstenElement.applyFWRules(network, 
List.of(firewallRuleVO)));
     }
@@ -920,8 +895,8 @@ public class TungstenElementTest {
         Network network = mock(Network.class);
         FirewallRuleVO firewallRuleVO = mock(FirewallRuleVO.class);
         Network publicNetwork = mock(Network.class);
-        TungstenAnswer createNetworkPolicyAnswer = mock(TungstenAnswer.class);
-        TungstenAnswer applyNetworkPolicyAnswer = mock(TungstenAnswer.class);
+        TungstenAnswer createNetworkPolicyAnswer = 
MockTungstenAnswerFactory.get(true);
+        TungstenAnswer applyNetworkPolicyAnswer = 
MockTungstenAnswerFactory.get(true);
         IPAddressVO ipAddressVO = mock(IPAddressVO.class);
         Ip ip = mock(Ip.class);
 
@@ -935,8 +910,6 @@ public class TungstenElementTest {
         
when(firewallRuleVO.getTrafficType()).thenReturn(FirewallRule.TrafficType.Ingress);
         
when(tungstenFabricUtils.sendTungstenCommand(any(CreateTungstenNetworkPolicyCommand.class),
 anyLong())).thenReturn(createNetworkPolicyAnswer);
         
when(tungstenFabricUtils.sendTungstenCommand(any(ApplyTungstenNetworkPolicyCommand.class),
 anyLong())).thenReturn(applyNetworkPolicyAnswer);
-        when(createNetworkPolicyAnswer.getResult()).thenReturn(true);
-        when(applyNetworkPolicyAnswer.getResult()).thenReturn(true);
 
         assertTrue(tungstenElement.applyFWRules(network, 
List.of(firewallRuleVO)));
     }
@@ -992,14 +965,13 @@ public class TungstenElementTest {
         ReservationContext context = mock(ReservationContext.class);
         VMInstanceVO vmInstanceVO = mock(VMInstanceVO.class);
         HostVO hostVO = mock(HostVO.class);
-        TungstenAnswer tungstenAnswer = mock(TungstenAnswer.class);
+        TungstenAnswer tungstenAnswer = MockTungstenAnswerFactory.get(true);
 
         when(vm.getType()).thenReturn(VirtualMachine.Type.ConsoleProxy);
         when(network.getTrafficType()).thenReturn(Networks.TrafficType.Public);
         when(vmInstanceDao.findById(anyLong())).thenReturn(vmInstanceVO);
         when(hostDao.findById(anyLong())).thenReturn(hostVO);
         
when(tungstenFabricUtils.sendTungstenCommand(any(CreateTungstenVirtualMachineCommand.class),
 anyLong())).thenReturn(tungstenAnswer);
-        when(tungstenAnswer.getResult()).thenReturn(true);
 
         assertTrue(tungstenElement.prepareMigration(nic, network, vm, dest, 
context));
     }
diff --git 
a/plugins/network-elements/tungsten/src/test/java/org/apache/cloudstack/network/tungsten/service/TungstenFabricUtilsTest.java
 
b/plugins/network-elements/tungsten/src/test/java/org/apache/cloudstack/network/tungsten/service/TungstenFabricUtilsTest.java
index 7f2a57911b0..276487227d0 100644
--- 
a/plugins/network-elements/tungsten/src/test/java/org/apache/cloudstack/network/tungsten/service/TungstenFabricUtilsTest.java
+++ 
b/plugins/network-elements/tungsten/src/test/java/org/apache/cloudstack/network/tungsten/service/TungstenFabricUtilsTest.java
@@ -63,12 +63,11 @@ public class TungstenFabricUtilsTest {
     @Test
     public void sendTungstenCommandSuccessTest() {
         TungstenProviderVO tungstenProviderVO = mock(TungstenProviderVO.class);
-        TungstenAnswer tungstenAnswer = mock(TungstenAnswer.class);
+        TungstenAnswer tungstenAnswer = MockTungstenAnswerFactory.get(true);
         TungstenCommand tungstenCommand = mock(TungstenCommand.class);
 
         
when(tungstenProviderDao.findByZoneId(anyLong())).thenReturn(tungstenProviderVO);
         when(agentMgr.easySend(anyLong(), 
any(TungstenCommand.class))).thenReturn(tungstenAnswer);
-        when(tungstenAnswer.getResult()).thenReturn(true);
 
         assertEquals(tungstenAnswer, 
tungstenFabricUtils.sendTungstenCommand(tungstenCommand, anyLong()));
     }
@@ -93,12 +92,11 @@ public class TungstenFabricUtilsTest {
     @Test(expected = InvalidParameterValueException.class)
     public void sendTungstenCommandWithFalseAnswer() {
         TungstenProviderVO tungstenProviderVO = mock(TungstenProviderVO.class);
-        TungstenAnswer tungstenAnswer = mock(TungstenAnswer.class);
+        TungstenAnswer tungstenAnswer = MockTungstenAnswerFactory.get(false);
         TungstenCommand tungstenCommand = mock(TungstenCommand.class);
 
         
when(tungstenProviderDao.findByZoneId(anyLong())).thenReturn(tungstenProviderVO);
         when(agentMgr.easySend(anyLong(), 
any(TungstenCommand.class))).thenReturn(tungstenAnswer);
-        when(tungstenAnswer.getResult()).thenReturn(false);
 
         tungstenFabricUtils.sendTungstenCommand(tungstenCommand, anyLong());
     }
diff --git 
a/plugins/network-elements/tungsten/src/test/java/org/apache/cloudstack/network/tungsten/service/TungstenServiceImplTest.java
 
b/plugins/network-elements/tungsten/src/test/java/org/apache/cloudstack/network/tungsten/service/TungstenServiceImplTest.java
index 736d03268ae..38539d8b6c5 100644
--- 
a/plugins/network-elements/tungsten/src/test/java/org/apache/cloudstack/network/tungsten/service/TungstenServiceImplTest.java
+++ 
b/plugins/network-elements/tungsten/src/test/java/org/apache/cloudstack/network/tungsten/service/TungstenServiceImplTest.java
@@ -320,12 +320,11 @@ public class TungstenServiceImplTest {
     public void createTungstenFloatingIpTest() throws Exception {
         IPAddressVO ipAddressVO = mock(IPAddressVO.class);
         NetworkVO networkVO = mock(NetworkVO.class);
-        TungstenAnswer createTungstenFloatingIpAnswer = 
mock(TungstenAnswer.class);
+        TungstenAnswer createTungstenFloatingIpAnswer = 
MockTungstenAnswerFactory.get(true);
         Ip ip = mock(Ip.class);
 
         when(networkModel.getSystemNetworkByZoneAndTrafficType(anyLong(), 
eq(Networks.TrafficType.Public))).thenReturn(networkVO);
         
when(tungstenFabricUtils.sendTungstenCommand(any(CreateTungstenFloatingIpCommand.class),
 anyLong())).thenReturn(createTungstenFloatingIpAnswer);
-        when(createTungstenFloatingIpAnswer.getResult()).thenReturn(true);
         when(ipAddressVO.getAddress()).thenReturn(ip);
 
         assertTrue(ReflectionTestUtils.invokeMethod(tungstenService, 
"createTungstenFloatingIp", 1L, ipAddressVO));
@@ -335,11 +334,10 @@ public class TungstenServiceImplTest {
     public void deleteTungstenFloatingIpWithIpAddressTest() throws Exception {
         IPAddressVO ipAddressVO = mock(IPAddressVO.class);
         NetworkVO networkVO = mock(NetworkVO.class);
-        TungstenAnswer deleteTungstenFloatingIpAnswer = 
mock(TungstenAnswer.class);
+        TungstenAnswer deleteTungstenFloatingIpAnswer = 
MockTungstenAnswerFactory.get(true);
 
         when(networkModel.getSystemNetworkByZoneAndTrafficType(anyLong(), 
eq(Networks.TrafficType.Public))).thenReturn(networkVO);
         
when(tungstenFabricUtils.sendTungstenCommand(any(DeleteTungstenFloatingIpCommand.class),
 anyLong())).thenReturn(deleteTungstenFloatingIpAnswer);
-        when(deleteTungstenFloatingIpAnswer.getResult()).thenReturn(true);
 
         assertTrue(ReflectionTestUtils.invokeMethod(tungstenService, 
"deleteTungstenFloatingIp", 1L, ipAddressVO));
     }
@@ -348,11 +346,10 @@ public class TungstenServiceImplTest {
     public void deleteTungstenDomainTest() throws Exception {
         DomainVO domainVO = mock(DomainVO.class);
         TungstenProviderVO tungstenProviderVO = mock(TungstenProviderVO.class);
-        TungstenAnswer deleteTungstenDomainAnswer = mock(TungstenAnswer.class);
+        TungstenAnswer deleteTungstenDomainAnswer = 
MockTungstenAnswerFactory.get(true);
 
         
when(tungstenProviderDao.findAll()).thenReturn(List.of(tungstenProviderVO));
         
when(tungstenFabricUtils.sendTungstenCommand(any(DeleteTungstenDomainCommand.class),
 anyLong())).thenReturn(deleteTungstenDomainAnswer);
-        when(deleteTungstenDomainAnswer.getResult()).thenReturn(true);
 
         assertTrue(ReflectionTestUtils.invokeMethod(tungstenService, 
"deleteTungstenDomain", domainVO));
     }
@@ -361,11 +358,10 @@ public class TungstenServiceImplTest {
     public void deleteTungstenProjectTest() throws Exception {
         ProjectVO projectVO = mock(ProjectVO.class);
         TungstenProviderVO tungstenProviderVO = mock(TungstenProviderVO.class);
-        TungstenAnswer deleteTungstenProjectAnswer = 
mock(TungstenAnswer.class);
+        TungstenAnswer deleteTungstenProjectAnswer = 
MockTungstenAnswerFactory.get(true);
 
         
when(tungstenProviderDao.findAll()).thenReturn(List.of(tungstenProviderVO));
         
when(tungstenFabricUtils.sendTungstenCommand(any(DeleteTungstenProjectCommand.class),
 anyLong())).thenReturn(deleteTungstenProjectAnswer);
-        when(deleteTungstenProjectAnswer.getResult()).thenReturn(true);
 
         assertTrue(ReflectionTestUtils.invokeMethod(tungstenService, 
"deleteTungstenProject", projectVO));
     }
@@ -373,18 +369,16 @@ public class TungstenServiceImplTest {
     @Test
     public void addTungstenDefaultNetworkPolicyTest() {
         TungstenRule tungstenRule = mock(TungstenRule.class);
-        TungstenAnswer createTungstenPolicyAnswer = mock(TungstenAnswer.class);
-        TungstenAnswer applyTungstenPolicyAnswer = mock(TungstenAnswer.class);
+        TungstenAnswer createTungstenPolicyAnswer = 
MockTungstenAnswerFactory.get(true);
+        TungstenAnswer applyTungstenPolicyAnswer = 
MockTungstenAnswerFactory.get(true);
         NetworkPolicy networkPolicy = mock(NetworkPolicy.class);
 
         
when(tungstenFabricUtils.sendTungstenCommand(any(CreateTungstenNetworkPolicyCommand.class),
 anyLong())).thenReturn(createTungstenPolicyAnswer);
         
when(tungstenFabricUtils.sendTungstenCommand(any(ApplyTungstenNetworkPolicyCommand.class),
 anyLong())).thenReturn(applyTungstenPolicyAnswer);
         
when(createTungstenPolicyAnswer.getApiObjectBase()).thenReturn(networkPolicy);
-        when(createTungstenPolicyAnswer.getResult()).thenReturn(true);
-        when(applyTungstenPolicyAnswer.getResult()).thenReturn(true);
 
         assertTrue(tungstenService.addTungstenDefaultNetworkPolicy(1L, 
"default-domain:default-project", "policyName", 
"7279ed91-314e-45be-81b4-b10395fd2ae3"
-            , List.of(tungstenRule), 1, 1));
+                , List.of(tungstenRule), 1, 1));
     }
 
     @Test
@@ -393,30 +387,25 @@ public class TungstenServiceImplTest {
         VirtualNetwork managementVirtualNetwork = mock(VirtualNetwork.class);
         VirtualNetwork fabricVirtualNetwork = mock(VirtualNetwork.class);
         NetworkPolicy networkPolicy = mock(NetworkPolicy.class);
-        TungstenAnswer createTungstenNetworkAnswer = 
mock(TungstenAnswer.class);
-        TungstenAnswer updateTungstenDefaultSecurityGroupAnswer = 
mock(TungstenAnswer.class);
-        TungstenAnswer updateTungstenGlobalVrouterConfigAnswer = 
mock(TungstenAnswer.class);
-        TungstenAnswer getTungstenFabricNetworkAnswer = 
mock(TungstenAnswer.class);
-        TungstenAnswer createTungstenPolicyAnswer = mock(TungstenAnswer.class);
-        TungstenAnswer applyTungstenPolicyAnswer = mock(TungstenAnswer.class);
+        TungstenAnswer createTungstenNetworkAnswer = 
MockTungstenAnswerFactory.get(true);
+        TungstenAnswer updateTungstenDefaultSecurityGroupAnswer = 
MockTungstenAnswerFactory.get(true);
+        TungstenAnswer updateTungstenGlobalVrouterConfigAnswer = 
MockTungstenAnswerFactory.get(true);
+        TungstenAnswer getTungstenFabricNetworkAnswer = 
MockTungstenAnswerFactory.get(true);
+        TungstenAnswer createTungstenPolicyAnswer = 
MockTungstenAnswerFactory.get(true);
+        TungstenAnswer applyTungstenPolicyAnswer = 
MockTungstenAnswerFactory.get(true);
 
         when(networkModel.getSystemNetworkByZoneAndTrafficType(anyLong(),
-            
eq(Networks.TrafficType.Management))).thenReturn(managementNetwork);
+                
eq(Networks.TrafficType.Management))).thenReturn(managementNetwork);
         
when(tungstenFabricUtils.sendTungstenCommand(any(CreateTungstenNetworkCommand.class),
 anyLong())).thenReturn(createTungstenNetworkAnswer);
         
when(tungstenFabricUtils.sendTungstenCommand(any(UpdateTungstenDefaultSecurityGroupCommand.class),
 anyLong())).thenReturn(updateTungstenDefaultSecurityGroupAnswer);
         
when(tungstenFabricUtils.sendTungstenCommand(any(UpdateTungstenVrouterConfigCommand.class),
 anyLong())).thenReturn(updateTungstenGlobalVrouterConfigAnswer);
         
when(tungstenFabricUtils.sendTungstenCommand(any(GetTungstenFabricNetworkCommand.class),
 anyLong())).thenReturn(getTungstenFabricNetworkAnswer);
         
when(tungstenFabricUtils.sendTungstenCommand(any(CreateTungstenNetworkPolicyCommand.class),
 anyLong())).thenReturn(createTungstenPolicyAnswer);
         
when(tungstenFabricUtils.sendTungstenCommand(any(ApplyTungstenNetworkPolicyCommand.class),
 anyLong())).thenReturn(applyTungstenPolicyAnswer);
-        when(createTungstenNetworkAnswer.getResult()).thenReturn(true);
+
         
when(createTungstenNetworkAnswer.getApiObjectBase()).thenReturn(managementVirtualNetwork);
         
when(createTungstenPolicyAnswer.getApiObjectBase()).thenReturn(networkPolicy);
         
when(getTungstenFabricNetworkAnswer.getApiObjectBase()).thenReturn(fabricVirtualNetwork);
-        
when(updateTungstenDefaultSecurityGroupAnswer.getResult()).thenReturn(true);
-        
when(updateTungstenGlobalVrouterConfigAnswer.getResult()).thenReturn(true);
-        when(getTungstenFabricNetworkAnswer.getResult()).thenReturn(true);
-        when(createTungstenPolicyAnswer.getResult()).thenReturn(true);
-        when(applyTungstenPolicyAnswer.getResult()).thenReturn(true);
 
         assertTrue(tungstenService.createManagementNetwork(1L));
     }
@@ -425,17 +414,15 @@ public class TungstenServiceImplTest {
     public void addManagementNetworkSubnetTest() {
         HostPodVO hostPodVO = mock(HostPodVO.class);
         Network managementNetwork = mock(Network.class);
-        TungstenAnswer addTungstenNetworkSubnetAnswer = 
mock(TungstenAnswer.class);
-        TungstenAnswer getTungstenNetworkDnsAnswer = 
mock(TungstenAnswer.class);
+        TungstenAnswer addTungstenNetworkSubnetAnswer = 
MockTungstenAnswerFactory.get(true);
+        TungstenAnswer getTungstenNetworkDnsAnswer = 
MockTungstenAnswerFactory.get(true);
         DataCenterIpAddressVO dataCenterIpAddressVO = 
mock(DataCenterIpAddressVO.class);
 
         
when(hostPodVO.getDescription()).thenReturn("192.168.100.100-192.168.100.200");
         when(networkModel.getSystemNetworkByZoneAndTrafficType(anyLong(),
-            
eq(Networks.TrafficType.Management))).thenReturn(managementNetwork);
+                
eq(Networks.TrafficType.Management))).thenReturn(managementNetwork);
         
when(tungstenFabricUtils.sendTungstenCommand(any(AddTungstenNetworkSubnetCommand.class),
 anyLong())).thenReturn(addTungstenNetworkSubnetAnswer);
         
when(tungstenFabricUtils.sendTungstenCommand(any(GetTungstenNetworkDnsCommand.class),
 anyLong())).thenReturn(getTungstenNetworkDnsAnswer);
-        when(addTungstenNetworkSubnetAnswer.getResult()).thenReturn(true);
-        when(getTungstenNetworkDnsAnswer.getResult()).thenReturn(true);
         
when(getTungstenNetworkDnsAnswer.getDetails()).thenReturn("192.168.100.150");
         when(managementNetwork.getCidr()).thenReturn("192.168.100.0/24");
         
when(managementNetwork.getTrafficType()).thenReturn(Networks.TrafficType.Management);
@@ -448,21 +435,18 @@ public class TungstenServiceImplTest {
     @Test
     public void deleteManagementNetworkTest() {
         Network managementNetwork = mock(Network.class);
-        TungstenAnswer deleteTungstenManagementPolicyAnswer = 
mock(TungstenAnswer.class);
-        TungstenAnswer getTungstenFabricNetworkAnswer = 
mock(TungstenAnswer.class);
-        TungstenAnswer deleteTungstenFabricPolicyAnswer = 
mock(TungstenAnswer.class);
-        TungstenAnswer deleteTungstenNetworkAnswer = 
mock(TungstenAnswer.class);
+        TungstenAnswer deleteTungstenManagementPolicyAnswer = 
MockTungstenAnswerFactory.get(true);
+        TungstenAnswer getTungstenFabricNetworkAnswer = 
MockTungstenAnswerFactory.get(true);
+        TungstenAnswer deleteTungstenFabricPolicyAnswer = 
MockTungstenAnswerFactory.get(true);
+        TungstenAnswer deleteTungstenNetworkAnswer = 
MockTungstenAnswerFactory.get(true);
         VirtualNetwork fabricVirtualNetwork = mock(VirtualNetwork.class);
 
         when(networkModel.getSystemNetworkByZoneAndTrafficType(anyLong(),
-            
eq(Networks.TrafficType.Management))).thenReturn(managementNetwork);
+                
eq(Networks.TrafficType.Management))).thenReturn(managementNetwork);
         
when(tungstenFabricUtils.sendTungstenCommand(any(GetTungstenFabricNetworkCommand.class),
 anyLong())).thenReturn(getTungstenFabricNetworkAnswer);
         
when(tungstenFabricUtils.sendTungstenCommand(any(DeleteTungstenNetworkPolicyCommand.class),
 anyLong())).thenReturn(deleteTungstenFabricPolicyAnswer);
         
when(tungstenFabricUtils.sendTungstenCommand(any(DeleteTungstenNetworkCommand.class),
 anyLong())).thenReturn(deleteTungstenNetworkAnswer);
         
when(getTungstenFabricNetworkAnswer.getApiObjectBase()).thenReturn(fabricVirtualNetwork);
-        when(getTungstenFabricNetworkAnswer.getResult()).thenReturn(true);
-        when(deleteTungstenFabricPolicyAnswer.getResult()).thenReturn(true);
-        when(deleteTungstenNetworkAnswer.getResult()).thenReturn(true);
 
         assertTrue(tungstenService.deleteManagementNetwork(1L));
     }
@@ -471,16 +455,14 @@ public class TungstenServiceImplTest {
     public void removeManagementNetworkSubnetTest() {
         HostPodVO hostPodVO = mock(HostPodVO.class);
         Network managementNetwork = mock(Network.class);
-        TungstenAnswer removeTungstenNetworkSubnetAnswer = 
mock(TungstenAnswer.class);
-        TungstenAnswer getTungstenNetworkDnsAnswer = 
mock(TungstenAnswer.class);
+        TungstenAnswer removeTungstenNetworkSubnetAnswer = 
MockTungstenAnswerFactory.get(true);
+        TungstenAnswer getTungstenNetworkDnsAnswer = 
MockTungstenAnswerFactory.get(true);
         DataCenterIpAddressVO dataCenterIpAddressVO = 
mock(DataCenterIpAddressVO.class);
 
         when(networkModel.getSystemNetworkByZoneAndTrafficType(anyLong(),
-            
eq(Networks.TrafficType.Management))).thenReturn(managementNetwork);
+                
eq(Networks.TrafficType.Management))).thenReturn(managementNetwork);
         
when(tungstenFabricUtils.sendTungstenCommand(any(RemoveTungstenNetworkSubnetCommand.class),
 anyLong())).thenReturn(removeTungstenNetworkSubnetAnswer);
         
when(tungstenFabricUtils.sendTungstenCommand(any(GetTungstenNetworkDnsCommand.class),
 anyLong())).thenReturn(getTungstenNetworkDnsAnswer);
-        when(removeTungstenNetworkSubnetAnswer.getResult()).thenReturn(true);
-        when(getTungstenNetworkDnsAnswer.getResult()).thenReturn(true);
         
when(getTungstenNetworkDnsAnswer.getDetails()).thenReturn("192.168.100.150");
         
when(managementNetwork.getTrafficType()).thenReturn(Networks.TrafficType.Management);
         when(dataCenterIpAddressDao.listByPodIdDcIdIpAddress(anyLong(), 
anyLong(), anyString())).thenReturn(List.of(dataCenterIpAddressVO));
@@ -495,20 +477,16 @@ public class TungstenServiceImplTest {
         VirtualNetwork virtualNetwork = mock(VirtualNetwork.class);
         NetworkDetailVO networkDetailVO = mock(NetworkDetailVO.class);
         NetworkPolicy networkPolicy = mock(NetworkPolicy.class);
-        TungstenAnswer createPublicNetworkAnswer = mock(TungstenAnswer.class);
-        TungstenAnswer createFloatingIpPoolAnswer = mock(TungstenAnswer.class);
-        TungstenAnswer createTungstenPolicyAnswer = mock(TungstenAnswer.class);
-        TungstenAnswer applyTungstenPolicyAnswer = mock(TungstenAnswer.class);
+        TungstenAnswer createPublicNetworkAnswer = 
MockTungstenAnswerFactory.get(true);
+        TungstenAnswer createFloatingIpPoolAnswer = 
MockTungstenAnswerFactory.get(true);
+        TungstenAnswer createTungstenPolicyAnswer = 
MockTungstenAnswerFactory.get(true);
+        TungstenAnswer applyTungstenPolicyAnswer = 
MockTungstenAnswerFactory.get(true);
 
         when(networkModel.getSystemNetworkByZoneAndTrafficType(anyLong(), 
eq(Networks.TrafficType.Public))).thenReturn(publicNetwork);
         
when(tungstenFabricUtils.sendTungstenCommand(any(CreateTungstenNetworkCommand.class),
 anyLong())).thenReturn(createPublicNetworkAnswer);
         
when(tungstenFabricUtils.sendTungstenCommand(any(CreateTungstenFloatingIpPoolCommand.class),
 anyLong())).thenReturn(createFloatingIpPoolAnswer);
         
when(tungstenFabricUtils.sendTungstenCommand(any(CreateTungstenNetworkPolicyCommand.class),
 anyLong())).thenReturn(createTungstenPolicyAnswer);
         
when(tungstenFabricUtils.sendTungstenCommand(any(ApplyTungstenNetworkPolicyCommand.class),
 anyLong())).thenReturn(applyTungstenPolicyAnswer);
-        when(createPublicNetworkAnswer.getResult()).thenReturn(true);
-        when(createFloatingIpPoolAnswer.getResult()).thenReturn(true);
-        when(createTungstenPolicyAnswer.getResult()).thenReturn(true);
-        when(applyTungstenPolicyAnswer.getResult()).thenReturn(true);
         
when(createPublicNetworkAnswer.getApiObjectBase()).thenReturn(virtualNetwork);
         
when(createTungstenPolicyAnswer.getApiObjectBase()).thenReturn(networkPolicy);
         
when(networkDetailsDao.persist(any(NetworkDetailVO.class))).thenReturn(networkDetailVO);
@@ -521,11 +499,11 @@ public class TungstenServiceImplTest {
     public void addPublicNetworkSubnetTest() {
         VlanVO vlanVO = mock(VlanVO.class);
         Network publicNetwork = mock(Network.class);
-        TungstenAnswer addTungstenNetworkSubnetAnswer = 
mock(TungstenAnswer.class);
-        TungstenAnswer createTungstenPolicyAnswer = mock(TungstenAnswer.class);
-        TungstenAnswer applyTungstenPolicyAnswer = mock(TungstenAnswer.class);
+        TungstenAnswer addTungstenNetworkSubnetAnswer = 
MockTungstenAnswerFactory.get(true);
+        TungstenAnswer createTungstenPolicyAnswer = 
MockTungstenAnswerFactory.get(true);
+        TungstenAnswer applyTungstenPolicyAnswer = 
MockTungstenAnswerFactory.get(true);
         NetworkPolicy networkPolicy = mock(NetworkPolicy.class);
-        TungstenAnswer getTungstenNetworkDnsAnswer = 
mock(TungstenAnswer.class);
+        TungstenAnswer getTungstenNetworkDnsAnswer = 
MockTungstenAnswerFactory.get(true);
         IPAddressVO ipAddressVO = mock(IPAddressVO.class);
 
         when(networkModel.getSystemNetworkByZoneAndTrafficType(anyLong(), 
eq(Networks.TrafficType.Public))).thenReturn(publicNetwork);
@@ -538,11 +516,6 @@ public class TungstenServiceImplTest {
         when(vlanVO.getVlanGateway()).thenReturn("192.168.100.1");
         when(vlanVO.getVlanNetmask()).thenReturn("255.255.255.0");
         when(publicNetwork.getCidr()).thenReturn("192.168.100.0/24");
-        when(addTungstenNetworkSubnetAnswer.getResult()).thenReturn(true);
-        when(getTungstenNetworkDnsAnswer.getResult()).thenReturn(true);
-        when(addTungstenNetworkSubnetAnswer.getResult()).thenReturn(true);
-        when(createTungstenPolicyAnswer.getResult()).thenReturn(true);
-        when(applyTungstenPolicyAnswer.getResult()).thenReturn(true);
         
when(publicNetwork.getTrafficType()).thenReturn(Networks.TrafficType.Public);
         
when(createTungstenPolicyAnswer.getApiObjectBase()).thenReturn(networkPolicy);
         when(ipAddressDao.mark(anyLong(), any(Ip.class))).thenReturn(true);
@@ -553,17 +526,14 @@ public class TungstenServiceImplTest {
     @Test
     public void deletePublicNetworkTest() {
         Network publicNetwork = mock(Network.class);
-        TungstenAnswer deleteTungstenNetworkPolicyAnswer = 
mock(TungstenAnswer.class);
-        TungstenAnswer deleteTungstenFloatingIpPoolAnswer = 
mock(TungstenAnswer.class);
-        TungstenAnswer deleteTungstenNetworkAnswer = 
mock(TungstenAnswer.class);
+        TungstenAnswer deleteTungstenNetworkPolicyAnswer = 
MockTungstenAnswerFactory.get(true);
+        TungstenAnswer deleteTungstenFloatingIpPoolAnswer = 
MockTungstenAnswerFactory.get(true);
+        TungstenAnswer deleteTungstenNetworkAnswer = 
MockTungstenAnswerFactory.get(true);
 
         when(networkModel.getSystemNetworkByZoneAndTrafficType(anyLong(), 
eq(Networks.TrafficType.Public))).thenReturn(publicNetwork);
         
when(tungstenFabricUtils.sendTungstenCommand(any(DeleteTungstenNetworkPolicyCommand.class),
 anyLong())).thenReturn(deleteTungstenNetworkPolicyAnswer);
         
when(tungstenFabricUtils.sendTungstenCommand(any(DeleteTungstenFloatingIpPoolCommand.class),
 anyLong())).thenReturn(deleteTungstenFloatingIpPoolAnswer);
         
when(tungstenFabricUtils.sendTungstenCommand(any(DeleteTungstenNetworkCommand.class),
 anyLong())).thenReturn(deleteTungstenNetworkAnswer);
-        when(deleteTungstenNetworkPolicyAnswer.getResult()).thenReturn(true);
-        when(deleteTungstenFloatingIpPoolAnswer.getResult()).thenReturn(true);
-        when(deleteTungstenNetworkAnswer.getResult()).thenReturn(true);
 
         assertTrue(tungstenService.deletePublicNetwork(1L));
     }
@@ -572,18 +542,15 @@ public class TungstenServiceImplTest {
     public void removePublicNetworkSubnetTest() {
         VlanVO vlanVO = mock(VlanVO.class);
         Network publicNetwork = mock(Network.class);
-        TungstenAnswer deleteTungstenNetworkPolicyAnswer = 
mock(TungstenAnswer.class);
-        TungstenAnswer removeTungstenNetworkSubnetAnswer = 
mock(TungstenAnswer.class);
-        TungstenAnswer getTungstenNetworkDnsAnswer = 
mock(TungstenAnswer.class);
+        TungstenAnswer deleteTungstenNetworkPolicyAnswer = 
MockTungstenAnswerFactory.get(true);
+        TungstenAnswer removeTungstenNetworkSubnetAnswer = 
MockTungstenAnswerFactory.get(true);
+        TungstenAnswer getTungstenNetworkDnsAnswer = 
MockTungstenAnswerFactory.get(true);
         IPAddressVO ipAddressVO = mock(IPAddressVO.class);
 
         when(networkModel.getSystemNetworkByZoneAndTrafficType(anyLong(), 
eq(Networks.TrafficType.Public))).thenReturn(publicNetwork);
         
when(tungstenFabricUtils.sendTungstenCommand(any(DeleteTungstenNetworkPolicyCommand.class),
 anyLong())).thenReturn(deleteTungstenNetworkPolicyAnswer);
         
when(tungstenFabricUtils.sendTungstenCommand(any(RemoveTungstenNetworkSubnetCommand.class),
 anyLong())).thenReturn(removeTungstenNetworkSubnetAnswer);
         
when(tungstenFabricUtils.sendTungstenCommand(any(GetTungstenNetworkDnsCommand.class),
 anyLong())).thenReturn(getTungstenNetworkDnsAnswer);
-        when(deleteTungstenNetworkPolicyAnswer.getResult()).thenReturn(true);
-        when(removeTungstenNetworkSubnetAnswer.getResult()).thenReturn(true);
-        when(getTungstenNetworkDnsAnswer.getResult()).thenReturn(true);
         
when(getTungstenNetworkDnsAnswer.getDetails()).thenReturn("192.168.100.150");
         
when(publicNetwork.getTrafficType()).thenReturn(Networks.TrafficType.Public);
         when(ipAddressDao.findByIpAndDcId(anyLong(), 
anyString())).thenReturn(ipAddressVO);
@@ -595,11 +562,10 @@ public class TungstenServiceImplTest {
     @Test
     public void allocateDnsIpAddressTest() {
         NetworkVO networkVO = mock(NetworkVO.class);
-        TungstenAnswer getTungstenNetworkDnsAnswer = 
mock(TungstenAnswer.class);
+        TungstenAnswer getTungstenNetworkDnsAnswer = 
MockTungstenAnswerFactory.get(true);
         TungstenGuestNetworkIpAddressVO tungstenGuestNetworkIpAddressVO = 
mock(TungstenGuestNetworkIpAddressVO.class);
 
         
when(tungstenFabricUtils.sendTungstenCommand(any(GetTungstenNetworkDnsCommand.class),
 anyLong())).thenReturn(getTungstenNetworkDnsAnswer);
-        when(getTungstenNetworkDnsAnswer.getResult()).thenReturn(true);
         
when(networkVO.getTrafficType()).thenReturn(Networks.TrafficType.Guest);
         when(networkVO.getGuestType()).thenReturn(Network.GuestType.Isolated);
         
when(tungstenGuestNetworkIpAddressDao.persist(any(TungstenGuestNetworkIpAddressVO.class))).thenReturn(tungstenGuestNetworkIpAddressVO);
@@ -612,11 +578,10 @@ public class TungstenServiceImplTest {
     @Test
     public void deallocateDnsIpAddressTest() {
         NetworkVO networkVO = mock(NetworkVO.class);
-        TungstenAnswer getTungstenNetworkDnsAnswer = 
mock(TungstenAnswer.class);
+        TungstenAnswer getTungstenNetworkDnsAnswer = 
MockTungstenAnswerFactory.get(true);
         TungstenGuestNetworkIpAddressVO tungstenGuestNetworkIpAddressVO = 
mock(TungstenGuestNetworkIpAddressVO.class);
 
         
when(tungstenFabricUtils.sendTungstenCommand(any(GetTungstenNetworkDnsCommand.class),
 anyLong())).thenReturn(getTungstenNetworkDnsAnswer);
-        when(getTungstenNetworkDnsAnswer.getResult()).thenReturn(true);
         
when(networkVO.getTrafficType()).thenReturn(Networks.TrafficType.Guest);
         when(networkVO.getGuestType()).thenReturn(Network.GuestType.Isolated);
         
when(tungstenGuestNetworkIpAddressDao.findByNetworkAndGuestIpAddress(anyLong(), 
anyString())).thenReturn(tungstenGuestNetworkIpAddressVO);
@@ -655,22 +620,18 @@ public class TungstenServiceImplTest {
         DomainVO domainVO = mock(DomainVO.class);
         ProjectVO projectVO = mock(ProjectVO.class);
         TungstenProviderVO tungstenProviderVO = mock(TungstenProviderVO.class);
-        TungstenAnswer createTungstenDomainAnswer = mock(TungstenAnswer.class);
-        TungstenAnswer createTungstenProjectAnswer = 
mock(TungstenAnswer.class);
-        TungstenAnswer createTungstenDefaultProjectAnswer = 
mock(TungstenAnswer.class);
-        TungstenAnswer updateTungstenDefaultSecurityGroupAnswer = 
mock(TungstenAnswer.class);
+        TungstenAnswer createTungstenDomainAnswer = 
MockTungstenAnswerFactory.get(true);
+        TungstenAnswer createTungstenProjectAnswer = 
MockTungstenAnswerFactory.get(true);
+        TungstenAnswer createTungstenDefaultProjectAnswer = 
MockTungstenAnswerFactory.get(true);
+        TungstenAnswer updateTungstenDefaultSecurityGroupAnswer = 
MockTungstenAnswerFactory.get(true);
 
         when(domainDao.listAll()).thenReturn(List.of(domainVO));
         when(projectDao.listAll()).thenReturn(List.of(projectVO));
         
when(tungstenProviderDao.findAll()).thenReturn(List.of(tungstenProviderVO));
         
when(tungstenFabricUtils.sendTungstenCommand(any(CreateTungstenDomainCommand.class),
 anyLong())).thenReturn(createTungstenDomainAnswer);
-        when(createTungstenDomainAnswer.getResult()).thenReturn(true);
         
when(tungstenFabricUtils.sendTungstenCommand(any(CreateTungstenProjectCommand.class),
 anyLong())).thenReturn(createTungstenProjectAnswer);
-        when(createTungstenProjectAnswer.getResult()).thenReturn(true);
         
when(tungstenFabricUtils.sendTungstenCommand(any(UpdateTungstenDefaultSecurityGroupCommand.class),
 anyLong())).thenReturn(updateTungstenDefaultSecurityGroupAnswer);
-        
when(updateTungstenDefaultSecurityGroupAnswer.getResult()).thenReturn(true);
         
when(tungstenFabricUtils.sendTungstenCommand(any(CreateTungstenDefaultProjectCommand.class),
 anyLong())).thenReturn(createTungstenDefaultProjectAnswer);
-        when(createTungstenDefaultProjectAnswer.getResult()).thenReturn(true);
         when(domainDao.findById(anyLong())).thenReturn(domainVO);
 
         
assertTrue(tungstenService.syncTungstenDbWithCloudstackProjectsAndDomains());
@@ -683,8 +644,8 @@ public class TungstenServiceImplTest {
         Network publicNetwork = mock(Network.class);
         IPAddressVO ipAddressVO = mock(IPAddressVO.class);
         HostVO hostVO = mock(HostVO.class);
-        TungstenAnswer getTungstenLoadBalancerAnswer = 
mock(TungstenAnswer.class);
-        TungstenAnswer updateLoadBalancerServiceInstanceAnswer = 
mock(TungstenAnswer.class);
+        TungstenAnswer getTungstenLoadBalancerAnswer = 
MockTungstenAnswerFactory.get(true);
+        TungstenAnswer updateLoadBalancerServiceInstanceAnswer = 
MockTungstenAnswerFactory.get(true);
         Answer updateTungstenLoadbalancerStatsAnswer = mock(Answer.class);
         Answer updateTungstenLoadbalancerSslAnswer = mock(Answer.class);
         FirewallRuleVO firewallRuleVO = mock(FirewallRuleVO.class);
@@ -702,8 +663,6 @@ public class TungstenServiceImplTest {
         
when(tungstenFabricUtils.sendTungstenCommand(any(UpdateLoadBalancerServiceInstanceCommand.class),
 anyLong())).thenReturn(updateLoadBalancerServiceInstanceAnswer);
         when(agentMgr.easySend(anyLong(), 
any(UpdateTungstenLoadbalancerStatsCommand.class))).thenReturn(updateTungstenLoadbalancerStatsAnswer);
         when(agentMgr.easySend(anyLong(), 
any(UpdateTungstenLoadbalancerSslCommand.class))).thenReturn(updateTungstenLoadbalancerSslAnswer);
-        when(getTungstenLoadBalancerAnswer.getResult()).thenReturn(true);
-        
when(updateLoadBalancerServiceInstanceAnswer.getResult()).thenReturn(true);
         
when(updateTungstenLoadbalancerStatsAnswer.getResult()).thenReturn(true);
         when(updateTungstenLoadbalancerSslAnswer.getResult()).thenReturn(true);
         
when(configDao.getValue(Config.NetworkLBHaproxyStatsVisbility.key())).thenReturn("enabled");
@@ -728,16 +687,14 @@ public class TungstenServiceImplTest {
         TungstenProviderVO tungstenProviderVO = mock(TungstenProviderVO.class);
         DomainVO domainVO = mock(DomainVO.class);
         TungstenSecurityGroupRuleVO tungstenSecurityGroupRuleVO = 
mock(TungstenSecurityGroupRuleVO.class);
-        TungstenAnswer createTungstenSecurityGroupAnswer = 
mock(TungstenAnswer.class);
-        TungstenAnswer addTungstenSecurityGroupRuleAnswer = 
mock(TungstenAnswer.class);
+        TungstenAnswer createTungstenSecurityGroupAnswer = 
MockTungstenAnswerFactory.get(true);
+        TungstenAnswer addTungstenSecurityGroupRuleAnswer = 
MockTungstenAnswerFactory.get(true);
 
         
when(projectDao.findByProjectAccountId(anyLong())).thenReturn(projectVO);
         
when(tungstenProviderDao.findAll()).thenReturn(List.of(tungstenProviderVO));
         when(domainDao.findById(anyLong())).thenReturn(domainVO);
         
when(tungstenFabricUtils.sendTungstenCommand(any(CreateTungstenSecurityGroupCommand.class),
 anyLong())).thenReturn(createTungstenSecurityGroupAnswer);
         
when(tungstenFabricUtils.sendTungstenCommand(any(AddTungstenSecurityGroupRuleCommand.class),
 anyLong())).thenReturn(addTungstenSecurityGroupRuleAnswer);
-        when(createTungstenSecurityGroupAnswer.getResult()).thenReturn(true);
-        when(addTungstenSecurityGroupRuleAnswer.getResult()).thenReturn(true);
 
         try (MockedStatic<Transaction> transactionMocked = 
Mockito.mockStatic(Transaction.class)) {
             transactionMocked.when(() -> 
Transaction.execute(any(TransactionCallback.class))).thenReturn(List.of(tungstenSecurityGroupRuleVO));
@@ -749,11 +706,10 @@ public class TungstenServiceImplTest {
     public void deleteTungstenSecurityGroupTest() {
         SecurityGroup securityGroup = mock(SecurityGroup.class);
         TungstenProviderVO tungstenProviderVO = mock(TungstenProviderVO.class);
-        TungstenAnswer deleteTungstenSecurityGroupAnswer = 
mock(TungstenAnswer.class);
+        TungstenAnswer deleteTungstenSecurityGroupAnswer = 
MockTungstenAnswerFactory.get(true);
 
         
when(tungstenProviderDao.findAll()).thenReturn(List.of(tungstenProviderVO));
         
when(tungstenFabricUtils.sendTungstenCommand(any(DeleteTungstenSecurityGroupCommand.class),
 anyLong())).thenReturn(deleteTungstenSecurityGroupAnswer);
-        when(deleteTungstenSecurityGroupAnswer.getResult()).thenReturn(true);
 
         assertTrue(tungstenService.deleteTungstenSecurityGroup(securityGroup));
     }
@@ -763,8 +719,8 @@ public class TungstenServiceImplTest {
         SecurityRule securityRule = mock(SecurityRule.class);
         SecurityGroupVO securityGroupVO = mock(SecurityGroupVO.class);
         TungstenAnswer getTungstenSecurityGroupAnswer = 
mock(TungstenAnswer.class);
-        TungstenAnswer removeTungstenSecurityGroupRuleAnswer = 
mock(TungstenAnswer.class);
-        TungstenAnswer addTungstenSecurityGroupRuleAnswer = 
mock(TungstenAnswer.class);
+        TungstenAnswer removeTungstenSecurityGroupRuleAnswer = 
MockTungstenAnswerFactory.get(true);
+        TungstenAnswer addTungstenSecurityGroupRuleAnswer = 
MockTungstenAnswerFactory.get(true);
         TungstenProviderVO tungstenProviderVO = mock(TungstenProviderVO.class);
         net.juniper.tungsten.api.types.SecurityGroup securityGroup = 
mock(net.juniper.tungsten.api.types.SecurityGroup.class);
         TungstenSecurityGroupRuleVO tungstenSecurityGroupRuleVO = 
mock(TungstenSecurityGroupRuleVO.class);
@@ -775,8 +731,6 @@ public class TungstenServiceImplTest {
         
when(tungstenFabricUtils.sendTungstenCommand(any(GetTungstenSecurityGroupCommand.class),
 anyLong())).thenReturn(getTungstenSecurityGroupAnswer);
         
when(tungstenFabricUtils.sendTungstenCommand(any(RemoveTungstenSecurityGroupRuleCommand.class),
 anyLong())).thenReturn(removeTungstenSecurityGroupRuleAnswer);
         
when(tungstenFabricUtils.sendTungstenCommand(any(AddTungstenSecurityGroupRuleCommand.class),
 anyLong())).thenReturn(addTungstenSecurityGroupRuleAnswer);
-        
when(removeTungstenSecurityGroupRuleAnswer.getResult()).thenReturn(true);
-        when(addTungstenSecurityGroupRuleAnswer.getResult()).thenReturn(true);
         
when(getTungstenSecurityGroupAnswer.getApiObjectBase()).thenReturn(securityGroup);
         
when(securityRule.getRuleType()).thenReturn(SecurityRule.SecurityRuleType.EgressRule);
         when(tungstenSecurityGroupRuleDao.findDefaultSecurityRule(anyLong(), 
anyString(), anyString())).thenReturn(tungstenSecurityGroupRuleVO);
@@ -799,7 +753,7 @@ public class TungstenServiceImplTest {
         SecurityRule securityRule = mock(SecurityRule.class);
         SecurityGroupVO securityGroupVO = mock(SecurityGroupVO.class);
         TungstenAnswer getTungstenSecurityGroupAnswer = 
mock(TungstenAnswer.class);
-        TungstenAnswer addTungstenSecurityGroupRuleAnswer = 
mock(TungstenAnswer.class);
+        TungstenAnswer addTungstenSecurityGroupRuleAnswer = 
MockTungstenAnswerFactory.get(true);
         TungstenProviderVO tungstenProviderVO = mock(TungstenProviderVO.class);
         net.juniper.tungsten.api.types.SecurityGroup securityGroup = 
mock(net.juniper.tungsten.api.types.SecurityGroup.class);
 
@@ -807,7 +761,6 @@ public class TungstenServiceImplTest {
         when(securityGroupDao.findById(anyLong())).thenReturn(securityGroupVO);
         
when(tungstenFabricUtils.sendTungstenCommand(any(GetTungstenSecurityGroupCommand.class),
 anyLong())).thenReturn(getTungstenSecurityGroupAnswer);
         
when(tungstenFabricUtils.sendTungstenCommand(any(AddTungstenSecurityGroupRuleCommand.class),
 anyLong())).thenReturn(addTungstenSecurityGroupRuleAnswer);
-        when(addTungstenSecurityGroupRuleAnswer.getResult()).thenReturn(true);
         
when(getTungstenSecurityGroupAnswer.getApiObjectBase()).thenReturn(securityGroup);
         
when(securityRule.getRuleType()).thenReturn(SecurityRule.SecurityRuleType.IngressRule);
         when(securityRule.getProtocol()).thenReturn(NetUtils.ALL_PROTO);
@@ -823,8 +776,8 @@ public class TungstenServiceImplTest {
         SecurityGroupVO securityGroupVO = mock(SecurityGroupVO.class);
         TungstenProviderVO tungstenProviderVO = mock(TungstenProviderVO.class);
         TungstenSecurityGroupRuleVO tungstenSecurityGroupRuleVO = 
mock(TungstenSecurityGroupRuleVO.class);
-        TungstenAnswer addTungstenSecurityGroupRuleAnswer = 
mock(TungstenAnswer.class);
-        TungstenAnswer removeTungstenSecurityGroupRuleAnswer = 
mock(TungstenAnswer.class);
+        TungstenAnswer addTungstenSecurityGroupRuleAnswer = 
MockTungstenAnswerFactory.get(true);
+        TungstenAnswer removeTungstenSecurityGroupRuleAnswer = 
MockTungstenAnswerFactory.get(true);
         NicVO nicVO = mock(NicVO.class);
 
         
when(tungstenProviderDao.findAll()).thenReturn(List.of(tungstenProviderVO));
@@ -834,8 +787,6 @@ public class TungstenServiceImplTest {
         
when(tungstenSecurityGroupRuleDao.persist(any(TungstenSecurityGroupRuleVO.class))).thenReturn(tungstenSecurityGroupRuleVO);
         
when(tungstenFabricUtils.sendTungstenCommand(any(AddTungstenSecurityGroupRuleCommand.class),
 anyLong())).thenReturn(addTungstenSecurityGroupRuleAnswer);
         
when(tungstenFabricUtils.sendTungstenCommand(any(RemoveTungstenSecurityGroupRuleCommand.class),
 anyLong())).thenReturn(removeTungstenSecurityGroupRuleAnswer);
-        when(addTungstenSecurityGroupRuleAnswer.getResult()).thenReturn(true);
-        
when(removeTungstenSecurityGroupRuleAnswer.getResult()).thenReturn(true);
         when(securityRule.getAllowedNetworkId()).thenReturn(1L);
         
when(securityGroupVMMapDao.listVmIdsBySecurityGroup(anyLong())).thenReturn(List.of(1L));
         when(nicDao.findDefaultNicForVM(anyLong())).thenReturn(nicVO);
@@ -854,13 +805,12 @@ public class TungstenServiceImplTest {
         SecurityRule securityRule = mock(SecurityRule.class);
         SecurityGroupVO securityGroupVO = mock(SecurityGroupVO.class);
         TungstenProviderVO tungstenProviderVO = mock(TungstenProviderVO.class);
-        TungstenAnswer removeTungstenSecurityGroupRuleAnswer = 
mock(TungstenAnswer.class);
+        TungstenAnswer removeTungstenSecurityGroupRuleAnswer = 
MockTungstenAnswerFactory.get(true);
 
         
when(tungstenProviderDao.findAll()).thenReturn(List.of(tungstenProviderVO));
         when(securityGroupDao.findById(anyLong())).thenReturn(securityGroupVO);
         
when(securityRule.getRuleType()).thenReturn(SecurityRule.SecurityRuleType.IngressRule);
         
when(tungstenFabricUtils.sendTungstenCommand(any(RemoveTungstenSecurityGroupRuleCommand.class),
 anyLong())).thenReturn(removeTungstenSecurityGroupRuleAnswer);
-        
when(removeTungstenSecurityGroupRuleAnswer.getResult()).thenReturn(true);
         when(securityRule.getAllowedNetworkId()).thenReturn(null);
 
         
assertTrue(tungstenService.removeTungstenSecurityGroupRule(securityRule));
@@ -876,8 +826,8 @@ public class TungstenServiceImplTest {
         SecurityGroupRuleVO securityGroupRuleVO = 
mock(SecurityGroupRuleVO.class);
         TungstenSecurityGroupRuleVO tungstenSecurityGroupRuleVO = 
mock(TungstenSecurityGroupRuleVO.class);
         TungstenProviderVO tungstenProviderVO = mock(TungstenProviderVO.class);
-        TungstenAnswer addTungstenSecondaryIpAddressAnswer = 
mock(TungstenAnswer.class);
-        TungstenAnswer addTungstenSecurityGroupRuleAnswer = 
mock(TungstenAnswer.class);
+        TungstenAnswer addTungstenSecondaryIpAddressAnswer = 
MockTungstenAnswerFactory.get(true);
+        TungstenAnswer addTungstenSecurityGroupRuleAnswer = 
MockTungstenAnswerFactory.get(true);
 
         when(entityMgr.findById(eq(NicSecondaryIp.class), 
anyLong())).thenReturn(nicSecondaryIp);
         when(entityMgr.findById(eq(Network.class), 
anyLong())).thenReturn(network);
@@ -886,8 +836,6 @@ public class TungstenServiceImplTest {
         when(nicSecondaryIp.getIp4Address()).thenReturn("192.168.100.100");
         
when(tungstenFabricUtils.sendTungstenCommand(any(AddTungstenSecondaryIpAddressCommand.class),
 anyLong())).thenReturn(addTungstenSecondaryIpAddressAnswer);
         
when(tungstenFabricUtils.sendTungstenCommand(any(AddTungstenSecurityGroupRuleCommand.class),
 anyLong())).thenReturn(addTungstenSecurityGroupRuleAnswer);
-        when(addTungstenSecondaryIpAddressAnswer.getResult()).thenReturn(true);
-        when(addTungstenSecurityGroupRuleAnswer.getResult()).thenReturn(true);
         when(dataCenter.isSecurityGroupEnabled()).thenReturn(true);
         when(network.getGuestType()).thenReturn(Network.GuestType.Shared);
         
when(securityGroupManager.getSecurityGroupsForVm(anyLong())).thenReturn(List.of(securityGroupVO));
@@ -904,17 +852,16 @@ public class TungstenServiceImplTest {
         NicSecondaryIpVO nicSecondaryIpVO = mock(NicSecondaryIpVO.class);
         Network network = mock(Network.class);
         DataCenter dataCenter = mock(DataCenter.class);
-        TungstenAnswer removeTungstenSecondaryIpAddressAnswer = 
mock(TungstenAnswer.class);
+        TungstenAnswer removeTungstenSecondaryIpAddressAnswer = 
MockTungstenAnswerFactory.get(true);
         TungstenSecurityGroupRuleVO tungstenSecurityGroupRuleVO = 
mock(TungstenSecurityGroupRuleVO.class);
         SecurityGroupVO securityGroupVO = mock(SecurityGroupVO.class);
-        TungstenAnswer removeTungstenSecurityGroupRuleAnswer = 
mock(TungstenAnswer.class);
+        TungstenAnswer removeTungstenSecurityGroupRuleAnswer = 
MockTungstenAnswerFactory.get(true);
 
         when(entityMgr.findById(eq(Network.class), 
anyLong())).thenReturn(network);
         when(entityMgr.findById(eq(DataCenter.class), 
anyLong())).thenReturn(dataCenter);
         
when(tungstenFabricUtils.sendTungstenCommand(any(RemoveTungstenSecondaryIpAddressCommand.class),
 anyLong())).thenReturn(removeTungstenSecondaryIpAddressAnswer);
         
when(tungstenFabricUtils.sendTungstenCommand(any(RemoveTungstenSecurityGroupRuleCommand.class),
 anyLong())).thenReturn(removeTungstenSecurityGroupRuleAnswer);
-        
when(removeTungstenSecondaryIpAddressAnswer.getResult()).thenReturn(true);
-        
when(removeTungstenSecurityGroupRuleAnswer.getResult()).thenReturn(true);
+
         when(dataCenter.isSecurityGroupEnabled()).thenReturn(true);
         when(network.getGuestType()).thenReturn(Network.GuestType.Shared);
         
when(tungstenSecurityGroupRuleDao.listByRuleTarget(anyString())).thenReturn(List.of(tungstenSecurityGroupRuleVO));
@@ -927,14 +874,13 @@ public class TungstenServiceImplTest {
 
     @Test
     public void createTungstenPolicyTest() {
-        TungstenAnswer createTungstenPolicyAnswer = mock(TungstenAnswer.class);
+        TungstenAnswer createTungstenPolicyAnswer = 
MockTungstenAnswerFactory.get(true);
         TungstenNetworkPolicy tungstenNetworkPolicy = 
mock(TungstenNetworkPolicy.class);
         NetworkPolicy networkPolicy = mock(NetworkPolicy.class);
         DataCenterVO dataCenterVO = mock(DataCenterVO.class);
 
         
when(tungstenFabricUtils.sendTungstenCommand(any(CreateTungstenPolicyCommand.class),
 anyLong())).thenReturn(createTungstenPolicyAnswer);
         when(dataCenterDao.findById(anyLong())).thenReturn(dataCenterVO);
-        when(createTungstenPolicyAnswer.getResult()).thenReturn(true);
         
when(createTungstenPolicyAnswer.getTungstenModel()).thenReturn(tungstenNetworkPolicy);
         
when(tungstenNetworkPolicy.getNetworkPolicy()).thenReturn(networkPolicy);
 
@@ -943,7 +889,7 @@ public class TungstenServiceImplTest {
 
     @Test
     public void addTungstenPolicyRuleTest() throws Exception {
-        TungstenAnswer addTungstenPolicyRuleAnswer = 
mock(TungstenAnswer.class);
+        TungstenAnswer addTungstenPolicyRuleAnswer = 
MockTungstenAnswerFactory.get(true);
         NetworkPolicy networkPolicy = mock(NetworkPolicy.class);
         PolicyEntriesType policyEntriesType = mock(PolicyEntriesType.class);
         PolicyRuleType policyRuleType = mock(PolicyRuleType.class);
@@ -955,7 +901,6 @@ public class TungstenServiceImplTest {
 
         
when(tungstenFabricUtils.sendTungstenCommand(any(AddTungstenPolicyRuleCommand.class),
 anyLong())).thenReturn(addTungstenPolicyRuleAnswer);
         when(dataCenterDao.findById(anyLong())).thenReturn(dataCenterVO);
-        when(addTungstenPolicyRuleAnswer.getResult()).thenReturn(true);
         
when(addTungstenPolicyRuleAnswer.getApiObjectBase()).thenReturn(networkPolicy);
         when(networkPolicy.getEntries()).thenReturn(policyEntriesType);
         
when(policyEntriesType.getPolicyRule()).thenReturn(List.of(policyRuleType));
@@ -983,7 +928,7 @@ public class TungstenServiceImplTest {
     @Test
     public void listTungstenPolicyTest() {
         NetworkVO networkVO = mock(NetworkVO.class);
-        TungstenAnswer listTungstenPolicyAnswer = mock(TungstenAnswer.class);
+        TungstenAnswer listTungstenPolicyAnswer = 
MockTungstenAnswerFactory.get(true);
         TungstenNetworkPolicy tungstenNetworkPolicy = 
mock(TungstenNetworkPolicy.class);
         NetworkPolicy networkPolicy = mock(NetworkPolicy.class);
         VirtualNetwork virtualNetwork = mock(VirtualNetwork.class);
@@ -992,7 +937,6 @@ public class TungstenServiceImplTest {
         when(dataCenterDao.findById(anyLong())).thenReturn(dataCenterVO);
         when(networkDao.findById(anyLong())).thenReturn(networkVO);
         
when(tungstenFabricUtils.sendTungstenCommand(any(ListTungstenPolicyCommand.class),
 anyLong())).thenReturn(listTungstenPolicyAnswer);
-        when(listTungstenPolicyAnswer.getResult()).thenReturn(true);
         
when(listTungstenPolicyAnswer.getTungstenModelList()).thenReturn(List.of(tungstenNetworkPolicy));
         
when(tungstenNetworkPolicy.getNetworkPolicy()).thenReturn(networkPolicy);
         when(tungstenNetworkPolicy.getVirtualNetworkList()).thenReturn(
@@ -1003,13 +947,12 @@ public class TungstenServiceImplTest {
 
     @Test
     public void listTungstenNetworkTest() {
-        TungstenAnswer listTungstenNetworkAnswer = mock(TungstenAnswer.class);
+        TungstenAnswer listTungstenNetworkAnswer = 
MockTungstenAnswerFactory.get(true);
         VirtualNetwork virtualNetwork = mock(VirtualNetwork.class);
         DataCenterVO dataCenterVO = mock(DataCenterVO.class);
 
         when(dataCenterDao.findById(anyLong())).thenReturn(dataCenterVO);
         
when(tungstenFabricUtils.sendTungstenCommand(any(ListTungstenNetworkCommand.class),
 anyLong())).thenReturn(listTungstenNetworkAnswer);
-        when(listTungstenNetworkAnswer.getResult()).thenReturn(true);
         
doReturn(List.of(virtualNetwork)).when(listTungstenNetworkAnswer).getApiObjectBaseList();
         when((virtualNetwork.getName())).thenReturn("guestNetwork1");
 
@@ -1018,13 +961,12 @@ public class TungstenServiceImplTest {
 
     @Test
     public void listTungstenNicTest() {
-        TungstenAnswer listTungstenNicAnswer = mock(TungstenAnswer.class);
+        TungstenAnswer listTungstenNicAnswer = 
MockTungstenAnswerFactory.get(true);
         VirtualMachineInterface virtualMachineInterface = 
mock(VirtualMachineInterface.class);
         DataCenterVO dataCenterVO = mock(DataCenterVO.class);
 
         when(dataCenterDao.findById(anyLong())).thenReturn(dataCenterVO);
         
when(tungstenFabricUtils.sendTungstenCommand(any(ListTungstenNicCommand.class), 
anyLong())).thenReturn(listTungstenNicAnswer);
-        when(listTungstenNicAnswer.getResult()).thenReturn(true);
         
doReturn(List.of(virtualMachineInterface)).when(listTungstenNicAnswer).getApiObjectBaseList();
 
         assertNotNull(tungstenService.listTungstenNic(1L, 
"948f421c-edde-4518-a391-09299cc25dc2"));
@@ -1032,13 +974,12 @@ public class TungstenServiceImplTest {
 
     @Test
     public void listTungstenVmTest() {
-        TungstenAnswer listTungstenVmAnswer = mock(TungstenAnswer.class);
+        TungstenAnswer listTungstenVmAnswer = 
MockTungstenAnswerFactory.get(true);
         VirtualMachine virtualMachine = mock(VirtualMachine.class);
         DataCenterVO dataCenterVO = mock(DataCenterVO.class);
 
         when(dataCenterDao.findById(anyLong())).thenReturn(dataCenterVO);
         
when(tungstenFabricUtils.sendTungstenCommand(any(ListTungstenVmCommand.class), 
anyLong())).thenReturn(listTungstenVmAnswer);
-        when(listTungstenVmAnswer.getResult()).thenReturn(true);
         
doReturn(List.of(virtualMachine)).when(listTungstenVmAnswer).getApiObjectBaseList();
 
         assertNotNull(tungstenService.listTungstenVm(1L, 
"948f421c-edde-4518-a391-09299cc25dc2"));
@@ -1046,17 +987,16 @@ public class TungstenServiceImplTest {
 
     @Test
     public void deleteTungstenPolicyTest() {
-        TungstenAnswer deleteTungstenPolicyAnswer = mock(TungstenAnswer.class);
+        TungstenAnswer deleteTungstenPolicyAnswer = 
MockTungstenAnswerFactory.get(true);
 
         
when(tungstenFabricUtils.sendTungstenCommand(any(DeleteTungstenPolicyCommand.class),
 anyLong())).thenReturn(deleteTungstenPolicyAnswer);
-        when(deleteTungstenPolicyAnswer.getResult()).thenReturn(true);
 
         assertTrue(tungstenService.deleteTungstenPolicy(1L, 
"948f421c-edde-4518-a391-09299cc25dc2"));
     }
 
     @Test
     public void listTungstenPolicyRuleWithRuleUuidTest() {
-        TungstenAnswer listTungstenPolicyRuleAnswer = 
mock(TungstenAnswer.class);
+        TungstenAnswer listTungstenPolicyRuleAnswer = 
MockTungstenAnswerFactory.get(true);
         NetworkPolicy networkPolicy = mock(NetworkPolicy.class);
         PolicyEntriesType policyEntriesType = mock(PolicyEntriesType.class);
         PolicyRuleType policyRuleType = mock(PolicyRuleType.class);
@@ -1068,7 +1008,6 @@ public class TungstenServiceImplTest {
 
         when(dataCenterDao.findById(anyLong())).thenReturn(dataCenterVO);
         
when(tungstenFabricUtils.sendTungstenCommand(any(ListTungstenPolicyRuleCommand.class),
 anyLong())).thenReturn(listTungstenPolicyRuleAnswer);
-        when(listTungstenPolicyRuleAnswer.getResult()).thenReturn(true);
         
doReturn(networkPolicy).when(listTungstenPolicyRuleAnswer).getApiObjectBase();
         when(networkPolicy.getEntries()).thenReturn(policyEntriesType);
         
when(policyEntriesType.getPolicyRule()).thenReturn(List.of(policyRuleType));
@@ -1086,7 +1025,7 @@ public class TungstenServiceImplTest {
 
     @Test
     public void listTungstenPolicyRuleWithAllRuleTest() {
-        TungstenAnswer listTungstenPolicyRuleAnswer = 
mock(TungstenAnswer.class);
+        TungstenAnswer listTungstenPolicyRuleAnswer = 
MockTungstenAnswerFactory.get(true);
         NetworkPolicy networkPolicy = mock(NetworkPolicy.class);
         PolicyEntriesType policyEntriesType = mock(PolicyEntriesType.class);
         PolicyRuleType policyRuleType = mock(PolicyRuleType.class);
@@ -1098,7 +1037,6 @@ public class TungstenServiceImplTest {
 
         when(dataCenterDao.findById(anyLong())).thenReturn(dataCenterVO);
         
when(tungstenFabricUtils.sendTungstenCommand(any(ListTungstenPolicyRuleCommand.class),
 anyLong())).thenReturn(listTungstenPolicyRuleAnswer);
-        when(listTungstenPolicyRuleAnswer.getResult()).thenReturn(true);
         
doReturn(networkPolicy).when(listTungstenPolicyRuleAnswer).getApiObjectBase();
         when(networkPolicy.getEntries()).thenReturn(policyEntriesType);
         
when(policyEntriesType.getPolicyRule()).thenReturn(List.of(policyRuleType));
@@ -1116,7 +1054,7 @@ public class TungstenServiceImplTest {
 
     @Test
     public void removeTungstenPolicyRuleTest() {
-        TungstenAnswer removeTungstenPolicyRuleAnswer = 
mock(TungstenAnswer.class);
+        TungstenAnswer removeTungstenPolicyRuleAnswer = 
MockTungstenAnswerFactory.get(true);
         TungstenNetworkPolicy tungstenNetworkPolicy = 
mock(TungstenNetworkPolicy.class);
         NetworkPolicy networkPolicy = mock(NetworkPolicy.class);
         VirtualNetwork virtualNetwork = mock(VirtualNetwork.class);
@@ -1124,7 +1062,6 @@ public class TungstenServiceImplTest {
 
         when(dataCenterDao.findById(anyLong())).thenReturn(dataCenterVO);
         
when(tungstenFabricUtils.sendTungstenCommand(any(RemoveTungstenPolicyRuleCommand.class),
 anyLong())).thenReturn(removeTungstenPolicyRuleAnswer);
-        when(removeTungstenPolicyRuleAnswer.getResult()).thenReturn(true);
         
when(removeTungstenPolicyRuleAnswer.getTungstenModel()).thenReturn(tungstenNetworkPolicy);
         
when(tungstenNetworkPolicy.getNetworkPolicy()).thenReturn(networkPolicy);
         
when(tungstenNetworkPolicy.getVirtualNetworkList()).thenReturn(List.of(virtualNetwork));
@@ -1134,7 +1071,7 @@ public class TungstenServiceImplTest {
 
     @Test
     public void createTungstenTagTest() {
-        TungstenAnswer createTungstenTagAnswer = mock(TungstenAnswer.class);
+        TungstenAnswer createTungstenTagAnswer = 
MockTungstenAnswerFactory.get(true);
         TungstenTag tungstenTag = mock(TungstenTag.class);
         Tag tag = mock(Tag.class);
         VirtualNetwork virtualNetwork = mock(VirtualNetwork.class);
@@ -1145,7 +1082,6 @@ public class TungstenServiceImplTest {
 
         when(dataCenterDao.findById(anyLong())).thenReturn(dataCenterVO);
         
when(tungstenFabricUtils.sendTungstenCommand(any(CreateTungstenTagCommand.class),
 anyLong())).thenReturn(createTungstenTagAnswer);
-        when(createTungstenTagAnswer.getResult()).thenReturn(true);
         
when(createTungstenTagAnswer.getTungstenModel()).thenReturn(tungstenTag);
         when(tungstenTag.getTag()).thenReturn(tag);
         
doReturn(List.of(virtualNetwork)).when(tungstenTag).getVirtualNetworkList();
@@ -1158,13 +1094,12 @@ public class TungstenServiceImplTest {
 
     @Test
     public void createTungstenTagTypeTest() {
-        TungstenAnswer createTungstenTagTypeAnswer = 
mock(TungstenAnswer.class);
+        TungstenAnswer createTungstenTagTypeAnswer = 
MockTungstenAnswerFactory.get(true);
         TagType tagtype = mock(TagType.class);
         DataCenterVO dataCenterVO = mock(DataCenterVO.class);
 
         
when(tungstenFabricUtils.sendTungstenCommand(any(CreateTungstenTagTypeCommand.class),
 anyLong())).thenReturn(createTungstenTagTypeAnswer);
         when(dataCenterDao.findById(anyLong())).thenReturn(dataCenterVO);
-        when(createTungstenTagTypeAnswer.getResult()).thenReturn(true);
         
when(createTungstenTagTypeAnswer.getApiObjectBase()).thenReturn(tagtype);
 
         assertNotNull(tungstenService.createTungstenTagType(1L, 
"testTagType"));
@@ -1172,7 +1107,7 @@ public class TungstenServiceImplTest {
 
     @Test
     public void listTungstenTagsTest() {
-        TungstenAnswer listTungstenTagAnswer = mock(TungstenAnswer.class);
+        TungstenAnswer listTungstenTagAnswer = 
MockTungstenAnswerFactory.get(true);
         TungstenTag tungstenTag = mock(TungstenTag.class);
         Tag tag = mock(Tag.class);
         VirtualNetwork virtualNetwork = mock(VirtualNetwork.class);
@@ -1184,7 +1119,6 @@ public class TungstenServiceImplTest {
 
         when(dataCenterDao.findById(anyLong())).thenReturn(dataCenterVO);
         
when(tungstenFabricUtils.sendTungstenCommand(any(ListTungstenTagCommand.class), 
anyLong())).thenReturn(listTungstenTagAnswer);
-        when(listTungstenTagAnswer.getResult()).thenReturn(true);
         
when(listTungstenTagAnswer.getTungstenModelList()).thenReturn(List.of(tungstenTag));
         when(tungstenTag.getTag()).thenReturn(tag);
         
doReturn(List.of(virtualNetwork)).when(tungstenTag).getVirtualNetworkList();
@@ -1193,19 +1127,18 @@ public class TungstenServiceImplTest {
         
doReturn(List.of(networkPolicy)).when(tungstenTag).getNetworkPolicyList();
 
         assertNotNull(tungstenService.listTungstenTags(1L, 
"948f421c-edde-4518-a391-09299cc25dc2"
-        , "8b4637b6-5629-46de-8fb2-d0b0502bfa85", 
"8d097a79-a38d-4db4-8a41-16f15d9c5afa", "a329662e-1805-4a89-9b05-2b818ea35978",
-            "d5e3f5c5-97ed-41b6-9b6f-7f696b9eddeb", 
"f5ba12c8-d4c5-4c20-a57d-67a9b6fca652"));
+                , "8b4637b6-5629-46de-8fb2-d0b0502bfa85", 
"8d097a79-a38d-4db4-8a41-16f15d9c5afa", "a329662e-1805-4a89-9b05-2b818ea35978",
+                "d5e3f5c5-97ed-41b6-9b6f-7f696b9eddeb", 
"f5ba12c8-d4c5-4c20-a57d-67a9b6fca652"));
     }
 
     @Test
     public void listTungstenTagTypesTest() {
-        TungstenAnswer listTungstenTagTypeAnswer = mock(TungstenAnswer.class);
+        TungstenAnswer listTungstenTagTypeAnswer = 
MockTungstenAnswerFactory.get(true);
         TagType tagtype = mock(TagType.class);
         DataCenterVO dataCenterVO = mock(DataCenterVO.class);
 
         when(dataCenterDao.findById(anyLong())).thenReturn(dataCenterVO);
         
when(tungstenFabricUtils.sendTungstenCommand(any(ListTungstenTagTypeCommand.class),
 anyLong())).thenReturn(listTungstenTagTypeAnswer);
-        when(listTungstenTagTypeAnswer.getResult()).thenReturn(true);
         
doReturn(List.of(tagtype)).when(listTungstenTagTypeAnswer).getApiObjectBaseList();
 
         assertNotNull(tungstenService.listTungstenTagTypes(1L, "testTagType"));
@@ -1213,27 +1146,25 @@ public class TungstenServiceImplTest {
 
     @Test
     public void deleteTungstenTagTest() {
-        TungstenAnswer deleteTungstenTagAnswer = mock(TungstenAnswer.class);
+        TungstenAnswer deleteTungstenTagAnswer = 
MockTungstenAnswerFactory.get(true);
 
         
when(tungstenFabricUtils.sendTungstenCommand(any(DeleteTungstenTagCommand.class),
 anyLong())).thenReturn(deleteTungstenTagAnswer);
-        when(deleteTungstenTagAnswer.getResult()).thenReturn(true);
 
         assertTrue(tungstenService.deleteTungstenTag(1L, 
"948f421c-edde-4518-a391-09299cc25dc2"));
     }
 
     @Test
     public void deleteTungstenTagTypeTest() {
-        TungstenAnswer deleteTungstenTagTypeAnswer = 
mock(TungstenAnswer.class);
+        TungstenAnswer deleteTungstenTagTypeAnswer = 
MockTungstenAnswerFactory.get(true);
 
         
when(tungstenFabricUtils.sendTungstenCommand(any(DeleteTungstenTagTypeCommand.class),
 anyLong())).thenReturn(deleteTungstenTagTypeAnswer);
-        when(deleteTungstenTagTypeAnswer.getResult()).thenReturn(true);
 
         assertTrue(tungstenService.deleteTungstenTagType(1L, 
"948f421c-edde-4518-a391-09299cc25dc2"));
     }
 
     @Test
     public void applyTungstenPolicyTest() {
-        TungstenAnswer applyTungstenPolicyAnswer = mock(TungstenAnswer.class);
+        TungstenAnswer applyTungstenPolicyAnswer = 
MockTungstenAnswerFactory.get(true);
         TungstenNetworkPolicy tungstenNetworkPolicy = 
mock(TungstenNetworkPolicy.class);
         NetworkPolicy networkPolicy = mock(NetworkPolicy.class);
         VirtualNetwork virtualNetwork = mock(VirtualNetwork.class);
@@ -1241,7 +1172,6 @@ public class TungstenServiceImplTest {
 
         when(dataCenterDao.findById(anyLong())).thenReturn(dataCenterVO);
         
when(tungstenFabricUtils.sendTungstenCommand(any(ApplyTungstenNetworkPolicyCommand.class),
 anyLong())).thenReturn(applyTungstenPolicyAnswer);
-        when(applyTungstenPolicyAnswer.getResult()).thenReturn(true);
         
when(applyTungstenPolicyAnswer.getTungstenModel()).thenReturn(tungstenNetworkPolicy);
         
when(tungstenNetworkPolicy.getNetworkPolicy()).thenReturn(networkPolicy);
         
when(tungstenNetworkPolicy.getVirtualNetworkList()).thenReturn(List.of(virtualNetwork));
@@ -1251,7 +1181,7 @@ public class TungstenServiceImplTest {
 
     @Test
     public void applyTungstenTagTest() {
-        TungstenAnswer applyTungstenTagAnswer = mock(TungstenAnswer.class);
+        TungstenAnswer applyTungstenTagAnswer = 
MockTungstenAnswerFactory.get(true);
         TungstenTag tungstenTag = mock(TungstenTag.class);
         Tag tag = mock(Tag.class);
         NetworkPolicy networkPolicy = mock(NetworkPolicy.class);
@@ -1262,7 +1192,6 @@ public class TungstenServiceImplTest {
 
         when(dataCenterDao.findById(anyLong())).thenReturn(dataCenterVO);
         
when(tungstenFabricUtils.sendTungstenCommand(any(ApplyTungstenTagCommand.class),
 anyLong())).thenReturn(applyTungstenTagAnswer);
-        when(applyTungstenTagAnswer.getResult()).thenReturn(true);
         
when(applyTungstenTagAnswer.getTungstenModel()).thenReturn(tungstenTag);
         when(tungstenTag.getTag()).thenReturn(tag);
         
when(tungstenTag.getNetworkPolicyList()).thenReturn(List.of(networkPolicy));
@@ -1271,13 +1200,13 @@ public class TungstenServiceImplTest {
         
when(tungstenTag.getVirtualMachineInterfaceList()).thenReturn(List.of(virtualMachineInterface));
 
         assertNotNull(tungstenService.applyTungstenTag(1L, 
List.of("948f421c-edde-4518-a391-09299cc25dc2"), 
List.of("8b4637b6-5629-46de-8fb2-d0b0502bfa85")
-            , List.of("8d097a79-a38d-4db4-8a41-16f15d9c5afa"), 
"a329662e-1805-4a89-9b05-2b818ea35978", "d5e3f5c5-97ed-41b6-9b6f-7f696b9eddeb"
-        , "f5ba12c8-d4c5-4c20-a57d-67a9b6fca652"));
+                , List.of("8d097a79-a38d-4db4-8a41-16f15d9c5afa"), 
"a329662e-1805-4a89-9b05-2b818ea35978", "d5e3f5c5-97ed-41b6-9b6f-7f696b9eddeb"
+                , "f5ba12c8-d4c5-4c20-a57d-67a9b6fca652"));
     }
 
     @Test
     public void removeTungstenPolicyTest() {
-        TungstenAnswer removeTungstenPolicyAnswer = mock(TungstenAnswer.class);
+        TungstenAnswer removeTungstenPolicyAnswer = 
MockTungstenAnswerFactory.get(true);
         TungstenNetworkPolicy tungstenNetworkPolicy = 
mock(TungstenNetworkPolicy.class);
         NetworkPolicy networkPolicy = mock(NetworkPolicy.class);
         VirtualNetwork virtualNetwork = mock(VirtualNetwork.class);
@@ -1285,7 +1214,6 @@ public class TungstenServiceImplTest {
 
         when(dataCenterDao.findById(anyLong())).thenReturn(dataCenterVO);
         
when(tungstenFabricUtils.sendTungstenCommand(any(RemoveTungstenPolicyCommand.class),
 anyLong())).thenReturn(removeTungstenPolicyAnswer);
-        when(removeTungstenPolicyAnswer.getResult()).thenReturn(true);
         
when(removeTungstenPolicyAnswer.getTungstenModel()).thenReturn(tungstenNetworkPolicy);
         
when(tungstenNetworkPolicy.getNetworkPolicy()).thenReturn(networkPolicy);
         
when(tungstenNetworkPolicy.getVirtualNetworkList()).thenReturn(List.of(virtualNetwork));
@@ -1295,7 +1223,7 @@ public class TungstenServiceImplTest {
 
     @Test
     public void removeTungstenTagTest() {
-        TungstenAnswer removeTungstenTagAnswer = mock(TungstenAnswer.class);
+        TungstenAnswer removeTungstenTagAnswer = 
MockTungstenAnswerFactory.get(true);
         TungstenTag tungstenTag = mock(TungstenTag.class);
         Tag tag = mock(Tag.class);
         NetworkPolicy networkPolicy = mock(NetworkPolicy.class);
@@ -1306,7 +1234,6 @@ public class TungstenServiceImplTest {
 
         when(dataCenterDao.findById(anyLong())).thenReturn(dataCenterVO);
         
when(tungstenFabricUtils.sendTungstenCommand(any(RemoveTungstenTagCommand.class),
 anyLong())).thenReturn(removeTungstenTagAnswer);
-        when(removeTungstenTagAnswer.getResult()).thenReturn(true);
         
when(removeTungstenTagAnswer.getTungstenModel()).thenReturn(tungstenTag);
         when(tungstenTag.getTag()).thenReturn(tag);
         
when(tungstenTag.getNetworkPolicyList()).thenReturn(List.of(networkPolicy));
@@ -1317,12 +1244,12 @@ public class TungstenServiceImplTest {
         assertNotNull(tungstenService.removeTungstenTag(1L, 
List.of("948f421c-edde-4518-a391-09299cc25dc2"),
                 List.of("8b4637b6-5629-46de-8fb2-d0b0502bfa85"),
                 List.of("8d097a79-a38d-4db4-8a41-16f15d9c5afa"), 
"a329662e-1805-4a89-9b05-2b818ea35978", null,
-            "d5e3f5c5-97ed-41b6-9b6f-7f696b9eddeb"));
+                "d5e3f5c5-97ed-41b6-9b6f-7f696b9eddeb"));
     }
 
     @Test
     public void createTungstenAddressGroupTest() {
-        TungstenAnswer createTungstenAddressGroupAnswer = 
mock(TungstenAnswer.class);
+        TungstenAnswer createTungstenAddressGroupAnswer = 
MockTungstenAnswerFactory.get(true);
         AddressGroup addressGroup = mock(AddressGroup.class);
         SubnetListType subnetListType = mock(SubnetListType.class);
         SubnetType subnetType = mock(SubnetType.class);
@@ -1330,7 +1257,6 @@ public class TungstenServiceImplTest {
 
         when(dataCenterDao.findById(anyLong())).thenReturn(dataCenterVO);
         
when(tungstenFabricUtils.sendTungstenCommand(any(CreateTungstenAddressGroupCommand.class),
 anyLong())).thenReturn(createTungstenAddressGroupAnswer);
-        when(createTungstenAddressGroupAnswer.getResult()).thenReturn(true);
         
when(createTungstenAddressGroupAnswer.getApiObjectBase()).thenReturn(addressGroup);
         when(addressGroup.getPrefix()).thenReturn(subnetListType);
         when(subnetListType.getSubnet()).thenReturn(List.of(subnetType));
@@ -1340,7 +1266,7 @@ public class TungstenServiceImplTest {
 
     @Test
     public void createTungstenServiceGroupTest() {
-        TungstenAnswer createTungstenServiceGroupAnswer = 
mock(TungstenAnswer.class);
+        TungstenAnswer createTungstenServiceGroupAnswer = 
MockTungstenAnswerFactory.get(true);
         ServiceGroup serviceGroup = mock(ServiceGroup.class);
         FirewallServiceGroupType firewallServiceGroupType = 
mock(FirewallServiceGroupType.class);
         FirewallServiceType firewallServiceType = 
mock(FirewallServiceType.class);
@@ -1349,7 +1275,6 @@ public class TungstenServiceImplTest {
 
         when(dataCenterDao.findById(anyLong())).thenReturn(dataCenterVO);
         
when(tungstenFabricUtils.sendTungstenCommand(any(CreateTungstenServiceGroupCommand.class),
 anyLong())).thenReturn(createTungstenServiceGroupAnswer);
-        when(createTungstenServiceGroupAnswer.getResult()).thenReturn(true);
         
when(createTungstenServiceGroupAnswer.getApiObjectBase()).thenReturn(serviceGroup);
         
when(serviceGroup.getFirewallServiceList()).thenReturn(firewallServiceGroupType);
         
when(firewallServiceGroupType.getFirewallService()).thenReturn(List.of(firewallServiceType));
@@ -1360,7 +1285,7 @@ public class TungstenServiceImplTest {
 
     @Test
     public void createTungstenFirewallRuleTest() {
-        TungstenAnswer createTungstenFirewallRuleAnswer = 
mock(TungstenAnswer.class);
+        TungstenAnswer createTungstenFirewallRuleAnswer = 
MockTungstenAnswerFactory.get(true);
         net.juniper.tungsten.api.types.FirewallRule firewallRule = 
mock(net.juniper.tungsten.api.types.FirewallRule.class);
         ActionListType actionListType = mock(ActionListType.class);
         ObjectReference<ApiPropertyBase> serviceGroup = 
mock(ObjectReference.class);
@@ -1371,7 +1296,6 @@ public class TungstenServiceImplTest {
 
         when(dataCenterDao.findById(anyLong())).thenReturn(dataCenterVO);
         
when(tungstenFabricUtils.sendTungstenCommand(any(CreateTungstenFirewallRuleCommand.class),
 anyLong())).thenReturn(createTungstenFirewallRuleAnswer);
-        when(createTungstenFirewallRuleAnswer.getResult()).thenReturn(true);
         
when(createTungstenFirewallRuleAnswer.getApiObjectBase()).thenReturn(firewallRule);
         when(firewallRule.getActionList()).thenReturn(actionListType);
         when(actionListType.getSimpleAction()).thenReturn("pass");
@@ -1385,20 +1309,19 @@ public class TungstenServiceImplTest {
         
when(firewallRule.getMatchTags()).thenReturn(firewallRuleMatchTagsType);
 
         assertNotNull(tungstenService.createTungstenFirewallRule(1L, 
"f5ba12c8-d4c5-4c20-a57d-67a9b6fca652", "test", "pass", 
"948f421c-edde-4518-a391-09299cc25dc2",
-            "8b4637b6-5629-46de-8fb2-d0b0502bfa85", 
"8d097a79-a38d-4db4-8a41-16f15d9c5afa", null, "<>", 
"a329662e-1805-4a89-9b05-2b818ea35978"
-        , "d5e3f5c5-97ed-41b6-9b6f-7f696b9eddeb", null, 
"df8e4490-2a40-4d63-a6f3-1f829ffe4fc6", 1));
+                "8b4637b6-5629-46de-8fb2-d0b0502bfa85", 
"8d097a79-a38d-4db4-8a41-16f15d9c5afa", null, "<>", 
"a329662e-1805-4a89-9b05-2b818ea35978"
+                , "d5e3f5c5-97ed-41b6-9b6f-7f696b9eddeb", null, 
"df8e4490-2a40-4d63-a6f3-1f829ffe4fc6", 1));
     }
 
     @Test
     public void createTungstenFirewallPolicyTest() {
-        TungstenAnswer createTungstenFirewallPolicyAnswer = 
mock(TungstenAnswer.class);
+        TungstenAnswer createTungstenFirewallPolicyAnswer = 
MockTungstenAnswerFactory.get(true);
         FirewallPolicy firewallPolicy = mock(FirewallPolicy.class);
         ObjectReference<FirewallSequence> firewallSequenceObjectReference = 
mock(ObjectReference.class);
         DataCenterVO dataCenterVO = mock(DataCenterVO.class);
 
         when(dataCenterDao.findById(anyLong())).thenReturn(dataCenterVO);
         
when(tungstenFabricUtils.sendTungstenCommand(any(CreateTungstenFirewallPolicyCommand.class),
 anyLong())).thenReturn(createTungstenFirewallPolicyAnswer);
-        when(createTungstenFirewallPolicyAnswer.getResult()).thenReturn(true);
         
when(createTungstenFirewallPolicyAnswer.getApiObjectBase()).thenReturn(firewallPolicy);
         
when(firewallPolicy.getFirewallRule()).thenReturn(List.of(firewallSequenceObjectReference));
         
when(firewallSequenceObjectReference.getReferredName()).thenReturn(List.of("firewallrule"));
@@ -1408,7 +1331,7 @@ public class TungstenServiceImplTest {
 
     @Test
     public void createTungstenApplicationPolicySetTest() {
-        TungstenAnswer createTungstenApplicationPolicySetAnswer = 
mock(TungstenAnswer.class);
+        TungstenAnswer createTungstenApplicationPolicySetAnswer = 
MockTungstenAnswerFactory.get(true);
         ApplicationPolicySet applicationPolicySet = 
mock(ApplicationPolicySet.class);
         ObjectReference<ApiPropertyBase> objectReference = 
mock(ObjectReference.class);
         ObjectReference<FirewallSequence> firewallSequenceObjectReference = 
mock(ObjectReference.class);
@@ -1416,7 +1339,6 @@ public class TungstenServiceImplTest {
 
         when(dataCenterDao.findById(anyLong())).thenReturn(dataCenterVO);
         
when(tungstenFabricUtils.sendTungstenCommand(any(CreateTungstenApplicationPolicySetCommand.class),
 anyLong())).thenReturn(createTungstenApplicationPolicySetAnswer);
-        
when(createTungstenApplicationPolicySetAnswer.getResult()).thenReturn(true);
         
when(createTungstenApplicationPolicySetAnswer.getApiObjectBase()).thenReturn(applicationPolicySet);
         
when(applicationPolicySet.getTag()).thenReturn(List.of(objectReference));
         when(objectReference.getReferredName()).thenReturn(List.of("tag"));
@@ -1428,7 +1350,7 @@ public class TungstenServiceImplTest {
 
     @Test
     public void listTungstenApplicationPolicySetTest() {
-        TungstenAnswer listTungstenApplicationPolicySetAnswer = 
mock(TungstenAnswer.class);
+        TungstenAnswer listTungstenApplicationPolicySetAnswer = 
MockTungstenAnswerFactory.get(true);
         ApplicationPolicySet applicationPolicySet = 
mock(ApplicationPolicySet.class);
         ObjectReference<ApiPropertyBase> objectReference = 
mock(ObjectReference.class);
         ObjectReference<FirewallSequence> firewallSequenceObjectReference = 
mock(ObjectReference.class);
@@ -1436,7 +1358,6 @@ public class TungstenServiceImplTest {
 
         when(dataCenterDao.findById(anyLong())).thenReturn(dataCenterVO);
         
when(tungstenFabricUtils.sendTungstenCommand(any(ListTungstenApplicationPolicySetCommand.class),
 anyLong())).thenReturn(listTungstenApplicationPolicySetAnswer);
-        
when(listTungstenApplicationPolicySetAnswer.getResult()).thenReturn(true);
         
doReturn(List.of(applicationPolicySet)).when(listTungstenApplicationPolicySetAnswer).getApiObjectBaseList();
         
when(applicationPolicySet.getTag()).thenReturn(List.of(objectReference));
         when(objectReference.getReferredName()).thenReturn(List.of("tag"));
@@ -1448,14 +1369,13 @@ public class TungstenServiceImplTest {
 
     @Test
     public void listTungstenFirewallPolicyTest() {
-        TungstenAnswer listTungstenFirewallPolicyAnswer = 
mock(TungstenAnswer.class);
+        TungstenAnswer listTungstenFirewallPolicyAnswer = 
MockTungstenAnswerFactory.get(true);
         FirewallPolicy firewallPolicy = mock(FirewallPolicy.class);
         ObjectReference<FirewallSequence> firewallSequenceObjectReference = 
mock(ObjectReference.class);
         DataCenterVO dataCenterVO = mock(DataCenterVO.class);
 
         when(dataCenterDao.findById(anyLong())).thenReturn(dataCenterVO);
         
when(tungstenFabricUtils.sendTungstenCommand(any(ListTungstenFirewallPolicyCommand.class),
 anyLong())).thenReturn(listTungstenFirewallPolicyAnswer);
-        when(listTungstenFirewallPolicyAnswer.getResult()).thenReturn(true);
         
doReturn(List.of(firewallPolicy)).when(listTungstenFirewallPolicyAnswer).getApiObjectBaseList();
         
when(firewallPolicy.getFirewallRule()).thenReturn(List.of(firewallSequenceObjectReference));
         
when(firewallSequenceObjectReference.getReferredName()).thenReturn(List.of("firewallrule"));
@@ -1465,7 +1385,7 @@ public class TungstenServiceImplTest {
 
     @Test
     public void listTungstenFirewallRuleTest() {
-        TungstenAnswer listTungstenFirewallRuleAnswer = 
mock(TungstenAnswer.class);
+        TungstenAnswer listTungstenFirewallRuleAnswer = 
MockTungstenAnswerFactory.get(true);
         net.juniper.tungsten.api.types.FirewallRule firewallRule = 
mock(net.juniper.tungsten.api.types.FirewallRule.class);
         ActionListType actionListType = mock(ActionListType.class);
         ObjectReference<ApiPropertyBase> serviceGroup = 
mock(ObjectReference.class);
@@ -1476,7 +1396,6 @@ public class TungstenServiceImplTest {
 
         when(dataCenterDao.findById(anyLong())).thenReturn(dataCenterVO);
         
when(tungstenFabricUtils.sendTungstenCommand(any(ListTungstenFirewallRuleCommand.class),
 anyLong())).thenReturn(listTungstenFirewallRuleAnswer);
-        when(listTungstenFirewallRuleAnswer.getResult()).thenReturn(true);
         
doReturn(List.of(firewallRule)).when(listTungstenFirewallRuleAnswer).getApiObjectBaseList();
         when(firewallRule.getActionList()).thenReturn(actionListType);
         when(actionListType.getSimpleAction()).thenReturn("pass");
@@ -1490,12 +1409,12 @@ public class TungstenServiceImplTest {
         
when(firewallRule.getMatchTags()).thenReturn(firewallRuleMatchTagsType);
 
         assertNotNull(tungstenService.listTungstenFirewallRule(1L, 
"948f421c-edde-4518-a391-09299cc25dc2",
-            "8b4637b6-5629-46de-8fb2-d0b0502bfa85"));
+                "8b4637b6-5629-46de-8fb2-d0b0502bfa85"));
     }
 
     @Test
     public void listTungstenAddressGroupTest() {
-        TungstenAnswer listTungstenAddressGroupAnswer = 
mock(TungstenAnswer.class);
+        TungstenAnswer listTungstenAddressGroupAnswer = 
MockTungstenAnswerFactory.get(true);
         AddressGroup addressGroup = mock(AddressGroup.class);
         SubnetListType subnetListType = mock(SubnetListType.class);
         SubnetType subnetType = mock(SubnetType.class);
@@ -1503,7 +1422,6 @@ public class TungstenServiceImplTest {
 
         when(dataCenterDao.findById(anyLong())).thenReturn(dataCenterVO);
         
when(tungstenFabricUtils.sendTungstenCommand(any(ListTungstenAddressGroupCommand.class),
 anyLong())).thenReturn(listTungstenAddressGroupAnswer);
-        when(listTungstenAddressGroupAnswer.getResult()).thenReturn(true);
         
doReturn(List.of(addressGroup)).when(listTungstenAddressGroupAnswer).getApiObjectBaseList();
         when(addressGroup.getPrefix()).thenReturn(subnetListType);
         when(subnetListType.getSubnet()).thenReturn(
@@ -1514,7 +1432,7 @@ public class TungstenServiceImplTest {
 
     @Test
     public void listTungstenServiceGroupTest() {
-        TungstenAnswer listTungstenServiceGroupAnswer = 
mock(TungstenAnswer.class);
+        TungstenAnswer listTungstenServiceGroupAnswer = 
MockTungstenAnswerFactory.get(true);
         ServiceGroup serviceGroup = mock(ServiceGroup.class);
         FirewallServiceGroupType firewallServiceGroupType = 
mock(FirewallServiceGroupType.class);
         FirewallServiceType firewallServiceType = 
mock(FirewallServiceType.class);
@@ -1523,7 +1441,6 @@ public class TungstenServiceImplTest {
 
         when(dataCenterDao.findById(anyLong())).thenReturn(dataCenterVO);
         
when(tungstenFabricUtils.sendTungstenCommand(any(ListTungstenServiceGroupCommand.class),
 anyLong())).thenReturn(listTungstenServiceGroupAnswer);
-        when(listTungstenServiceGroupAnswer.getResult()).thenReturn(true);
         
doReturn(List.of(serviceGroup)).when(listTungstenServiceGroupAnswer).getApiObjectBaseList();
         
when(serviceGroup.getFirewallServiceList()).thenReturn(firewallServiceGroupType);
         
when(firewallServiceGroupType.getFirewallService()).thenReturn(List.of(firewallServiceType));
@@ -1534,50 +1451,45 @@ public class TungstenServiceImplTest {
 
     @Test
     public void deleteTungstenApplicationPolicySetTest() {
-        TungstenAnswer tungstenAnswer = mock(TungstenAnswer.class);
+        TungstenAnswer tungstenAnswer = MockTungstenAnswerFactory.get(true);
 
         
when(tungstenFabricUtils.sendTungstenCommand(any(DeleteTungstenApplicationPolicySetCommand.class),
 anyLong())).thenReturn(tungstenAnswer);
-        when(tungstenAnswer.getResult()).thenReturn(true);
 
         assertTrue(tungstenService.deleteTungstenApplicationPolicySet(1L, 
"948f421c-edde-4518-a391-09299cc25dc2"));
     }
 
     @Test
     public void deleteTungstenFirewallPolicyTest() {
-        TungstenAnswer tungstenAnswer = mock(TungstenAnswer.class);
+        TungstenAnswer tungstenAnswer = MockTungstenAnswerFactory.get(true);
 
         
when(tungstenFabricUtils.sendTungstenCommand(any(DeleteTungstenFirewallPolicyCommand.class),
 anyLong())).thenReturn(tungstenAnswer);
-        when(tungstenAnswer.getResult()).thenReturn(true);
 
         assertTrue(tungstenService.deleteTungstenFirewallPolicy(1L, 
"948f421c-edde-4518-a391-09299cc25dc2"));
     }
 
     @Test
     public void deleteTungstenFirewallRuleTest() {
-        TungstenAnswer tungstenAnswer = mock(TungstenAnswer.class);
+        TungstenAnswer tungstenAnswer = MockTungstenAnswerFactory.get(true);
 
         
when(tungstenFabricUtils.sendTungstenCommand(any(DeleteTungstenFirewallRuleCommand.class),
 anyLong())).thenReturn(tungstenAnswer);
-        when(tungstenAnswer.getResult()).thenReturn(true);
 
         assertTrue(tungstenService.deleteTungstenFirewallRule(1L, 
"948f421c-edde-4518-a391-09299cc25dc2"));
     }
 
     @Test
     public void deleteTungstenServiceGroupTest() {
-        TungstenAnswer tungstenAnswer = mock(TungstenAnswer.class);
+        TungstenAnswer tungstenAnswer = MockTungstenAnswerFactory.get(true);
 
         
when(tungstenFabricUtils.sendTungstenCommand(any(DeleteTungstenServiceGroupCommand.class),
 anyLong())).thenReturn(tungstenAnswer);
-        when(tungstenAnswer.getResult()).thenReturn(true);
 
         assertTrue(tungstenService.deleteTungstenServiceGroup(1L, 
"948f421c-edde-4518-a391-09299cc25dc2"));
     }
 
     @Test
     public void deleteTungstenAddressGroupTest() {
-        TungstenAnswer tungstenAnswer = mock(TungstenAnswer.class);
+        TungstenAnswer tungstenAnswer = MockTungstenAnswerFactory.get(true);
 
         
when(tungstenFabricUtils.sendTungstenCommand(any(DeleteTungstenAddressGroupCommand.class),
 anyLong())).thenReturn(tungstenAnswer);
-        when(tungstenAnswer.getResult()).thenReturn(true);
 
         assertTrue(tungstenService.deleteTungstenAddressGroup(1L, 
"948f421c-edde-4518-a391-09299cc25dc2"));
     }
@@ -1587,9 +1499,9 @@ public class TungstenServiceImplTest {
         Network network = mock(Network.class);
         Vlan vlan = mock(Vlan.class);
         AccountVO accountVO = mock(AccountVO.class);
-        TungstenAnswer createTungstenSharedNetworkAnswer = 
mock(TungstenAnswer.class);
-        TungstenAnswer addNetworkSubnetAnswer = mock(TungstenAnswer.class);
-        TungstenAnswer getTungstenNetworkDnsAnswer = 
mock(TungstenAnswer.class);
+        TungstenAnswer createTungstenSharedNetworkAnswer = 
MockTungstenAnswerFactory.get(true);
+        TungstenAnswer addNetworkSubnetAnswer = 
MockTungstenAnswerFactory.get(true);
+        TungstenAnswer getTungstenNetworkDnsAnswer = 
MockTungstenAnswerFactory.get(true);
         NetworkDetailVO networkDetailVO = mock(NetworkDetailVO.class);
         TungstenProviderVO tungstenProviderVO = mock(TungstenProviderVO.class);
         HostVO hostVO = mock(HostVO.class);
@@ -1601,9 +1513,6 @@ public class TungstenServiceImplTest {
         
when(tungstenFabricUtils.sendTungstenCommand(any(CreateTungstenNetworkCommand.class),
 anyLong())).thenReturn(createTungstenSharedNetworkAnswer);
         
when(tungstenFabricUtils.sendTungstenCommand(any(AddTungstenNetworkSubnetCommand.class),
 anyLong())).thenReturn(addNetworkSubnetAnswer);
         
when(tungstenFabricUtils.sendTungstenCommand(any(GetTungstenNetworkDnsCommand.class),
 anyLong())).thenReturn(getTungstenNetworkDnsAnswer);
-        when(createTungstenSharedNetworkAnswer.getResult()).thenReturn(true);
-        when(addNetworkSubnetAnswer.getResult()).thenReturn(true);
-        when(getTungstenNetworkDnsAnswer.getResult()).thenReturn(true);
         when(network.getMode()).thenReturn(Networks.Mode.Dhcp);
         when(network.getCidr()).thenReturn("192.168.100.0/24");
         when(vlan.getIpRange()).thenReturn("192.168.100.100-192.168.100.200");
@@ -1631,12 +1540,12 @@ public class TungstenServiceImplTest {
         SecurityGroupVO securityGroupVO = mock(SecurityGroupVO.class);
         TungstenProviderVO tungstenProviderVO = mock(TungstenProviderVO.class);
         TungstenAnswer getTungstenSecurityGroupAnswer = 
mock(TungstenAnswer.class);
-        TungstenAnswer addTungstenVmToSecurityGroupAnswer = 
mock(TungstenAnswer.class);
+        TungstenAnswer addTungstenVmToSecurityGroupAnswer = 
MockTungstenAnswerFactory.get(true);
         net.juniper.tungsten.api.types.SecurityGroup securityGroup = 
mock(net.juniper.tungsten.api.types.SecurityGroup.class);
         NicVO nicVO = mock(NicVO.class);
         SecurityGroupRuleVO securityGroupRuleVO = 
mock(SecurityGroupRuleVO.class);
         TungstenSecurityGroupRuleVO tungstenSecurityGroupRuleVO = 
mock(TungstenSecurityGroupRuleVO.class);
-        TungstenAnswer addTungstenSecurityGroupRuleAnswer = 
mock(TungstenAnswer.class);
+        TungstenAnswer addTungstenSecurityGroupRuleAnswer = 
MockTungstenAnswerFactory.get(true);
 
         when(dataCenterDao.findById(anyLong())).thenReturn(dataCenterVO);
         when(dataCenterVO.isSecurityGroupEnabled()).thenReturn(true);
@@ -1645,8 +1554,6 @@ public class TungstenServiceImplTest {
         
when(tungstenFabricUtils.sendTungstenCommand(any(GetTungstenSecurityGroupCommand.class),
 anyLong())).thenReturn(getTungstenSecurityGroupAnswer);
         
when(tungstenFabricUtils.sendTungstenCommand(any(AddTungstenVmToSecurityGroupCommand.class),
 anyLong())).thenReturn(addTungstenVmToSecurityGroupAnswer);
         
when(tungstenFabricUtils.sendTungstenCommand(any(AddTungstenSecurityGroupRuleCommand.class),
 anyLong())).thenReturn(addTungstenSecurityGroupRuleAnswer);
-        when(addTungstenVmToSecurityGroupAnswer.getResult()).thenReturn(true);
-        when(addTungstenSecurityGroupRuleAnswer.getResult()).thenReturn(true);
         
when(getTungstenSecurityGroupAnswer.getApiObjectBase()).thenReturn(securityGroup);
         when(nicDao.findDefaultNicForVM(anyLong())).thenReturn(nicVO);
         
when(nicVO.getBroadcastUri()).thenReturn(Networks.BroadcastDomainType.TUNGSTEN.toUri("tf"));
@@ -1666,10 +1573,10 @@ public class TungstenServiceImplTest {
         VMInstanceVO vmInstanceVO = mock(VMInstanceVO.class);
         DataCenterVO dataCenterVO = mock(DataCenterVO.class);
         SecurityGroupVO securityGroupVO = mock(SecurityGroupVO.class);
-        TungstenAnswer removeTungstenVmFromSecurityGroupAnswer = 
mock(TungstenAnswer.class);
+        TungstenAnswer removeTungstenVmFromSecurityGroupAnswer = 
MockTungstenAnswerFactory.get(true);
         NicVO nicVO = mock(NicVO.class);
         SecurityGroupRuleVO securityGroupRuleVO = 
mock(SecurityGroupRuleVO.class);
-        TungstenAnswer removeTungstenSecurityGroupRuleAnswer = 
mock(TungstenAnswer.class);
+        TungstenAnswer removeTungstenSecurityGroupRuleAnswer = 
MockTungstenAnswerFactory.get(true);
         TungstenSecurityGroupRuleVO tungstenSecurityGroupRuleVO = 
mock(TungstenSecurityGroupRuleVO.class);
 
         when(dataCenterDao.findById(anyLong())).thenReturn(dataCenterVO);
@@ -1680,7 +1587,7 @@ public class TungstenServiceImplTest {
 
     @Test
     public void createRoutingLogicalRouterTest() {
-        TungstenAnswer tungstenAnswer = mock(TungstenAnswer.class);
+        TungstenAnswer tungstenAnswer = MockTungstenAnswerFactory.get(true);
         TungstenLogicalRouter tungstenLogicalRouter = 
mock(TungstenLogicalRouter.class);
         LogicalRouter logicalRouter = mock(LogicalRouter.class);
         VirtualNetwork virtualNetwork = mock(VirtualNetwork.class);
@@ -1688,7 +1595,6 @@ public class TungstenServiceImplTest {
 
         when(dataCenterDao.findById(anyLong())).thenReturn(dataCenterVO);
         
when(tungstenFabricUtils.sendTungstenCommand(any(CreateTungstenRoutingLogicalRouterCommand.class),
 anyLong())).thenReturn(tungstenAnswer);
-        when(tungstenAnswer.getResult()).thenReturn(true);
         
when(tungstenAnswer.getTungstenModel()).thenReturn(tungstenLogicalRouter);
         
when(tungstenLogicalRouter.getLogicalRouter()).thenReturn(logicalRouter);
         
when(tungstenLogicalRouter.getVirtualNetworkList()).thenReturn(List.of(virtualNetwork));
@@ -1699,7 +1605,7 @@ public class TungstenServiceImplTest {
     @Test
     public void addNetworkGatewayToLogicalRouterTest() {
         NetworkVO networkVO = mock(NetworkVO.class);
-        TungstenAnswer tungstenAnswer = mock(TungstenAnswer.class);
+        TungstenAnswer tungstenAnswer = MockTungstenAnswerFactory.get(true);
         TungstenLogicalRouter tungstenLogicalRouter = 
mock(TungstenLogicalRouter.class);
         LogicalRouter logicalRouter = mock(LogicalRouter.class);
         VirtualNetwork virtualNetwork = mock(VirtualNetwork.class);
@@ -1709,7 +1615,6 @@ public class TungstenServiceImplTest {
         when(networkDao.findByUuid(anyString())).thenReturn(networkVO);
         
when(ipAddressManager.acquireLastGuestIpAddress(any(Network.class))).thenReturn("192.168.100.100");
         
when(tungstenFabricUtils.sendTungstenCommand(any(AddTungstenNetworkGatewayToLogicalRouterCommand.class),
 anyLong())).thenReturn(tungstenAnswer);
-        when(tungstenAnswer.getResult()).thenReturn(true);
         
when(tungstenAnswer.getTungstenModel()).thenReturn(tungstenLogicalRouter);
         
when(tungstenLogicalRouter.getLogicalRouter()).thenReturn(logicalRouter);
         
when(tungstenLogicalRouter.getVirtualNetworkList()).thenReturn(List.of(virtualNetwork));
@@ -1719,7 +1624,7 @@ public class TungstenServiceImplTest {
 
     @Test
     public void listRoutingLogicalRouterTest() {
-        TungstenAnswer tungstenAnswer = mock(TungstenAnswer.class);
+        TungstenAnswer tungstenAnswer = MockTungstenAnswerFactory.get(true);
         TungstenLogicalRouter tungstenLogicalRouter = 
mock(TungstenLogicalRouter.class);
         LogicalRouter logicalRouter = mock(LogicalRouter.class);
         VirtualNetwork virtualNetwork = mock(VirtualNetwork.class);
@@ -1727,7 +1632,6 @@ public class TungstenServiceImplTest {
 
         when(dataCenterDao.findById(anyLong())).thenReturn(dataCenterVO);
         
when(tungstenFabricUtils.sendTungstenCommand(any(ListTungstenRoutingLogicalRouterCommand.class),
 anyLong())).thenReturn(tungstenAnswer);
-        when(tungstenAnswer.getResult()).thenReturn(true);
         
when(tungstenAnswer.getTungstenModelList()).thenReturn(List.of(tungstenLogicalRouter));
         
when(tungstenLogicalRouter.getLogicalRouter()).thenReturn(logicalRouter);
         
when(tungstenLogicalRouter.getVirtualNetworkList()).thenReturn(List.of(virtualNetwork));
@@ -1738,7 +1642,7 @@ public class TungstenServiceImplTest {
     @Test
     public void removeNetworkGatewayFromLogicalRouterTest() {
         NetworkVO networkVO = mock(NetworkVO.class);
-        TungstenAnswer tungstenAnswer = mock(TungstenAnswer.class);
+        TungstenAnswer tungstenAnswer = MockTungstenAnswerFactory.get(true);
         TungstenGuestNetworkIpAddressVO tungstenGuestNetworkIpAddressVO = 
mock(TungstenGuestNetworkIpAddressVO.class);
         TungstenLogicalRouter tungstenLogicalRouter = 
mock(TungstenLogicalRouter.class);
         LogicalRouter logicalRouter = mock(LogicalRouter.class);
@@ -1749,7 +1653,6 @@ public class TungstenServiceImplTest {
         when(networkDao.findByUuid(anyString())).thenReturn(networkVO);
         
when(tungstenGuestNetworkIpAddressDao.findByNetworkAndLogicalRouter(anyLong(), 
anyString())).thenReturn(tungstenGuestNetworkIpAddressVO);
         
when(tungstenFabricUtils.sendTungstenCommand(any(RemoveTungstenNetworkGatewayFromLogicalRouterCommand.class),
 anyLong())).thenReturn(tungstenAnswer);
-        when(tungstenAnswer.getResult()).thenReturn(true);
         
when(tungstenAnswer.getTungstenModel()).thenReturn(tungstenLogicalRouter);
         
when(tungstenLogicalRouter.getLogicalRouter()).thenReturn(logicalRouter);
         
when(tungstenLogicalRouter.getVirtualNetworkList()).thenReturn(List.of(virtualNetwork));
@@ -1759,10 +1662,9 @@ public class TungstenServiceImplTest {
 
     @Test
     public void deleteLogicalRouterTest() {
-        TungstenAnswer tungstenAnswer = mock(TungstenAnswer.class);
+        TungstenAnswer tungstenAnswer = MockTungstenAnswerFactory.get(true);
 
         
when(tungstenFabricUtils.sendTungstenCommand(any(DeleteTungstenRoutingLogicalRouterCommand.class),
 anyLong())).thenReturn(tungstenAnswer);
-        when(tungstenAnswer.getResult()).thenReturn(true);
 
         assertTrue(tungstenService.deleteLogicalRouter(1L, 
"948f421c-edde-4518-a391-09299cc25dc2"));
     }

Reply via email to