http://git-wip-us.apache.org/repos/asf/cloudstack/blob/b0c27e48/plugins/network-elements/nuage-vsp/test/com/cloud/network/manager/NuageVspManagerTest.java ---------------------------------------------------------------------- diff --git a/plugins/network-elements/nuage-vsp/test/com/cloud/network/manager/NuageVspManagerTest.java b/plugins/network-elements/nuage-vsp/test/com/cloud/network/manager/NuageVspManagerTest.java index a29e3d7..ec16a97 100644 --- a/plugins/network-elements/nuage-vsp/test/com/cloud/network/manager/NuageVspManagerTest.java +++ b/plugins/network-elements/nuage-vsp/test/com/cloud/network/manager/NuageVspManagerTest.java @@ -19,6 +19,7 @@ package com.cloud.network.manager; +import com.cloud.NuageTest; import com.cloud.agent.AgentManager; import com.cloud.agent.api.Command; import com.cloud.agent.api.sync.SyncNuageVspCmsIdAnswer; @@ -35,6 +36,7 @@ import com.cloud.network.dao.PhysicalNetworkDao; import com.cloud.network.dao.PhysicalNetworkServiceProviderDao; import com.cloud.network.dao.PhysicalNetworkVO; import com.cloud.resource.ResourceManager; +import com.cloud.util.NuageVspEntityBuilder; import org.apache.cloudstack.framework.config.dao.ConfigurationDao; import org.apache.cloudstack.framework.config.impl.ConfigurationVO; import org.junit.Before; @@ -48,34 +50,37 @@ import static org.mockito.Matchers.eq; import static org.mockito.Mockito.mock; import static org.mockito.Mockito.when; -public class NuageVspManagerTest { +public class NuageVspManagerTest extends NuageTest { private static final long NETWORK_ID = 42L; - PhysicalNetworkDao physicalNetworkDao = mock(PhysicalNetworkDao.class); - PhysicalNetworkServiceProviderDao physicalNetworkServiceProviderDao = mock(PhysicalNetworkServiceProviderDao.class); - ResourceManager resourceMgr = mock(ResourceManager.class); - HostDetailsDao hostDetailsDao = mock(HostDetailsDao.class); - NuageVspDao nuageVspDao = mock(NuageVspDao.class); - NetworkDao networkDao = mock(NetworkDao.class); - HostDao hostDao = mock(HostDao.class); - AgentManager agentManager = mock(AgentManager.class); - ConfigurationDao configDao = mock(ConfigurationDao.class); - - NuageVspManagerImpl manager; + private PhysicalNetworkDao _physicalNetworkDao = mock(PhysicalNetworkDao.class); + private PhysicalNetworkServiceProviderDao _physicalNetworkServiceProviderDao = mock(PhysicalNetworkServiceProviderDao.class); + private ResourceManager _resourceManager = mock(ResourceManager.class); + private HostDetailsDao _hostDetailsDao = mock(HostDetailsDao.class); + private NuageVspDao _nuageVspDao = mock(NuageVspDao.class); + private NetworkDao _networkDao = mock(NetworkDao.class); + private HostDao _hostDao = mock(HostDao.class); + private AgentManager _agentManager = mock(AgentManager.class); + private ConfigurationDao _configurationDao = mock(ConfigurationDao.class); + private NuageVspEntityBuilder _nuageVspEntityBuilder = mock(NuageVspEntityBuilder.class); + private NuageVspManagerImpl _nuageVspManager; @Before - public void setUp() { - manager = new NuageVspManagerImpl(); - - manager._physicalNetworkServiceProviderDao = physicalNetworkServiceProviderDao; - manager._physicalNetworkDao = physicalNetworkDao; - manager._resourceMgr = resourceMgr; - manager._hostDetailsDao = hostDetailsDao; - manager._nuageVspDao = nuageVspDao; - manager._networkDao = networkDao; - manager._hostDao = hostDao; - manager._agentMgr = agentManager; - manager._configDao = configDao; + public void setUp() throws Exception { + super.setUp(); + + _nuageVspManager = new NuageVspManagerImpl(); + + _nuageVspManager._physicalNetworkServiceProviderDao = _physicalNetworkServiceProviderDao; + _nuageVspManager._physicalNetworkDao = _physicalNetworkDao; + _nuageVspManager._resourceMgr = _resourceManager; + _nuageVspManager._hostDetailsDao = _hostDetailsDao; + _nuageVspManager._nuageVspDao = _nuageVspDao; + _nuageVspManager._networkDao = _networkDao; + _nuageVspManager._hostDao = _hostDao; + _nuageVspManager._agentMgr = _agentManager; + _nuageVspManager._configDao = _configurationDao; + _nuageVspManager._nuageVspEntityBuilder = _nuageVspEntityBuilder; } @Test @@ -84,31 +89,31 @@ public class NuageVspManagerTest { final PhysicalNetworkVO physicalNetwork = mock(PhysicalNetworkVO.class); when(physicalNetwork.getDataCenterId()).thenReturn(NETWORK_ID); when(physicalNetwork.getId()).thenReturn(NETWORK_ID); - when(physicalNetworkDao.findById(NETWORK_ID)).thenReturn(physicalNetwork); + when(_physicalNetworkDao.findById(NETWORK_ID)).thenReturn(physicalNetwork); final NuageVspDeviceVO nuageVspDevice = mock(NuageVspDeviceVO.class); when(nuageVspDevice.getPhysicalNetworkId()).thenReturn(NETWORK_ID); when(nuageVspDevice.getHostId()).thenReturn(NETWORK_ID); - when(nuageVspDao.findById(NETWORK_ID)).thenReturn(nuageVspDevice); + when(_nuageVspDao.findById(NETWORK_ID)).thenReturn(nuageVspDevice); - when(networkDao.listByPhysicalNetwork(NETWORK_ID)).thenReturn(new ArrayList<NetworkVO>()); + when(_networkDao.listByPhysicalNetwork(NETWORK_ID)).thenReturn(new ArrayList<NetworkVO>()); final HostVO host = mock(HostVO.class); when(host.getId()).thenReturn(NETWORK_ID); - when(hostDao.findById(NETWORK_ID)).thenReturn(host); + when(_hostDao.findById(NETWORK_ID)).thenReturn(host); final DeleteNuageVspDeviceCmd cmd = mock(DeleteNuageVspDeviceCmd.class); when(cmd.getNuageVspDeviceId()).thenReturn(NETWORK_ID); ConfigurationVO cmsIdConfig = mock(ConfigurationVO.class); when(cmsIdConfig.getValue()).thenReturn("1:1"); - when(configDao.findByName("nuagevsp.cms.id")).thenReturn(cmsIdConfig); + when(_configurationDao.findByName("nuagevsp.cms.id")).thenReturn(cmsIdConfig); final SyncNuageVspCmsIdAnswer answer = mock(SyncNuageVspCmsIdAnswer.class); when(answer.getResult()).thenReturn(true); - when(agentManager.easySend(eq(NETWORK_ID), (Command)any())).thenReturn(answer); + when(_agentManager.easySend(eq(NETWORK_ID), (Command)any())).thenReturn(answer); - manager.deleteNuageVspDevice(cmd); + _nuageVspManager.deleteNuageVspDevice(cmd); } @Test @@ -117,12 +122,12 @@ public class NuageVspManagerTest { when(nuageVspDevice.getPhysicalNetworkId()).thenReturn(NETWORK_ID); final PhysicalNetworkVO phyNtwkVO = mock(PhysicalNetworkVO.class); - when(physicalNetworkDao.findById(NETWORK_ID)).thenReturn(phyNtwkVO); - when(nuageVspDao.listByPhysicalNetwork(NETWORK_ID)).thenReturn(new ArrayList<NuageVspDeviceVO>()); + when(_physicalNetworkDao.findById(NETWORK_ID)).thenReturn(phyNtwkVO); + when(_nuageVspDao.listByPhysicalNetwork(NETWORK_ID)).thenReturn(new ArrayList<NuageVspDeviceVO>()); final ListNuageVspDevicesCmd cmd = mock(ListNuageVspDevicesCmd.class); when(cmd.getPhysicalNetworkId()).thenReturn(NETWORK_ID); when(cmd.getNuageVspDeviceId()).thenReturn(null); - manager.listNuageVspDevices(cmd); + _nuageVspManager.listNuageVspDevices(cmd); } }
http://git-wip-us.apache.org/repos/asf/cloudstack/blob/b0c27e48/plugins/network-elements/nuage-vsp/test/com/cloud/network/resource/NuageVspResourceTest.java ---------------------------------------------------------------------- diff --git a/plugins/network-elements/nuage-vsp/test/com/cloud/network/resource/NuageVspResourceTest.java b/plugins/network-elements/nuage-vsp/test/com/cloud/network/resource/NuageVspResourceTest.java index 770e13f..9c51864 100644 --- a/plugins/network-elements/nuage-vsp/test/com/cloud/network/resource/NuageVspResourceTest.java +++ b/plugins/network-elements/nuage-vsp/test/com/cloud/network/resource/NuageVspResourceTest.java @@ -19,6 +19,7 @@ package com.cloud.network.resource; +import com.cloud.NuageTest; import com.cloud.agent.api.Answer; import com.cloud.agent.api.PingCommand; import com.cloud.agent.api.StartupCommand; @@ -29,13 +30,17 @@ import com.cloud.agent.api.guru.DeallocateVmVspCommand; import com.cloud.agent.api.guru.ImplementNetworkVspCommand; import com.cloud.agent.api.guru.ReserveVmInterfaceVspCommand; import com.cloud.agent.api.guru.TrashNetworkVspCommand; -import com.cloud.agent.api.sync.SyncVspCommand; import com.cloud.host.Host; +import com.google.common.collect.Lists; import com.google.common.collect.Maps; -import net.nuage.vsp.acs.client.NuageVspApiClient; -import net.nuage.vsp.acs.client.NuageVspElementClient; -import net.nuage.vsp.acs.client.NuageVspGuruClient; -import net.nuage.vsp.acs.client.NuageVspSyncClient; +import net.nuage.vsp.acs.client.api.NuageVspApiClient; +import net.nuage.vsp.acs.client.api.NuageVspElementClient; +import net.nuage.vsp.acs.client.api.NuageVspGuruClient; +import net.nuage.vsp.acs.client.api.model.VspAclRule; +import net.nuage.vsp.acs.client.api.model.VspNetwork; +import net.nuage.vsp.acs.client.api.model.VspNic; +import net.nuage.vsp.acs.client.api.model.VspStaticNat; +import net.nuage.vsp.acs.client.api.model.VspVm; import org.junit.Before; import org.junit.Test; import org.mockito.invocation.InvocationOnMock; @@ -43,20 +48,20 @@ import org.mockito.invocation.InvocationOnMock; import javax.naming.ConfigurationException; import java.util.ArrayList; import java.util.Collections; +import java.util.List; import java.util.Map; import static org.junit.Assert.assertTrue; import static org.mockito.Mockito.doAnswer; import static org.mockito.Mockito.mock; -public class NuageVspResourceTest { - NuageVspResource _resource; - NuageVspApiClient _mockNuageVspApiClient = mock(NuageVspApiClient.class); - NuageVspElementClient _mockNuageVspElementClient = mock(NuageVspElementClient.class); - NuageVspGuruClient _mockNuageVspGuruClient = mock(NuageVspGuruClient.class); - NuageVspSyncClient _mockNuageVspSyncClient = mock(NuageVspSyncClient.class); - NuageVspResource.Configuration _resourceConfiguration; - Map<String, Object> _hostDetails; +public class NuageVspResourceTest extends NuageTest { + private NuageVspResource _resource; + private NuageVspApiClient _mockNuageVspApiClient = mock(NuageVspApiClient.class); + private NuageVspElementClient _mockNuageVspElementClient = mock(NuageVspElementClient.class); + private NuageVspGuruClient _mockNuageVspGuruClient = mock(NuageVspGuruClient.class); + private NuageVspResource.Configuration _resourceConfiguration; + private Map<String, Object> _hostDetails; org.mockito.stubbing.Answer<Object> genericAnswer = new org.mockito.stubbing.Answer<Object>() { public Object answer(InvocationOnMock invocation) { @@ -66,6 +71,8 @@ public class NuageVspResourceTest { @Before public void setUp() throws Exception { + super.setUp(); + _resource = new NuageVspResource() { @Override @@ -74,8 +81,6 @@ public class NuageVspResourceTest { _nuageVspApiClient = _mockNuageVspApiClient; _nuageVspElementClient = _mockNuageVspElementClient; _nuageVspGuruClient = _mockNuageVspGuruClient; - _nuageVspSyncClient = _mockNuageVspSyncClient; - } protected void isNuageVspApiLoaded() throws ConfigurationException { @@ -87,9 +92,6 @@ public class NuageVspResourceTest { protected void isNuageVspElementLoaded() throws ConfigurationException { } - protected void isNuageVspSyncLoaded() throws ConfigurationException { - } - protected void login() throws ConfigurationException { } @@ -148,15 +150,10 @@ public class NuageVspResourceTest { public void testImplementNetworkVspCommand() throws Exception { _resource.configure("NuageVspResource", _hostDetails); - ImplementNetworkVspCommand.Builder cmdBuilder = new ImplementNetworkVspCommand.Builder().networkDomainName("networkDomainName").networkDomainPath("networkDomainPath") - .networkDomainUuid("networkDomainUuid").networkAccountName("networkAccountName").networkAccountUuid("networkAccountUuid").networkName("networkName") - .networkCidr("networkCidr").networkGateway("networkGateway").networkAclId(0L).dnsServers(new ArrayList<String>()).gatewaySystemIds(new ArrayList<String>()) - .networkUuid("networkUuid").isL3Network(true).isVpc(true).isSharedNetwork(true).vpcName("vpcName").vpcUuid("vpcUuid").defaultEgressPolicy(true) - .ipAddressRange(new ArrayList<String[]>()).domainTemplateName("domainTemplateName"); - doAnswer(genericAnswer).when(_mockNuageVspGuruClient).implement("networkDomainName", "networkDomainPath", "networkDomainUuid", "networkAccountName", - "networkAccountUuid", "networkName", "networkCidr", "networkGateway", 0L, new ArrayList<String>(), new ArrayList<String>(), true, true, true, "networkUuid", - "vpcName", "vpcUuid", true, new ArrayList<String[]>(), "domainTemplateName"); - com.cloud.agent.api.Answer implNtwkAns = _resource.executeRequest(cmdBuilder.build()); + VspNetwork vspNetwork = buildVspNetwork(); + ImplementNetworkVspCommand cmd = new ImplementNetworkVspCommand(vspNetwork, new ArrayList<String>()); + doAnswer(genericAnswer).when(_mockNuageVspGuruClient).implement(vspNetwork, new ArrayList<String>()); + com.cloud.agent.api.Answer implNtwkAns = _resource.executeRequest(cmd); assertTrue(implNtwkAns.getResult()); } @@ -164,16 +161,13 @@ public class NuageVspResourceTest { public void testReserveVmInterfaceVspCommand() throws Exception { _resource.configure("NuageVspResource", _hostDetails); - ReserveVmInterfaceVspCommand.Builder cmdBuilder = new ReserveVmInterfaceVspCommand.Builder().nicUuid("nicUuid").nicMacAddress("nicMacAddress") - .networkUuid("networkUuid").isL3Network(true).isSharedNetwork(true).vpcUuid("vpcUuid").networkDomainUuid("networkDomainUuid") - .networksAccountUuid("networksAccountUuid").isDomainRouter(false).domainRouterIp("domainRouterIp").vmInstanceName("vmInstanceName").vmUuid("vmUuid") - .vmUserName("vmUserName").vmUserDomainName("vmUserDomainName").useStaticIp(true).staticIp("staticIp").staticNatIpUuid("staticNatIpUuid") - .staticNatIpAddress("staticNatIpAddress").isStaticNatIpAllocated(true).isOneToOneNat(true).staticNatVlanUuid("staticNatVlanUuid") - .staticNatVlanGateway("staticNatVlanGateway").staticNatVlanNetmask("staticNatVlanNetmask"); - doAnswer(genericAnswer).when(_mockNuageVspGuruClient).reserve("nicUuid", "nicMacAddress", "networkUuid", true, true, "vpcUuid", "networkDomainUuid", - "networksAccountUuid", false, "domainRouterIp", "vmInstanceName", "vmUuid", true, "staticIp", "staticNatIpUuid", "staticNatIpAddress", - true, true, "staticNatVlanUuid", "staticNatVlanGateway", "staticNatVlanNetmask"); - Answer rsrvVmInfAns = _resource.executeRequest(cmdBuilder.build()); + VspNetwork vspNetwork = buildVspNetwork(); + VspVm vspVm = buildVspVm(); + VspNic vspNic = buildVspNic(); + VspStaticNat vspStaticNat = buildVspStaticNat(); + ReserveVmInterfaceVspCommand cmd = new ReserveVmInterfaceVspCommand(vspNetwork, vspVm, vspNic, vspStaticNat); + doAnswer(genericAnswer).when(_mockNuageVspGuruClient).reserve(vspNetwork, vspVm, vspNic, vspStaticNat); + Answer rsrvVmInfAns = _resource.executeRequest(cmd); assertTrue(rsrvVmInfAns.getResult()); } @@ -181,12 +175,12 @@ public class NuageVspResourceTest { public void testDeallocateVmVspCommand() throws Exception { _resource.configure("NuageVspResource", _hostDetails); - DeallocateVmVspCommand.Builder cmdBuilder = new DeallocateVmVspCommand.Builder().networkUuid("networkUuid").nicFromDbUuid("nicFromDbUuid") - .nicMacAddress("nicMacAddress").nicIp4Address("nicIp4Address").isL3Network(true).isSharedNetwork(true).vpcUuid("vpcUuid") - .networksDomainUuid("networksDomainUuid").vmInstanceName("vmInstanceName").vmUuid("vmUuid").isExpungingState(true); - doAnswer(genericAnswer).when(_mockNuageVspGuruClient).deallocate("networkUuid", "nicFrmDdUuid", "nicMacAddress", "nicIp4Address", true, true, "vpcUuid", "networksDomainUuid", - "vmInstanceName", "vmUuid", true); - Answer dellocateVmAns = _resource.executeRequest(cmdBuilder.build()); + VspNetwork vspNetwork = buildVspNetwork(); + VspVm vspVm = buildVspVm(); + VspNic vspNic = buildVspNic(); + DeallocateVmVspCommand cmd = new DeallocateVmVspCommand(vspNetwork, vspVm, vspNic); + doAnswer(genericAnswer).when(_mockNuageVspGuruClient).deallocate(vspNetwork, vspVm, vspNic); + Answer dellocateVmAns = _resource.executeRequest(cmd); assertTrue(dellocateVmAns.getResult()); } @@ -194,10 +188,10 @@ public class NuageVspResourceTest { public void testTrashNetworkVspCommand() throws Exception { _resource.configure("NuageVspResource", _hostDetails); - TrashNetworkVspCommand.Builder cmdBuilder = new TrashNetworkVspCommand.Builder().domainUuid("domainUuid").networkUuid("networkUuid") - .isL3Network(true).isSharedNetwork(true).vpcUuid("vpcUuid").domainTemplateName("domainTemplateName"); - doAnswer(genericAnswer).when(_mockNuageVspGuruClient).trash("domainUuid", "networkUuid", true, true, "vpcUuid", "domainTemplateName"); - Answer trashNtwkAns = _resource.executeRequest(cmdBuilder.build()); + VspNetwork vspNetwork = buildVspNetwork(); + TrashNetworkVspCommand cmd = new TrashNetworkVspCommand(vspNetwork); + doAnswer(genericAnswer).when(_mockNuageVspGuruClient).trash(vspNetwork); + Answer trashNtwkAns = _resource.executeRequest(cmd); assertTrue(trashNtwkAns.getResult()); } @@ -205,10 +199,11 @@ public class NuageVspResourceTest { public void testApplyStaticNatVspCommand() throws Exception { _resource.configure("NuageVspResource", _hostDetails); - ApplyStaticNatVspCommand.Builder cmdBuilder = new ApplyStaticNatVspCommand.Builder().networkDomainUuid("networkDomainUuid").networkUuid("networkUuid") - .vpcOrSubnetUuid("vpcOrSubnetUuid").isL3Network(true).isVpc(true).staticNatDetails(new ArrayList<Map<String, Object>>()); - doAnswer(genericAnswer).when(_mockNuageVspElementClient).applyStaticNats("networkDomainUuid", "networkUuid", "vpcOrSubnetUuid", true, true, new ArrayList<Map<String, Object>>()); - Answer applyNatAns = _resource.executeRequest(cmdBuilder.build()); + VspNetwork vspNetwork = buildVspNetwork(); + List<VspStaticNat> vspStaticNatDetails = Lists.newArrayList(buildVspStaticNat()); + ApplyStaticNatVspCommand cmd = new ApplyStaticNatVspCommand(vspNetwork, vspStaticNatDetails); + doAnswer(genericAnswer).when(_mockNuageVspElementClient).applyStaticNats(vspNetwork, vspStaticNatDetails); + Answer applyNatAns = _resource.executeRequest(cmd); assertTrue(applyNatAns.getResult()); } @@ -216,12 +211,11 @@ public class NuageVspResourceTest { public void testApplyAclRuleVspCommand() throws Exception { _resource.configure("NuageVspResource", _hostDetails); - ApplyAclRuleVspCommand.Builder cmdBuilder = new ApplyAclRuleVspCommand.Builder().networkAcl(true).networkUuid("networkUuid").networkDomainUuid("networkDomainUuid") - .vpcOrSubnetUuid("vpcOrSubnetUuid").networkName("networkName").isL2Network(true).aclRules(new ArrayList<Map<String, Object>>()).networkId(100) - .egressDefaultPolicy(false).acsIngressAcl(true).networkReset(true).domainTemplateName("domainTemplateName"); - doAnswer(genericAnswer).when(_mockNuageVspElementClient).applyAclRules(true, "networkUuid", "networkDomainUuid", "vpcOrSubnetUuid", "networkName", true, - new ArrayList<Map<String, Object>>(), 100, false, true, true, "domainTemplateName"); - Answer applyAclAns = _resource.executeRequest(cmdBuilder.build()); + VspNetwork vspNetwork = buildVspNetwork(); + List<VspAclRule> vspAclRules = Lists.newArrayList(buildVspAclRule()); + ApplyAclRuleVspCommand cmd = new ApplyAclRuleVspCommand(VspAclRule.ACLType.NetworkACL, vspNetwork, vspAclRules, false); + doAnswer(genericAnswer).when(_mockNuageVspElementClient).applyAclRules(VspAclRule.ACLType.NetworkACL, vspNetwork, vspAclRules, false); + Answer applyAclAns = _resource.executeRequest(cmd); assertTrue(applyAclAns.getResult()); } @@ -229,19 +223,9 @@ public class NuageVspResourceTest { public void testShutDownVpcVspCommand() throws Exception { _resource.configure("NuageVspResource", _hostDetails); - ShutDownVpcVspCommand.Builder cmdBuilder = new ShutDownVpcVspCommand.Builder().domainUuid("domainUuid").vpcUuid("vpcUuid").domainTemplateName("domainTemplateName"); + ShutDownVpcVspCommand cmd = new ShutDownVpcVspCommand("domainUuid", "vpcUuid", "domainTemplateName"); doAnswer(genericAnswer).when(_mockNuageVspElementClient).shutdownVpc("domainUuid", "vpcUuid", "domainTemplateName"); - Answer shutVpcAns = _resource.executeRequest(cmdBuilder.build()); - assertTrue(shutVpcAns.getResult()); - } - - @Test - public void testSyncVspCommand() throws Exception { - _resource.configure("NuageVspResource", _hostDetails); - - SyncVspCommand shutVpcCmd = new SyncVspCommand("nuageVspEntity"); - doAnswer(genericAnswer).when(_mockNuageVspSyncClient).syncWithNuageVsp("nuageVspEntity"); - Answer shutVpcAns = _resource.executeRequest(shutVpcCmd); + Answer shutVpcAns = _resource.executeRequest(cmd); assertTrue(shutVpcAns.getResult()); } } http://git-wip-us.apache.org/repos/asf/cloudstack/blob/b0c27e48/plugins/network-elements/nuage-vsp/test/com/cloud/network/sync/NuageVspSyncTest.java ---------------------------------------------------------------------- diff --git a/plugins/network-elements/nuage-vsp/test/com/cloud/network/sync/NuageVspSyncTest.java b/plugins/network-elements/nuage-vsp/test/com/cloud/network/sync/NuageVspSyncTest.java deleted file mode 100644 index 23430d4..0000000 --- a/plugins/network-elements/nuage-vsp/test/com/cloud/network/sync/NuageVspSyncTest.java +++ /dev/null @@ -1,72 +0,0 @@ -// -// 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 com.cloud.network.sync; - -import com.cloud.agent.AgentManager; -import com.cloud.agent.api.Answer; -import com.cloud.agent.api.Command; -import com.cloud.host.HostVO; -import com.cloud.host.dao.HostDao; -import com.cloud.network.NuageVspDeviceVO; -import com.cloud.network.dao.NuageVspDao; -import org.junit.Before; -import org.junit.Test; - -import java.util.Arrays; - -import static org.mockito.Matchers.any; -import static org.mockito.Matchers.eq; -import static org.mockito.Mockito.mock; -import static org.mockito.Mockito.when; - -public class NuageVspSyncTest { - private static final long NETWORK_ID = 42L; - NuageVspDao nuageVspDao = mock(NuageVspDao.class); - AgentManager agentManager = mock(AgentManager.class); - HostDao hostDao = mock(HostDao.class); - - NuageVspSyncImpl sync; - - @Before - public void setUp() { - sync = new NuageVspSyncImpl(); - sync._nuageVspDao = nuageVspDao; - sync._agentMgr = agentManager; - sync._hostDao = hostDao; - } - - @Test - public void testSyncWithNuageVsp() { - final NuageVspDeviceVO nuageVspDevice = mock(NuageVspDeviceVO.class); - when(nuageVspDevice.getHostId()).thenReturn(NETWORK_ID); - when(nuageVspDevice.getId()).thenReturn(NETWORK_ID); - when(nuageVspDao.listAll()).thenReturn(Arrays.asList(new NuageVspDeviceVO[] {nuageVspDevice})); - - final HostVO host = mock(HostVO.class); - when(host.getId()).thenReturn(NETWORK_ID); - when(hostDao.findById(NETWORK_ID)).thenReturn(host); - - final Answer answer = mock(Answer.class); - when(answer.getResult()).thenReturn(true); - when(agentManager.easySend(eq(NETWORK_ID), (Command)any())).thenReturn(answer); - - sync.syncWithNuageVsp("users"); - } -} http://git-wip-us.apache.org/repos/asf/cloudstack/blob/b0c27e48/plugins/network-elements/nuage-vsp/test/com/cloud/util/NuageVspEntityBuilderTest.java ---------------------------------------------------------------------- diff --git a/plugins/network-elements/nuage-vsp/test/com/cloud/util/NuageVspEntityBuilderTest.java b/plugins/network-elements/nuage-vsp/test/com/cloud/util/NuageVspEntityBuilderTest.java new file mode 100644 index 0000000..1ddc106 --- /dev/null +++ b/plugins/network-elements/nuage-vsp/test/com/cloud/util/NuageVspEntityBuilderTest.java @@ -0,0 +1,412 @@ +// +// 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 com.cloud.util; + +import com.cloud.NuageTest; +import com.cloud.dc.VlanVO; +import com.cloud.dc.dao.VlanDao; +import com.cloud.domain.DomainVO; +import com.cloud.domain.dao.DomainDao; +import com.cloud.network.Network; +import com.cloud.network.dao.IPAddressDao; +import com.cloud.network.dao.IPAddressVO; +import com.cloud.network.dao.NetworkDetailsDao; +import com.cloud.network.dao.NetworkVO; +import com.cloud.network.rules.FirewallRule; +import com.cloud.network.vpc.NetworkACLItem; +import com.cloud.network.vpc.VpcVO; +import com.cloud.network.vpc.dao.VpcDao; +import com.cloud.offerings.NetworkOfferingVO; +import com.cloud.offerings.dao.NetworkOfferingDao; +import com.cloud.offerings.dao.NetworkOfferingServiceMapDao; +import com.cloud.user.AccountVO; +import com.cloud.user.dao.AccountDao; +import com.cloud.utils.net.Ip; +import com.cloud.vm.NicProfile; +import com.cloud.vm.NicVO; +import com.cloud.vm.VirtualMachine; +import com.google.common.collect.Lists; +import net.nuage.vsp.acs.client.api.model.VspAclRule; +import net.nuage.vsp.acs.client.api.model.VspDomain; +import net.nuage.vsp.acs.client.api.model.VspNetwork; +import net.nuage.vsp.acs.client.api.model.VspNic; +import net.nuage.vsp.acs.client.api.model.VspStaticNat; +import net.nuage.vsp.acs.client.api.model.VspVm; +import net.nuage.vsp.acs.client.common.model.Pair; +import org.junit.Before; +import org.junit.Test; + +import java.util.List; + +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertNotNull; +import static org.junit.Assert.assertNull; +import static org.mockito.Mockito.mock; +import static org.mockito.Mockito.when; + +public class NuageVspEntityBuilderTest extends NuageTest { + + private static final long DOMAIN_ID = 1L; + private static final long ACCOUNT_ID = 1L; + private static final long NETWORK_OFFERING_ID = 1L; + private static final long SHARED_NETWORK_OFFERING_ID = 2L; + private static final long L2_NETWORK_OFFERING_ID = 3L; + private static final long VPC_ID = 1L; + private static final long SOURCE_IP_ADDRESS_ID = 1L; + + private VpcDao _vpcDao = mock(VpcDao.class); + private DomainDao _domainDao = mock(DomainDao.class); + private AccountDao _accountDao = mock(AccountDao.class); + private NetworkOfferingDao _networkOfferingDao = mock(NetworkOfferingDao.class); + private NetworkOfferingServiceMapDao _networkOfferingServiceMapDao = mock(NetworkOfferingServiceMapDao.class); + private VlanDao _vlanDao = mock(VlanDao.class); + private IPAddressDao _ipAddressDao = mock(IPAddressDao.class); + private NetworkDetailsDao _networkDetailsDao = mock(NetworkDetailsDao.class); + private NuageVspEntityBuilder _nuageVspEntityBuilder = new NuageVspEntityBuilder(); + + private DomainVO _mockedDomain = mock(DomainVO.class); + private AccountVO _mockedAccount = mock(AccountVO.class); + private NetworkOfferingVO _mockedNetworkOffering = mock(NetworkOfferingVO.class); + private NetworkOfferingVO _mockedSharedNetworkOffering = mock(NetworkOfferingVO.class); + private NetworkOfferingVO _mockedL2NetworkOffering = mock(NetworkOfferingVO.class); + private VlanVO _mockedVlan = mock(VlanVO.class); + private VpcVO _mockedVpc = mock(VpcVO.class); + private NetworkVO _mockedNetwork = mock(NetworkVO.class); + private NetworkVO _mockedVpcNetwork = mock(NetworkVO.class); + private NetworkVO _mockedSharedNetwork = mock(NetworkVO.class); + private NetworkVO _mockedL2Network = mock(NetworkVO.class); + private VirtualMachine _mockedUserVirtualMachine = mock(VirtualMachine.class); + private VirtualMachine _mockedDomainRouterVirtualMachine = mock(VirtualMachine.class); + private NicProfile _mockedNicProfile = mock(NicProfile.class); + private NicVO _mockedNic = mock(NicVO.class); + private IPAddressVO _mockedStaticNatIp = mock(IPAddressVO.class); + private VlanVO _mockedStaticNatVlan = mock(VlanVO.class); + private FirewallRule _mockedFirewallRule = mock(FirewallRule.class); + private NetworkACLItem _mockedNetworkAclItem = mock(NetworkACLItem.class); + + @Before + public void setUp() throws Exception { + super.setUp(); + + _nuageVspEntityBuilder._vpcDao = _vpcDao; + _nuageVspEntityBuilder._domainDao = _domainDao; + _nuageVspEntityBuilder._accountDao = _accountDao; + _nuageVspEntityBuilder._networkOfferingDao = _networkOfferingDao; + _nuageVspEntityBuilder._networkOfferingServiceMapDao = _networkOfferingServiceMapDao; + _nuageVspEntityBuilder._vlanDao = _vlanDao; + _nuageVspEntityBuilder._configurationDao = _configurationDao; + _nuageVspEntityBuilder._ipAddressDao = _ipAddressDao; + _nuageVspEntityBuilder._networkModel = _networkModel; + _nuageVspEntityBuilder._networkDetailsDao = _networkDetailsDao; + + setUpMockedDomain(); + setUpMockedAccount(); + setUpMockedNetworkOffering(_mockedNetworkOffering, Network.GuestType.Isolated); + setUpMockedNetworkOffering(_mockedSharedNetworkOffering, Network.GuestType.Shared); + setUpMockedNetworkOffering(_mockedL2NetworkOffering, Network.GuestType.Isolated); + setUpMockedVlan(); + setUpMockedVpc(); + setUpMockedNetwork(_mockedNetwork, NETWORK_OFFERING_ID, null); + setUpMockedNetwork(_mockedVpcNetwork, NETWORK_OFFERING_ID, VPC_ID); + setUpMockedNetwork(_mockedSharedNetwork, SHARED_NETWORK_OFFERING_ID, null); + setUpMockedNetwork(_mockedL2Network, L2_NETWORK_OFFERING_ID, null); + setUpMockedVirtualMachine(_mockedUserVirtualMachine, false); + setUpMockedVirtualMachine(_mockedDomainRouterVirtualMachine, true); + setUpMockedNicProfile(); + setUpMockedNic(); + setUpMockedStaticNatIp(); + setUpMockedStaticNatVlan(); + setUpMockedFirewallRule(); + setUpMockedNetworkAclItem(); + setUpMockedDaoCalls(); + } + + @Test + public void testBuildVspDomain() { + VspDomain vspDomain = _nuageVspEntityBuilder.buildVspDomain(_mockedDomain); + validateVspDomain(vspDomain); + } + + @Test + public void testBuildVspNetwork() { + VspNetwork vspNetwork = _nuageVspEntityBuilder.buildVspNetwork(_mockedL2Network, true); + validateVspNetwork(vspNetwork, true, false, false, false, "IsolatedDomainTemplate", true); + + vspNetwork = _nuageVspEntityBuilder.buildVspNetwork(_mockedL2Network, false); + validateVspNetwork(vspNetwork, true, false, false, false, "IsolatedDomainTemplate", false); + + vspNetwork = _nuageVspEntityBuilder.buildVspNetwork(_mockedNetwork, true); + validateVspNetwork(vspNetwork, false, true, false, false, "IsolatedDomainTemplate", true); + + vspNetwork = _nuageVspEntityBuilder.buildVspNetwork(_mockedNetwork, false); + validateVspNetwork(vspNetwork, false, true, false, false, "IsolatedDomainTemplate", false); + + vspNetwork = _nuageVspEntityBuilder.buildVspNetwork(_mockedVpcNetwork, true); + validateVspNetwork(vspNetwork, false, false, true, false, "VpcDomainTemplate", true); + + vspNetwork = _nuageVspEntityBuilder.buildVspNetwork(_mockedVpcNetwork, false); + validateVspNetwork(vspNetwork, false, false, true, false, "VpcDomainTemplate", false); + + vspNetwork = _nuageVspEntityBuilder.buildVspNetwork(_mockedSharedNetwork, true); + validateVspNetwork(vspNetwork, false, false, false, true, "SharedDomainTemplate", true); + + vspNetwork = _nuageVspEntityBuilder.buildVspNetwork(_mockedSharedNetwork, false); + validateVspNetwork(vspNetwork, false, false, false, true, "SharedDomainTemplate", false); + } + + @Test + public void testBuildVspVm() { + VspVm vspVm = _nuageVspEntityBuilder.buildVspVm(_mockedUserVirtualMachine, _mockedNetwork); + validateVspVm(vspVm, false); + + vspVm = _nuageVspEntityBuilder.buildVspVm(_mockedDomainRouterVirtualMachine, _mockedNetwork); + validateVspVm(vspVm, true); + } + + @Test + public void testBuildVspNic() { + VspNic vspNic = _nuageVspEntityBuilder.buildVspNic("nicUuid", _mockedNicProfile); + validateVspNic(vspNic); + + vspNic = _nuageVspEntityBuilder.buildVspNic(_mockedNic); + validateVspNic(vspNic); + } + + @Test + public void testBuildVspStaticNat() { + VspStaticNat vspStaticNat = _nuageVspEntityBuilder.buildVspStaticNat(true, _mockedStaticNatIp, _mockedStaticNatVlan, _mockedNic); + validateVspStaticNat(vspStaticNat, true); + } + + @Test + public void testBuildVspAclRule() { + VspAclRule vspAclRule = _nuageVspEntityBuilder.buildVspAclRule(_mockedFirewallRule, _mockedNetwork); + validateVspAclRule(vspAclRule, true); + + vspAclRule = _nuageVspEntityBuilder.buildVspAclRule(_mockedNetworkAclItem); + validateVspAclRule(vspAclRule, false); + } + + private void validateVspDomain(VspDomain vspDomain) { + assertEquals("domainUuid", vspDomain.getUuid()); + assertEquals("domainName", vspDomain.getName()); + assertEquals("domainPath", vspDomain.getPath()); + } + + private void validateVspNetwork(VspNetwork vspNetwork, boolean isL2, boolean isL3, boolean isVpc, boolean isShared, + String domainTemplateName, boolean hasAddressRanges) { + assertEquals(NETWORK_ID, vspNetwork.getId()); + assertEquals("networkUuid", vspNetwork.getUuid()); + assertEquals("networkName", vspNetwork.getName()); + assertNotNull(vspNetwork.getVspDomain()); + validateVspDomain(vspNetwork.getVspDomain()); + assertEquals("accountName", vspNetwork.getAccountName()); + assertEquals("accountUuid", vspNetwork.getAccountUuid()); + + if (isVpc) { + assertEquals("vpcUuid", vspNetwork.getVpcUuid()); + assertEquals("vpcName", vspNetwork.getVpcName()); + } else { + assertNull(vspNetwork.getVpcUuid()); + assertNull(vspNetwork.getVpcName()); + } + + assertEquals(isL2, vspNetwork.isL2()); + assertEquals(isL3, vspNetwork.isL3()); + assertEquals(isVpc, vspNetwork.isVpc()); + assertEquals(isShared, vspNetwork.isShared()); + assertEquals(true, vspNetwork.isFirewallServiceSupported()); + assertEquals(true, vspNetwork.isEgressDefaultPolicy()); + assertEquals(domainTemplateName, vspNetwork.getDomainTemplateName()); + assertEquals("10.10.10.0/24", vspNetwork.getCidr()); + assertEquals("10.10.10.1", vspNetwork.getGateway()); + + if (hasAddressRanges) { + if (isShared) { + assertEquals("192.168.2.2", vspNetwork.getVirtualRouterIp()); + } else { + assertEquals("10.10.10.2", vspNetwork.getVirtualRouterIp()); + } + + List<Pair<String, String>> ipAddressRanges; + if (isShared) { + ipAddressRanges = Lists.newArrayList(Pair.of("192.168.2.3", "192.168.2.200")); + } else { + ipAddressRanges = Lists.newArrayList(Pair.of("10.10.10.3", "10.10.10.254")); + } + assertEquals(ipAddressRanges, vspNetwork.getIpAddressRanges()); + } + } + + private void validateVspVm(VspVm vspVm, boolean isDomainRouter) { + assertEquals("virtualMachineUuid", vspVm.getUuid()); + assertEquals("virtualMachineInstanceName", vspVm.getName()); + assertEquals(VspVm.State.Running, vspVm.getState()); + assertEquals(isDomainRouter, vspVm.getDomainRouter()); + } + + private void validateVspNic(VspNic vspNic) { + assertEquals("nicUuid", vspNic.getUuid()); + assertEquals("macAddress", vspNic.getMacAddress()); + assertEquals(true, vspNic.getUseStaticIp()); + assertEquals("10.10.10.2", vspNic.getIp()); + } + + private void validateVspStaticNat(VspStaticNat vspStaticNat, Boolean forRevoke) { + assertEquals("staticNatIpUuid", vspStaticNat.getIpUuid()); + assertEquals("10.10.10.2", vspStaticNat.getIpAddress()); + assertEquals(forRevoke, vspStaticNat.getRevoke()); + assertEquals(true, vspStaticNat.getOneToOneNat()); + assertEquals("staticNatVlanUuid", vspStaticNat.getVlanUuid()); + assertEquals("10.10.10.1", vspStaticNat.getVlanGateway()); + assertEquals("255.255.255.0", vspStaticNat.getVlanNetmask()); + } + + private void validateVspAclRule(VspAclRule vspAclRule, boolean isFirewall) { + assertEquals("aclUuid", vspAclRule.getUuid()); + assertEquals("aclProtocol", vspAclRule.getProtocol()); + assertEquals(new Integer(1), vspAclRule.getStartPort()); + assertEquals(new Integer(20), vspAclRule.getEndPort()); + assertEquals(Lists.newArrayList("10.10.0.0/16"), vspAclRule.getSourceCidrList()); + assertEquals(VspAclRule.ACLState.Active, vspAclRule.getState()); + assertEquals(VspAclRule.ACLTrafficType.Egress, vspAclRule.getTrafficType()); + + if (isFirewall) { + assertEquals(VspAclRule.ACLType.Firewall, vspAclRule.getType()); + assertEquals("192.168.0.24/32", vspAclRule.getSourceIpAddress()); + assertEquals(VspAclRule.ACLAction.Deny, vspAclRule.getAction()); + } else { + assertEquals(VspAclRule.ACLType.NetworkACL, vspAclRule.getType()); + assertNull(vspAclRule.getSourceIpAddress()); + assertEquals(VspAclRule.ACLAction.Allow, vspAclRule.getAction()); + } + } + + private void setUpMockedDomain() { + when(_mockedDomain.getUuid()).thenReturn("domainUuid"); + when(_mockedDomain.getName()).thenReturn("domainName"); + when(_mockedDomain.getPath()).thenReturn("domainPath"); + } + + private void setUpMockedAccount() { + when(_mockedAccount.getUuid()).thenReturn("accountUuid"); + when(_mockedAccount.getAccountName()).thenReturn("accountName"); + } + + private void setUpMockedNetworkOffering(NetworkOfferingVO networkOfferingToMock, Network.GuestType guestType) { + when(networkOfferingToMock.getEgressDefaultPolicy()).thenReturn(true); + when(networkOfferingToMock.getGuestType()).thenReturn(guestType); + } + + private void setUpMockedVlan() { + when(_mockedVlan.getIpRange()).thenReturn("192.168.2.2-192.168.2.200"); + } + + private void setUpMockedVpc() { + when(_mockedVpc.getUuid()).thenReturn("vpcUuid"); + when(_mockedVpc.getName()).thenReturn("vpcName"); + } + + private void setUpMockedNetwork(NetworkVO networkToMock, long networkOfferingId, Long vpcId) { + when(networkToMock.getId()).thenReturn(NETWORK_ID); + when(networkToMock.getUuid()).thenReturn("networkUuid"); + when(networkToMock.getName()).thenReturn("networkName"); + when(networkToMock.getCidr()).thenReturn("10.10.10.0/24"); + when(networkToMock.getGateway()).thenReturn("10.10.10.1"); + when(networkToMock.getDomainId()).thenReturn(DOMAIN_ID); + when(networkToMock.getAccountId()).thenReturn(ACCOUNT_ID); + when(networkToMock.getNetworkOfferingId()).thenReturn(networkOfferingId); + when(networkToMock.getVpcId()).thenReturn(vpcId != null ? vpcId : null); + } + + private void setUpMockedVirtualMachine(VirtualMachine virtualMachineToMock, boolean isDomainRouter) { + when(virtualMachineToMock.getUuid()).thenReturn("virtualMachineUuid"); + when(virtualMachineToMock.getInstanceName()).thenReturn("virtualMachineInstanceName"); + when(virtualMachineToMock.getState()).thenReturn(VirtualMachine.State.Running); + when(virtualMachineToMock.getType()).thenReturn(isDomainRouter ? VirtualMachine.Type.DomainRouter : VirtualMachine.Type.User); + } + + private void setUpMockedNicProfile() { + when(_mockedNicProfile.getMacAddress()).thenReturn("macAddress"); + when(_mockedNicProfile.getIPv4Address()).thenReturn("10.10.10.2"); + } + + private void setUpMockedNic() { + when(_mockedNic.getUuid()).thenReturn("nicUuid"); + when(_mockedNic.getMacAddress()).thenReturn("macAddress"); + when(_mockedNic.getIPv4Address()).thenReturn("10.10.10.2"); + } + + private void setUpMockedStaticNatIp() { + when(_mockedStaticNatIp.getUuid()).thenReturn("staticNatIpUuid"); + when(_mockedStaticNatIp.getAddress()).thenReturn(new Ip("10.10.10.2")); + when(_mockedStaticNatIp.isOneToOneNat()).thenReturn(true); + when(_mockedStaticNatIp.getVmIp()).thenReturn("192.168.0.24"); + } + + private void setUpMockedStaticNatVlan() { + when(_mockedStaticNatVlan.getUuid()).thenReturn("staticNatVlanUuid"); + when(_mockedStaticNatVlan.getVlanGateway()).thenReturn("10.10.10.1"); + when(_mockedStaticNatVlan.getVlanNetmask()).thenReturn("255.255.255.0"); + } + + private void setUpMockedFirewallRule() { + when(_mockedFirewallRule.getUuid()).thenReturn("aclUuid"); + when(_mockedFirewallRule.getProtocol()).thenReturn("aclProtocol"); + when(_mockedFirewallRule.getSourcePortStart()).thenReturn(1); + when(_mockedFirewallRule.getSourcePortEnd()).thenReturn(20); + when(_mockedFirewallRule.getSourceCidrList()).thenReturn(Lists.newArrayList("10.10.0.0/16")); + when(_mockedFirewallRule.getState()).thenReturn(FirewallRule.State.Active); + when(_mockedFirewallRule.getTrafficType()).thenReturn(FirewallRule.TrafficType.Egress); + when(_mockedFirewallRule.getSourceIpAddressId()).thenReturn(SOURCE_IP_ADDRESS_ID); + } + + private void setUpMockedNetworkAclItem() { + when(_mockedNetworkAclItem.getUuid()).thenReturn("aclUuid"); + when(_mockedNetworkAclItem.getProtocol()).thenReturn("aclProtocol"); + when(_mockedNetworkAclItem.getSourcePortStart()).thenReturn(1); + when(_mockedNetworkAclItem.getSourcePortEnd()).thenReturn(20); + when(_mockedNetworkAclItem.getSourceCidrList()).thenReturn(Lists.newArrayList("10.10.0.0/16")); + when(_mockedNetworkAclItem.getNumber()).thenReturn(1337); + when(_mockedNetworkAclItem.getState()).thenReturn(NetworkACLItem.State.Active); + when(_mockedNetworkAclItem.getTrafficType()).thenReturn(NetworkACLItem.TrafficType.Egress); + when(_mockedNetworkAclItem.getAction()).thenReturn(NetworkACLItem.Action.Allow); + } + + private void setUpMockedDaoCalls() { + when(_domainDao.findById(DOMAIN_ID)).thenReturn(_mockedDomain); + when(_accountDao.findById(ACCOUNT_ID)).thenReturn(_mockedAccount); + when(_networkOfferingDao.findById(NETWORK_OFFERING_ID)).thenReturn(_mockedNetworkOffering); + when(_networkOfferingDao.findById(SHARED_NETWORK_OFFERING_ID)).thenReturn(_mockedSharedNetworkOffering); + when(_networkOfferingDao.findById(L2_NETWORK_OFFERING_ID)).thenReturn(_mockedL2NetworkOffering); + when(_networkOfferingServiceMapDao.areServicesSupportedByNetworkOffering(NETWORK_OFFERING_ID, Network.Service.SourceNat)).thenReturn(true); + when(_networkOfferingServiceMapDao.areServicesSupportedByNetworkOffering(NETWORK_OFFERING_ID, Network.Service.StaticNat)).thenReturn(true); + when(_networkOfferingServiceMapDao.areServicesSupportedByNetworkOffering(SHARED_NETWORK_OFFERING_ID, Network.Service.SourceNat)).thenReturn(true); + when(_networkOfferingServiceMapDao.areServicesSupportedByNetworkOffering(SHARED_NETWORK_OFFERING_ID, Network.Service.StaticNat)).thenReturn(true); + when(_networkOfferingServiceMapDao.areServicesSupportedByNetworkOffering(L2_NETWORK_OFFERING_ID, Network.Service.SourceNat)).thenReturn(false); + when(_networkOfferingServiceMapDao.areServicesSupportedByNetworkOffering(L2_NETWORK_OFFERING_ID, Network.Service.StaticNat)).thenReturn(false); + when(_networkModel.areServicesSupportedByNetworkOffering(NETWORK_OFFERING_ID, Network.Service.Firewall)).thenReturn(true); + when(_networkModel.areServicesSupportedByNetworkOffering(SHARED_NETWORK_OFFERING_ID, Network.Service.Firewall)).thenReturn(true); + when(_networkModel.areServicesSupportedByNetworkOffering(L2_NETWORK_OFFERING_ID, Network.Service.Firewall)).thenReturn(true); + when(_vlanDao.listVlansByNetworkId(NETWORK_ID)).thenReturn(Lists.newArrayList(_mockedVlan)); + when(_vpcDao.findById(VPC_ID)).thenReturn(_mockedVpc); + when(_ipAddressDao.findById(SOURCE_IP_ADDRESS_ID)).thenReturn(_mockedStaticNatIp); + } +} http://git-wip-us.apache.org/repos/asf/cloudstack/blob/b0c27e48/plugins/pom.xml ---------------------------------------------------------------------- diff --git a/plugins/pom.xml b/plugins/pom.xml index 25f0687..d05e630 100755 --- a/plugins/pom.xml +++ b/plugins/pom.xml @@ -75,6 +75,7 @@ <module>network-elements/palo-alto</module> <module>network-elements/netscaler</module> <module>network-elements/nicira-nvp</module> + <module>network-elements/nuage-vsp</module> <module>network-elements/bigswitch</module> <module>network-elements/brocade-vcs</module> <module>network-elements/midonet</module> @@ -171,17 +172,6 @@ </modules> </profile> <profile> - <id>nuagevsp</id> - <activation> - <property> - <name>noredist</name> - </property> - </activation> - <modules> - <module>network-elements/nuage-vsp</module> - </modules> - </profile> - <profile> <id>vmware</id> <activation> <property> http://git-wip-us.apache.org/repos/asf/cloudstack/blob/b0c27e48/ui/scripts/system.js ---------------------------------------------------------------------- diff --git a/ui/scripts/system.js b/ui/scripts/system.js index d544283..642370f 100644 --- a/ui/scripts/system.js +++ b/ui/scripts/system.js @@ -7109,7 +7109,7 @@ }, apiversion: { label: 'label.api.version', - defaultValue: 'v1_0', + defaultValue: 'v3_2', validation: { required: true }, @@ -13185,7 +13185,7 @@ }, apiversion: { label: 'label.api.version', - defaultValue: 'v1_0' + defaultValue: 'v3_2' }, retrycount: { label: 'label.numretries',
