From fb498a40badbff7b4c7cd093ad2de3fcc1f0d208 Mon Sep 17 00:00:00 2001 From: Jayapal Date: Mon, 24 Mar 2014 17:18:58 +0530 Subject: [PATCH] CLOUDSTACK-6250: updated review comments, added unit test case --- .../network/CreateNetworkOfferingCmd.java | 2 +- .../api/response/NetworkOfferingResponse.java | 2 +- ...rTest.java => AssignLoadBalancerTest.java} | 42 ++++++++++++++++++- 3 files changed, 43 insertions(+), 3 deletions(-) rename server/test/com/cloud/network/lb/{AssignToLoadBalancerTest.java => AssignLoadBalancerTest.java} (81%) diff --git a/api/src/org/apache/cloudstack/api/command/admin/network/CreateNetworkOfferingCmd.java b/api/src/org/apache/cloudstack/api/command/admin/network/CreateNetworkOfferingCmd.java index 6dd4260d5f4..a09c9797b68 100644 --- a/api/src/org/apache/cloudstack/api/command/admin/network/CreateNetworkOfferingCmd.java +++ b/api/src/org/apache/cloudstack/api/command/admin/network/CreateNetworkOfferingCmd.java @@ -118,7 +118,7 @@ public class CreateNetworkOfferingCmd extends BaseCmd { @Parameter(name = ApiConstants.EGRESS_DEFAULT_POLICY, type = CommandType.BOOLEAN, - description = "true if default guest network egress policy is allow; false if default egress policy is deny") + description = "true if guest network default egress policy is allow; false if default egress policy is deny") private Boolean egressDefaultPolicy; @Parameter(name = ApiConstants.KEEPALIVE_ENABLED, diff --git a/api/src/org/apache/cloudstack/api/response/NetworkOfferingResponse.java b/api/src/org/apache/cloudstack/api/response/NetworkOfferingResponse.java index 5a5ceef1fb5..775c9a8fdd1 100644 --- a/api/src/org/apache/cloudstack/api/response/NetworkOfferingResponse.java +++ b/api/src/org/apache/cloudstack/api/response/NetworkOfferingResponse.java @@ -109,7 +109,7 @@ public class NetworkOfferingResponse extends BaseResponse { private Map details; @SerializedName(ApiConstants.EGRESS_DEFAULT_POLICY) - @Param(description = "true if network offering supports persistent networks, false otherwise") + @Param(description = "true if guest network default egress policy is allow; false if default egress policy is deny") private Boolean egressDefaultPolicy; @SerializedName(ApiConstants.MAX_CONNECTIONS) diff --git a/server/test/com/cloud/network/lb/AssignToLoadBalancerTest.java b/server/test/com/cloud/network/lb/AssignLoadBalancerTest.java similarity index 81% rename from server/test/com/cloud/network/lb/AssignToLoadBalancerTest.java rename to server/test/com/cloud/network/lb/AssignLoadBalancerTest.java index f8f96a712f2..257a21fd674 100644 --- a/server/test/com/cloud/network/lb/AssignToLoadBalancerTest.java +++ b/server/test/com/cloud/network/lb/AssignLoadBalancerTest.java @@ -66,7 +66,7 @@ import static org.mockito.Matchers.anyLong; import static org.mockito.Matchers.anyString; import static org.mockito.Mockito.when; -public class AssignToLoadBalancerTest { +public class AssignLoadBalancerTest { @Inject AccountManager _accountMgr; @@ -223,6 +223,46 @@ public class AssignToLoadBalancerTest { _lbMgr.assignToLoadBalancer(1L, null, vmIdIpMap); } + + + @Test(expected = InvalidParameterValueException.class) + public void testVmIdAlreadyExist() throws ResourceAllocationException, ResourceUnavailableException, InsufficientCapacityException { + + AssignToLoadBalancerRuleCmd assignLbRuleCmd = Mockito.mock(AssignToLoadBalancerRuleCmd.class); + + Map> vmIdIpMap = new HashMap>(); + List secIp = new ArrayList(); + secIp.add("10.1.1.175"); + vmIdIpMap.put(1L,secIp); + + List vmIds = new ArrayList(); + vmIds.add(2L); + + LoadBalancerVO lbVO = new LoadBalancerVO("1", "L1", "Lbrule", 1, 22, 22, "rb", 204, 0, 0, "tcp"); + + LoadBalancerDao lbDao = Mockito.mock(LoadBalancerDao.class); + LoadBalancerVMMapDao lb2VmMapDao = Mockito.mock(LoadBalancerVMMapDao.class); + UserVmDao userVmDao = Mockito.mock(UserVmDao.class); + NicSecondaryIpDao nicSecIpDao = Mockito.mock(NicSecondaryIpDao.class); + LoadBalancerVMMapVO lbVmMapVO = new LoadBalancerVMMapVO(1L, 1L, "10.1.1.175", false); + + _lbMgr._lbDao = lbDao; + _lbMgr._lb2VmMapDao = lb2VmMapDao; + _lbMgr._vmDao = userVmDao; + _lbMgr._nicSecondaryIpDao = nicSecIpDao; + _lbvmMapList = new ArrayList<>(); + _lbvmMapList.add(lbVmMapVO); + _lbMgr._rulesMgr = _rulesMgr; + _lbMgr._networkModel = _networkModel; + + when(lbDao.findById(anyLong())).thenReturn(lbVO); + when(userVmDao.findById(anyLong())).thenReturn(Mockito.mock(UserVmVO.class)); + when(lb2VmMapDao.listByLoadBalancerId(anyLong(), anyBoolean())).thenReturn(_lbvmMapList); + when (nicSecIpDao.findByIp4AddressAndNicId(anyString(), anyLong())).thenReturn(null); + + _lbMgr.assignToLoadBalancer(1L, null, vmIdIpMap); + } + @After public void tearDown() { CallContext.unregister();