You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cloudstack.apache.org by da...@apache.org on 2014/07/17 15:32:18 UTC

git commit: updated refs/heads/master to 3b76278

Repository: cloudstack
Updated Branches:
  refs/heads/master 332191b1b -> 3b76278b9


rvr4vpc: more interesting test

Project: http://git-wip-us.apache.org/repos/asf/cloudstack/repo
Commit: http://git-wip-us.apache.org/repos/asf/cloudstack/commit/3b76278b
Tree: http://git-wip-us.apache.org/repos/asf/cloudstack/tree/3b76278b
Diff: http://git-wip-us.apache.org/repos/asf/cloudstack/diff/3b76278b

Branch: refs/heads/master
Commit: 3b76278b978e0e08057fd3351bc6431b63985a05
Parents: 332191b
Author: Daan Hoogland <da...@onecht.net>
Authored: Thu Jul 17 15:32:03 2014 +0200
Committer: Daan Hoogland <da...@onecht.net>
Committed: Thu Jul 17 15:32:03 2014 +0200

----------------------------------------------------------------------
 .../VirtualNetworkApplianceManagerImplTest.java | 226 +++++++++----------
 1 file changed, 105 insertions(+), 121 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cloudstack/blob/3b76278b/server/test/com/cloud/network/router/VirtualNetworkApplianceManagerImplTest.java
----------------------------------------------------------------------
diff --git a/server/test/com/cloud/network/router/VirtualNetworkApplianceManagerImplTest.java b/server/test/com/cloud/network/router/VirtualNetworkApplianceManagerImplTest.java
index 8c40178..4e8e6a6 100644
--- a/server/test/com/cloud/network/router/VirtualNetworkApplianceManagerImplTest.java
+++ b/server/test/com/cloud/network/router/VirtualNetworkApplianceManagerImplTest.java
@@ -16,9 +16,9 @@
 // under the License.
 package com.cloud.network.router;
 
-import static org.mockito.Mockito.when;
 import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertNotEquals;
+import static org.mockito.Matchers.any;
+import static org.mockito.Mockito.when;
 
 import java.util.LinkedHashMap;
 import java.util.List;
@@ -64,7 +64,10 @@ import com.cloud.network.router.VirtualRouter.RedundantState;
 import com.cloud.network.rules.dao.PortForwardingRulesDao;
 import com.cloud.offerings.dao.NetworkOfferingDao;
 import com.cloud.resource.ResourceManager;
+import com.cloud.service.ServiceOfferingVO;
 import com.cloud.service.dao.ServiceOfferingDao;
+import com.cloud.storage.Storage.ProvisioningType;
+import com.cloud.storage.VMTemplateVO;
 import com.cloud.storage.dao.GuestOSDao;
 import com.cloud.storage.dao.VMTemplateDao;
 import com.cloud.storage.dao.VolumeDao;
@@ -75,6 +78,7 @@ import com.cloud.user.dao.UserStatisticsDao;
 import com.cloud.user.dao.UserStatsLogDao;
 import com.cloud.vm.DomainRouterVO;
 import com.cloud.vm.NicProfile;
+import com.cloud.vm.VirtualMachine;
 import com.cloud.vm.VirtualMachineManager;
 import com.cloud.vm.dao.DomainRouterDao;
 import com.cloud.vm.dao.NicDao;
@@ -85,121 +89,49 @@ import com.cloud.vm.dao.VMInstanceDao;
 
 @RunWith(MockitoJUnitRunner.class)
 public class VirtualNetworkApplianceManagerImplTest {
-    @Mock
-    private ClusterDao _clusterDao;
-
-    @Mock
-    private ConfigurationDao _configDao;
-
-    @Mock
-    private DataCenterDao _dcDao;
-
-    @Mock
-    private GuestOSDao _guestOSDao;
-
-    @Mock
-    private HostDao _hostDao;
-
-    @Mock
-    private IPAddressDao _ipAddressDao;
-
-    @Mock
-    private UserIpv6AddressDao _ipv6Dao;
-
-    @Mock
-    private LoadBalancerDao _loadBalancerDao;
-
-    @Mock
-    private LoadBalancerVMMapDao _loadBalancerVMMapDao;
-
-    @Mock
-    private MonitoringServiceDao _monitorServiceDao;
-
-    @Mock
-    private ManagementServerHostDao _msHostDao;
-
-    @Mock
-    private NetworkDao _networkDao;
-
-    @Mock
-    private NetworkOfferingDao _networkOfferingDao;
-
-    @Mock
-    private NicDao _nicDao;
-
-    @Mock
-    private NicIpAliasDao _nicIpAliasDao;
-
-    @Mock
-    private OpRouterMonitorServiceDao _opRouterMonitorServiceDao;
-
-    @Mock
-    private PortForwardingRulesDao _pfRulesDao;
-
-    @Mock
-    private PhysicalNetworkServiceProviderDao _physicalProviderDao;
-
-    @Mock
-    private HostPodDao _podDao;
-
-    @Mock
-    private DomainRouterDao _routerDao;
-
-    @Mock
-    private FirewallRulesDao _rulesDao;
-
-    @Mock
-    private Site2SiteCustomerGatewayDao _s2sCustomerGatewayDao;
-
-    @Mock
-    private Site2SiteVpnConnectionDao _s2sVpnConnectionDao;
-
-    @Mock
-    private Site2SiteVpnGatewayDao _s2sVpnGatewayDao;
-
-    @Mock
-    private ServiceOfferingDao _serviceOfferingDao;
-
-    @Mock
-    private VMTemplateDao _templateDao;
-
-    @Mock
-    private UserDao _userDao;
-
-    @Mock
-    private UserStatisticsDao _userStatsDao;
-
-    @Mock
-    private UserStatsLogDao _userStatsLogDao;
-
-    @Mock
-    private UserVmDao _userVmDao;
-
-    @Mock
-    private VlanDao _vlanDao;
-
-    @Mock
-    private VMInstanceDao _vmDao;
-
-    @Mock
-    private UserVmDetailsDao _vmDetailsDao;
-
-    @Mock
-    private VolumeDao _volumeDao;
-
-    @Mock
-    private RemoteAccessVpnDao _vpnDao;
-
-    @Mock
-    private VpnUserDao _vpnUsersDao;
-
-    @Mock
-    private VirtualRouterProviderDao _vrProviderDao;
 
+    // mock dao/db access
+    @Mock private ClusterDao _clusterDao;
+    @Mock private ConfigurationDao _configDao;
+    @Mock private DataCenterDao _dcDao;
+    @Mock private GuestOSDao _guestOSDao;
+    @Mock private HostDao _hostDao;
+    @Mock private IPAddressDao _ipAddressDao;
+    @Mock private UserIpv6AddressDao _ipv6Dao;
+    @Mock private LoadBalancerDao _loadBalancerDao;
+    @Mock private LoadBalancerVMMapDao _loadBalancerVMMapDao;
+    @Mock private MonitoringServiceDao _monitorServiceDao;
+    @Mock private ManagementServerHostDao _msHostDao;
+    @Mock private NetworkDao _networkDao;
+    @Mock private NetworkOfferingDao _networkOfferingDao;
+    @Mock private NicDao _nicDao;
+    @Mock private NicIpAliasDao _nicIpAliasDao;
+    @Mock private OpRouterMonitorServiceDao _opRouterMonitorServiceDao;
+    @Mock private PortForwardingRulesDao _pfRulesDao;
+    @Mock private PhysicalNetworkServiceProviderDao _physicalProviderDao;
+    @Mock private HostPodDao _podDao;
+    @Mock private DomainRouterDao _routerDao;
+    @Mock private FirewallRulesDao _rulesDao;
+    @Mock private Site2SiteCustomerGatewayDao _s2sCustomerGatewayDao;
+    @Mock private Site2SiteVpnConnectionDao _s2sVpnConnectionDao;
+    @Mock private Site2SiteVpnGatewayDao _s2sVpnGatewayDao;
+    @Mock private ServiceOfferingDao _serviceOfferingDao;
+    @Mock private VMTemplateDao _templateDao;
+    @Mock private UserDao _userDao;
+    @Mock private UserStatisticsDao _userStatsDao;
+    @Mock private UserStatsLogDao _userStatsLogDao;
+    @Mock private UserVmDao _userVmDao;
+    @Mock private VlanDao _vlanDao;
+    @Mock private VMInstanceDao _vmDao;
+    @Mock private UserVmDetailsDao _vmDetailsDao;
+    @Mock private VolumeDao _volumeDao;
+    @Mock private RemoteAccessVpnDao _vpnDao;
+    @Mock private VpnUserDao _vpnUsersDao;
+    @Mock private VirtualRouterProviderDao _vrProviderDao;
+
+    // mock the managers that have no influence on this functionality
     @Mock private AccountManager _accountMgr;
-
     @Mock private VirtualMachineManager _itMgr;
-
     @Mock private ResourceManager _resourceMgr;
 
     @InjectMocks
@@ -211,20 +143,72 @@ public class VirtualNetworkApplianceManagerImplTest {
                 1L, false, 0, false, RedundantState.UNKNOWN, false, false, null);
         when(_routerDao.findById(1L)).thenReturn((DomainRouterVO)r);
         VirtualRouter vr = virtualNetworkApplianceManagerImpl.destroyRouter(1L, new AccountVO(1L), 0L);
-        assertNotEquals(vr, null);
+        assertEquals(vr, r);
     }
 
     @Test
     public void testDeployRouterNotRedundant() throws Exception {
-        DataCenter dc = new DataCenterVO(1L, "name", "description", "dns", null, null, null, "cidr", "domain", null,
-                NetworkType.Basic, "zoneToken", "domainSuffix");
-        when(_routerDao.getNextInSequence(Long.class, "id")).thenReturn(1L);
-        when(_resourceMgr.getDefaultHypervisor(1L)).thenReturn(HypervisorType.Any);
+        ServiceOfferingVO svcoff = new ServiceOfferingVO("name",
+                /* cpu */ 1,
+                /* ramsize */ 1024*1024,
+                /* (clock?)speed */ 1024*1024*1024,
+                /* rateMbps */ 1,
+                /* multicastRateMbps */ 0,
+                /* offerHA */ false,
+                "displayText",
+                ProvisioningType.THIN,
+                /* useLocalStorage */ false,
+                /* recreatable */ false,
+                "tags",
+                /* systemUse */ false,
+                VirtualMachine.Type.DomainRouter,
+                /* defaultUse */ false);
+
+        DataCenter dc = new DataCenterVO(/* id */ 1L,
+                "name",
+                "description",
+                "dns1",
+                /* dns2 */ null,
+                /* dns3 */ null,
+                /* dns4 */ null,
+                "cidr",
+                "domain",
+                /*domainid */ null,
+                NetworkType.Basic,
+                "zoneToken",
+                "domainSuffix");
+
+        DomainRouterVO router = new DomainRouterVO(/* id */ 1L,
+                /* serviceOfferingId */ 1L,
+                /* elementId */ 0L,
+                "name",
+                /* templateId */0L,
+                HypervisorType.XenServer,
+                /* guestOSId */ 0L,
+                /* domainId */ 0L,
+                /* accountId */ 1L,
+                /* isRedundantRouter */ false,
+                /* priority */ 0,
+                /* isPriorityBumpUp */ false,
+                RedundantState.UNKNOWN,
+                /* haEnabled */ false,
+                /* stopPending */ false,
+                /* vpcId */ null);
+
         DeploymentPlan plan = new DataCenterDeployment(1L);
+
+        when(_serviceOfferingDao.findById(1L)).thenReturn(svcoff);
+        when(_routerDao.getNextInSequence(Long.class, "id")).thenReturn(1L);
+// being anti-social and testing my own case first
+        when(_resourceMgr.getDefaultHypervisor(1L)).thenReturn(HypervisorType.XenServer);
+        when(_templateDao.findRoutingTemplate(HypervisorType.XenServer, "SystemVM Template (XenServer)")).thenReturn(new VMTemplateVO());
+        when(_routerDao.persist(any(DomainRouterVO.class))).thenReturn(router);
+        when(_routerDao.findById(router.getId())).thenReturn(router);
+
         VirtualRouter vr = virtualNetworkApplianceManagerImpl.deployRouter(new AccountVO(1L), new DeployDestination(dc,null,null,null), plan, null, false,
-                new VirtualRouterProviderVO(), 0L, null, new LinkedHashMap<Network, List<? extends NicProfile>> (), true /* start the router */,
+                new VirtualRouterProviderVO(), 1L, null, new LinkedHashMap<Network, List<? extends NicProfile>> (), true /* start the router */,
                 null);
         // TODO: more elaborate mocking needed to have a vr returned
-        assertEquals(vr, null);
+        assertEquals(vr, router);
     }
 }