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);
}
}