You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cloudstack.apache.org by al...@apache.org on 2012/08/07 20:39:57 UTC
[3/61] [abbrv] git commit: VPC: more unittests for VpcService
VPC: more unittests for VpcService
Conflicts:
server/src/com/cloud/network/vpc/VpcManagerImpl.java
Project: http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/commit/bda1e2d0
Tree: http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/tree/bda1e2d0
Diff: http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/diff/bda1e2d0
Branch: refs/heads/vpc
Commit: bda1e2d08d694ea3669a2af9dace952c0e0c3f53
Parents: d38e9ee
Author: Alena Prokharchyk <al...@citrix.com>
Authored: Mon Aug 6 23:27:39 2012 -0700
Committer: Alena Prokharchyk <al...@citrix.com>
Committed: Tue Aug 7 11:37:36 2012 -0700
----------------------------------------------------------------------
api/src/com/cloud/network/vpc/VpcService.java | 3 +-
api/src/com/cloud/user/UserContext.java | 3 +-
server/src/com/cloud/network/NetworkVO.java | 2 +-
.../src/com/cloud/network/vpc/VpcManagerImpl.java | 11 +-
.../com/cloud/user/MockAccountManagerImpl.java | 8 +-
.../test/com/cloud/vm/MockUserVmManagerImpl.java | 22 ++
.../cloud/vpc/MockConfigurationManagerImpl.java | 38 ++--
.../test/com/cloud/vpc/MockNetworkManagerImpl.java | 62 ++++--
server/test/com/cloud/vpc/VpcApiUnitTest.java | 171 ++++++++++++--
.../cloud/vpc/dao/MockConfigurationDaoImpl.java | 106 +++++++++
.../test/com/cloud/vpc/dao/MockNetworkDaoImpl.java | 6 +-
.../cloud/vpc/dao/MockNetworkOfferingDaoImpl.java | 7 +-
.../dao/MockNetworkOfferingServiceMapDaoImpl.java | 2 +-
.../vpc/dao/MockNetworkServiceMapDaoImpl.java | 4 +-
server/test/com/cloud/vpc/dao/MockVpcDaoImpl.java | 43 ++++-
.../com/cloud/vpc/dao/MockVpcOfferingDaoImpl.java | 39 ++++
.../vpc/dao/MockVpcOfferingServiceMapDao.java | 17 --
.../vpc/dao/MockVpcOfferingServiceMapDaoImpl.java | 69 ++++++
.../cloud/vpc/dao/MockVpcVirtualRouterElement.java | 26 +++
19 files changed, 539 insertions(+), 100 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/bda1e2d0/api/src/com/cloud/network/vpc/VpcService.java
----------------------------------------------------------------------
diff --git a/api/src/com/cloud/network/vpc/VpcService.java b/api/src/com/cloud/network/vpc/VpcService.java
index 8457f46..7d8de55 100644
--- a/api/src/com/cloud/network/vpc/VpcService.java
+++ b/api/src/com/cloud/network/vpc/VpcService.java
@@ -78,7 +78,8 @@ public interface VpcService {
* @return
* @throws ResourceAllocationException TODO
*/
- public Vpc createVpc(long zoneId, long vpcOffId, long vpcOwnerId, String vpcName, String displayText, String cidr, String networkDomain) throws ResourceAllocationException;
+ public Vpc createVpc(long zoneId, long vpcOffId, long vpcOwnerId, String vpcName, String displayText, String cidr,
+ String networkDomain) throws ResourceAllocationException;
/**
* @param vpcId
http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/bda1e2d0/api/src/com/cloud/user/UserContext.java
----------------------------------------------------------------------
diff --git a/api/src/com/cloud/user/UserContext.java b/api/src/com/cloud/user/UserContext.java
index b140728..aa4c639 100644
--- a/api/src/com/cloud/user/UserContext.java
+++ b/api/src/com/cloud/user/UserContext.java
@@ -16,13 +16,12 @@
// under the License.
package com.cloud.user;
-import com.cloud.server.ManagementService;
import com.cloud.utils.component.ComponentLocator;
public class UserContext {
private static ThreadLocal<UserContext> s_currentContext = new ThreadLocal<UserContext>();
- private static final ComponentLocator locator = ComponentLocator.getLocator(ManagementService.Name);
+ private static final ComponentLocator locator = ComponentLocator.getCurrentLocator();
private static final AccountService _accountMgr = locator.getManager(AccountService.class);
private long userId;
http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/bda1e2d0/server/src/com/cloud/network/NetworkVO.java
----------------------------------------------------------------------
diff --git a/server/src/com/cloud/network/NetworkVO.java b/server/src/com/cloud/network/NetworkVO.java
index 5746d37..39dd66e 100644
--- a/server/src/com/cloud/network/NetworkVO.java
+++ b/server/src/com/cloud/network/NetworkVO.java
@@ -458,7 +458,7 @@ public class NetworkVO implements Network, Identity {
@Override
public String toString() {
StringBuilder buf = new StringBuilder("Ntwk[");
- buf.append(id).append("|").append(trafficType.toString()).append("|").append(networkOfferingId).append("]");
+ buf.append(id).append("|").append(trafficType).append("|").append(networkOfferingId).append("]");
return buf.toString();
}
http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/bda1e2d0/server/src/com/cloud/network/vpc/VpcManagerImpl.java
----------------------------------------------------------------------
diff --git a/server/src/com/cloud/network/vpc/VpcManagerImpl.java b/server/src/com/cloud/network/vpc/VpcManagerImpl.java
index 1de5dbc..5c760da 100644
--- a/server/src/com/cloud/network/vpc/VpcManagerImpl.java
+++ b/server/src/com/cloud/network/vpc/VpcManagerImpl.java
@@ -636,6 +636,7 @@ public class VpcManagerImpl implements VpcManager, Manager{
@DB
public boolean destroyVpc(Vpc vpc) throws ConcurrentOperationException, ResourceUnavailableException {
UserContext ctx = UserContext.current();
+ s_logger.debug("Destroying vpc " + vpc);
//don't allow to delete vpc if it's in use by existing networks
int networksCount = _ntwkDao.getNetworkCountByVpcId(vpc.getId());
@@ -672,9 +673,10 @@ public class VpcManagerImpl implements VpcManager, Manager{
//update the instance with removed flag only when the cleanup is executed successfully
if (_vpcDao.remove(vpc.getId())) {
- s_logger.debug("Vpc " + vpc + " is removed succesfully");
+ s_logger.debug("Vpc " + vpc + " is destroyed succesfully");
return true;
} else {
+ s_logger.warn("Vpc " + vpc + " failed to destroy");
return false;
}
}
@@ -930,9 +932,10 @@ public class VpcManagerImpl implements VpcManager, Manager{
_accountMgr.checkAccess(caller, null, false, vpc);
//shutdown provider
+ s_logger.debug("Shutting down vpc " + vpc);
boolean success = getVpcElement().shutdownVpc(vpc);
- //TODO - cleanup all vpc resources here (ACLs, gateways, etc)
+ //TODO - shutdown all vpc resources here (ACLs, gateways, etc)
if (success) {
s_logger.debug("Vpc " + vpc + " has been shutdown succesfully");
} else {
@@ -1074,6 +1077,10 @@ public class VpcManagerImpl implements VpcManager, Manager{
if (vpcElement == null) {
vpcElement = ((VpcProvider)_ntwkMgr.getElementImplementingProvider(Provider.VPCVirtualRouter.getName()));
}
+
+ if (vpcElement == null) {
+ throw new CloudRuntimeException("Failed to initialize vpc element");
+ }
return vpcElement;
}
http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/bda1e2d0/server/test/com/cloud/user/MockAccountManagerImpl.java
----------------------------------------------------------------------
diff --git a/server/test/com/cloud/user/MockAccountManagerImpl.java b/server/test/com/cloud/user/MockAccountManagerImpl.java
index 8f6d4fa..0d15cd7 100644
--- a/server/test/com/cloud/user/MockAccountManagerImpl.java
+++ b/server/test/com/cloud/user/MockAccountManagerImpl.java
@@ -43,7 +43,7 @@ import com.cloud.utils.db.SearchCriteria;
@Local(value = { AccountManager.class, AccountService.class })
-public class MockAccountManagerImpl implements Manager, AccountManager {
+public class MockAccountManagerImpl implements Manager, AccountManager, AccountService {
@Override
@@ -102,14 +102,12 @@ public class MockAccountManagerImpl implements Manager, AccountManager {
@Override
public Account getSystemAccount() {
- // TODO Auto-generated method stub
- return null;
+ return new AccountVO();
}
@Override
public User getSystemUser() {
- // TODO Auto-generated method stub
- return null;
+ return new UserVO();
}
@Override
http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/bda1e2d0/server/test/com/cloud/vm/MockUserVmManagerImpl.java
----------------------------------------------------------------------
diff --git a/server/test/com/cloud/vm/MockUserVmManagerImpl.java b/server/test/com/cloud/vm/MockUserVmManagerImpl.java
index 62db70c..e890262 100644
--- a/server/test/com/cloud/vm/MockUserVmManagerImpl.java
+++ b/server/test/com/cloud/vm/MockUserVmManagerImpl.java
@@ -25,6 +25,8 @@ import javax.naming.ConfigurationException;
import com.cloud.agent.api.StopAnswer;
import com.cloud.agent.api.VmStatsEntry;
+import com.cloud.agent.api.to.NicTO;
+import com.cloud.agent.api.to.VirtualMachineTO;
import com.cloud.agent.manager.Commands;
import com.cloud.api.commands.AssignVMCmd;
import com.cloud.api.commands.AttachVolumeCmd;
@@ -53,6 +55,7 @@ import com.cloud.exception.StorageUnavailableException;
import com.cloud.exception.VirtualMachineMigrationException;
import com.cloud.host.Host;
import com.cloud.hypervisor.Hypervisor.HypervisorType;
+import com.cloud.network.Network;
import com.cloud.offering.ServiceOffering;
import com.cloud.projects.Project.ListProjectResourcesCriteria;
import com.cloud.server.Criteria;
@@ -423,4 +426,23 @@ public class MockUserVmManagerImpl implements UserVmManager, UserVmService, Mana
}
+ /* (non-Javadoc)
+ * @see com.cloud.vm.VirtualMachineGuru#plugNic(com.cloud.network.Network, com.cloud.agent.api.to.NicTO, com.cloud.agent.api.to.VirtualMachineTO, com.cloud.vm.ReservationContext, com.cloud.deploy.DeployDestination)
+ */
+ @Override
+ public boolean plugNic(Network network, NicTO nic, VirtualMachineTO vm, ReservationContext context, DeployDestination dest) throws ConcurrentOperationException, ResourceUnavailableException,
+ InsufficientCapacityException {
+ // TODO Auto-generated method stub
+ return false;
+ }
+
+ /* (non-Javadoc)
+ * @see com.cloud.vm.VirtualMachineGuru#unplugNic(com.cloud.network.Network, com.cloud.agent.api.to.NicTO, com.cloud.agent.api.to.VirtualMachineTO, com.cloud.vm.ReservationContext, com.cloud.deploy.DeployDestination)
+ */
+ @Override
+ public boolean unplugNic(Network network, NicTO nic, VirtualMachineTO vm, ReservationContext context, DeployDestination dest) throws ConcurrentOperationException, ResourceUnavailableException {
+ // TODO Auto-generated method stub
+ return false;
+ }
+
}
http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/bda1e2d0/server/test/com/cloud/vpc/MockConfigurationManagerImpl.java
----------------------------------------------------------------------
diff --git a/server/test/com/cloud/vpc/MockConfigurationManagerImpl.java b/server/test/com/cloud/vpc/MockConfigurationManagerImpl.java
index 855942a..8841483 100644
--- a/server/test/com/cloud/vpc/MockConfigurationManagerImpl.java
+++ b/server/test/com/cloud/vpc/MockConfigurationManagerImpl.java
@@ -422,15 +422,6 @@ public class MockConfigurationManagerImpl implements ConfigurationManager, Confi
}
/* (non-Javadoc)
- * @see com.cloud.configuration.ConfigurationManager#createDiskOffering(java.lang.Long, java.lang.String, java.lang.String, java.lang.Long, java.lang.String, boolean, boolean)
- */
- @Override
- public DiskOfferingVO createDiskOffering(Long domainId, String name, String description, Long numGibibytes, String tags, boolean isCustomized, boolean localStorageRequired) {
- // TODO Auto-generated method stub
- return null;
- }
-
- /* (non-Javadoc)
* @see com.cloud.configuration.ConfigurationManager#createPod(long, java.lang.String, long, java.lang.String, java.lang.String, java.lang.String, java.lang.String, java.lang.String, boolean)
*/
@Override
@@ -440,16 +431,6 @@ public class MockConfigurationManagerImpl implements ConfigurationManager, Confi
}
/* (non-Javadoc)
- * @see com.cloud.configuration.ConfigurationManager#createZone(long, java.lang.String, java.lang.String, java.lang.String, java.lang.String, java.lang.String, java.lang.String, java.lang.String, java.lang.Long, com.cloud.dc.DataCenter.NetworkType, java.lang.String, java.lang.String, boolean, boolean)
- */
- @Override
- public DataCenterVO createZone(long userId, String zoneName, String dns1, String dns2, String internalDns1, String internalDns2, String guestCidr, String domain, Long domainId, NetworkType zoneType,
- String allocationState, String networkDomain, boolean isSecurityGroupEnabled, boolean isLocalStorageEnabled) {
- // TODO Auto-generated method stub
- return null;
- }
-
- /* (non-Javadoc)
* @see com.cloud.configuration.ConfigurationManager#deleteVlanAndPublicIpRange(long, long, com.cloud.user.Account)
*/
@Override
@@ -596,4 +577,23 @@ public class MockConfigurationManagerImpl implements ConfigurationManager, Confi
return null;
}
+ /* (non-Javadoc)
+ * @see com.cloud.configuration.ConfigurationManager#createDiskOffering(java.lang.Long, java.lang.String, java.lang.String, java.lang.Long, java.lang.String, boolean)
+ */
+ @Override
+ public DiskOfferingVO createDiskOffering(Long domainId, String name, String description, Long numGibibytes, String tags, boolean isCustomized) {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ /* (non-Javadoc)
+ * @see com.cloud.configuration.ConfigurationManager#createZone(long, java.lang.String, java.lang.String, java.lang.String, java.lang.String, java.lang.String, java.lang.String, java.lang.String, java.lang.Long, com.cloud.dc.DataCenter.NetworkType, java.lang.String, java.lang.String, boolean)
+ */
+ @Override
+ public DataCenterVO createZone(long userId, String zoneName, String dns1, String dns2, String internalDns1, String internalDns2, String guestCidr, String domain, Long domainId, NetworkType zoneType,
+ String allocationState, String networkDomain, boolean isSecurityGroupEnabled) {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
}
http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/bda1e2d0/server/test/com/cloud/vpc/MockNetworkManagerImpl.java
----------------------------------------------------------------------
diff --git a/server/test/com/cloud/vpc/MockNetworkManagerImpl.java b/server/test/com/cloud/vpc/MockNetworkManagerImpl.java
index 14702b2..f6ad27b 100644
--- a/server/test/com/cloud/vpc/MockNetworkManagerImpl.java
+++ b/server/test/com/cloud/vpc/MockNetworkManagerImpl.java
@@ -13,6 +13,7 @@
package com.cloud.vpc;
import java.util.ArrayList;
+import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.Set;
@@ -20,6 +21,8 @@ import java.util.Set;
import javax.ejb.Local;
import javax.naming.ConfigurationException;
+import org.apache.log4j.Logger;
+
import com.cloud.acl.ControlledEntity.ACLType;
import com.cloud.api.commands.CreateNetworkCmd;
import com.cloud.api.commands.ListNetworksCmd;
@@ -70,6 +73,7 @@ import com.cloud.offerings.dao.NetworkOfferingServiceMapDao;
import com.cloud.user.Account;
import com.cloud.user.User;
import com.cloud.utils.Pair;
+import com.cloud.utils.component.Adapters;
import com.cloud.utils.component.Inject;
import com.cloud.utils.component.Manager;
import com.cloud.vm.Nic;
@@ -79,6 +83,7 @@ import com.cloud.vm.VMInstanceVO;
import com.cloud.vm.VirtualMachine;
import com.cloud.vm.VirtualMachineProfile;
import com.cloud.vm.VirtualMachineProfileImpl;
+import com.cloud.vpc.dao.MockVpcVirtualRouterElement;
@Local(value = { NetworkManager.class, NetworkService.class })
public class MockNetworkManagerImpl implements NetworkManager, Manager{
@@ -86,6 +91,12 @@ public class MockNetworkManagerImpl implements NetworkManager, Manager{
NetworkServiceMapDao _ntwkSrvcDao;
@Inject
NetworkOfferingServiceMapDao _ntwkOfferingSrvcDao;
+ @Inject(adapter = NetworkElement.class)
+ Adapters<NetworkElement> _networkElements;
+
+ private static HashMap<String, String> s_providerToNetworkElementMap = new HashMap<String, String>();
+ private static final Logger s_logger = Logger.getLogger(MockNetworkManagerImpl.class);
+
/* (non-Javadoc)
* @see com.cloud.network.NetworkService#getIsolatedNetworksOwnedByAccountInZone(long, com.cloud.user.Account)
@@ -97,15 +108,6 @@ public class MockNetworkManagerImpl implements NetworkManager, Manager{
}
/* (non-Javadoc)
- * @see com.cloud.network.NetworkService#allocateIP(com.cloud.user.Account, long)
- */
- @Override
- public IpAddress allocateIP(Account ipOwner, long zoneId) throws ResourceAllocationException, InsufficientAddressCapacityException, ConcurrentOperationException {
- // TODO Auto-generated method stub
- return null;
- }
-
- /* (non-Javadoc)
* @see com.cloud.network.NetworkService#releaseIpAddress(long)
*/
@Override
@@ -1163,15 +1165,6 @@ public class MockNetworkManagerImpl implements NetworkManager, Manager{
}
/* (non-Javadoc)
- * @see com.cloud.network.NetworkManager#checkVirtualNetworkCidrOverlap(java.lang.Long, java.lang.String)
- */
- @Override
- public void checkVirtualNetworkCidrOverlap(Long zoneId, String cidr) {
- // TODO Auto-generated method stub
-
- }
-
- /* (non-Javadoc)
* @see com.cloud.network.NetworkManager#checkCapabilityForProvider(java.util.Set, com.cloud.network.Network.Service, com.cloud.network.Network.Capability, java.lang.String)
*/
@Override
@@ -1267,8 +1260,7 @@ public class MockNetworkManagerImpl implements NetworkManager, Manager{
*/
@Override
public NetworkElement getElementImplementingProvider(String providerName) {
- // TODO Auto-generated method stub
- return null;
+ return new MockVpcVirtualRouterElement();
}
/* (non-Javadoc)
@@ -1451,7 +1443,17 @@ public class MockNetworkManagerImpl implements NetworkManager, Manager{
*/
@Override
public boolean start() {
- // TODO Auto-generated method stub
+ for (NetworkElement element : _networkElements) {
+ Provider implementedProvider = element.getProvider();
+ if (implementedProvider != null) {
+ if (s_providerToNetworkElementMap.containsKey(implementedProvider.getName())) {
+ s_logger.error("Cannot start MapNetworkManager: Provider <-> NetworkElement must be a one-to-one map, " +
+ "multiple NetworkElements found for Provider: " + implementedProvider.getName());
+ return false;
+ }
+ s_providerToNetworkElementMap.put(implementedProvider.getName(), element.getName());
+ }
+ }
return true;
}
@@ -1473,4 +1475,22 @@ public class MockNetworkManagerImpl implements NetworkManager, Manager{
return null;
}
+ /* (non-Javadoc)
+ * @see com.cloud.network.NetworkService#allocateIP(com.cloud.user.Account, boolean, long)
+ */
+ @Override
+ public IpAddress allocateIP(Account ipOwner, boolean isSystem, long zoneId) throws ResourceAllocationException, InsufficientAddressCapacityException, ConcurrentOperationException {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ /* (non-Javadoc)
+ * @see com.cloud.network.NetworkManager#translateZoneIdToPhysicalNetwork(long)
+ */
+ @Override
+ public PhysicalNetwork translateZoneIdToPhysicalNetwork(long zoneId) {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
}
http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/bda1e2d0/server/test/com/cloud/vpc/VpcApiUnitTest.java
----------------------------------------------------------------------
diff --git a/server/test/com/cloud/vpc/VpcApiUnitTest.java b/server/test/com/cloud/vpc/VpcApiUnitTest.java
index a7500bc..1d8dd71 100644
--- a/server/test/com/cloud/vpc/VpcApiUnitTest.java
+++ b/server/test/com/cloud/vpc/VpcApiUnitTest.java
@@ -12,6 +12,9 @@
// Automatically generated by addcopyright.py at 04/03/2012
package com.cloud.vpc;
+import java.util.ArrayList;
+import java.util.List;
+
import junit.framework.TestCase;
import org.apache.log4j.Logger;
@@ -21,17 +24,19 @@ import com.cloud.configuration.dao.ConfigurationDaoImpl;
import com.cloud.configuration.dao.ResourceCountDaoImpl;
import com.cloud.dc.dao.VlanDaoImpl;
import com.cloud.exception.InvalidParameterValueException;
+import com.cloud.network.Network.Service;
import com.cloud.network.dao.FirewallRulesDaoImpl;
import com.cloud.network.dao.IPAddressDaoImpl;
-import com.cloud.network.dao.NetworkDaoImpl;
import com.cloud.network.dao.PhysicalNetworkDaoImpl;
+import com.cloud.network.dao.Site2SiteVpnGatewayDaoImpl;
+import com.cloud.network.vpc.Vpc;
import com.cloud.network.vpc.VpcManager;
import com.cloud.network.vpc.VpcManagerImpl;
import com.cloud.network.vpc.Dao.PrivateIpDaoImpl;
import com.cloud.network.vpc.Dao.StaticRouteDaoImpl;
import com.cloud.network.vpc.Dao.VpcGatewayDaoImpl;
import com.cloud.network.vpc.Dao.VpcOfferingDaoImpl;
-import com.cloud.network.vpc.Dao.VpcOfferingServiceMapDaoImpl;
+import com.cloud.server.ManagementService;
import com.cloud.tags.dao.ResourceTagsDaoImpl;
import com.cloud.user.AccountVO;
import com.cloud.user.MockAccountManagerImpl;
@@ -39,10 +44,13 @@ import com.cloud.user.dao.AccountDaoImpl;
import com.cloud.utils.component.ComponentLocator;
import com.cloud.utils.component.MockComponentLocator;
import com.cloud.vm.dao.DomainRouterDaoImpl;
+import com.cloud.vpc.dao.MockNetworkDaoImpl;
import com.cloud.vpc.dao.MockNetworkOfferingDaoImpl;
import com.cloud.vpc.dao.MockNetworkOfferingServiceMapDaoImpl;
import com.cloud.vpc.dao.MockNetworkServiceMapDaoImpl;
import com.cloud.vpc.dao.MockVpcDaoImpl;
+import com.cloud.vpc.dao.MockVpcOfferingDaoImpl;
+import com.cloud.vpc.dao.MockVpcOfferingServiceMapDaoImpl;
public class VpcApiUnitTest extends TestCase{
private static final Logger s_logger = Logger.getLogger(VpcApiUnitTest.class);
@@ -52,19 +60,18 @@ public class VpcApiUnitTest extends TestCase{
@Override
@Before
public void setUp() throws Exception {
- _locator = new MockComponentLocator("management-server");
+ _locator = new MockComponentLocator(ManagementService.Name);
_locator.addDao("VpcDao", MockVpcDaoImpl.class);
_locator.addDao("VpcOfferingDao", VpcOfferingDaoImpl.class);
- _locator.addDao("VpcOfferingServiceMapDao", VpcOfferingServiceMapDaoImpl.class);
- _locator.addDao("ConfigDao", ConfigurationDaoImpl.class);
- _locator.addDao("NetworkDao", NetworkDaoImpl.class);
+ _locator.addDao("ConfigurationDao", ConfigurationDaoImpl.class);
+ _locator.addDao("NetworkDao", MockNetworkDaoImpl.class);
_locator.addDao("IPAddressDao", IPAddressDaoImpl.class);
_locator.addDao("DomainRouterDao", DomainRouterDaoImpl.class);
- _locator.addDao("_vpcGatewayDao", VpcGatewayDaoImpl.class);
+ _locator.addDao("VpcGatewayDao", VpcGatewayDaoImpl.class);
_locator.addDao("PrivateIpDao", PrivateIpDaoImpl.class);
_locator.addDao("StaticRouteDao", StaticRouteDaoImpl.class);
_locator.addDao("NetworkOfferingServiceMapDao", MockNetworkOfferingServiceMapDaoImpl.class);
- _locator.addDao("VpcOfferingServiceMapDao", VpcOfferingServiceMapDaoImpl.class);
+ _locator.addDao("VpcOfferingServiceMapDao", MockVpcOfferingServiceMapDaoImpl.class);
_locator.addDao("PhysicalNetworkDao", PhysicalNetworkDaoImpl.class);
_locator.addDao("ResourceTagDao", ResourceTagsDaoImpl.class);
_locator.addDao("FirewallRulesDao", FirewallRulesDaoImpl.class);
@@ -73,32 +80,133 @@ public class VpcApiUnitTest extends TestCase{
_locator.addDao("ResourceCountDao", ResourceCountDaoImpl.class);
_locator.addDao("NetworkOfferingDao", MockNetworkOfferingDaoImpl.class);
_locator.addDao("NetworkServiceMapDao", MockNetworkServiceMapDaoImpl.class);
-
+ _locator.addDao("VpcOfferingDao", MockVpcOfferingDaoImpl.class);
+ _locator.addDao("Site2SiteVpnDao", Site2SiteVpnGatewayDaoImpl.class);
+ _locator.addManager("ConfigService", MockConfigurationManagerImpl.class);
_locator.addManager("vpc manager", VpcManagerImpl.class);
_locator.addManager("account manager", MockAccountManagerImpl.class);
_locator.addManager("network manager", MockNetworkManagerImpl.class);
_locator.addManager("Site2SiteVpnManager", MockSite2SiteVpnManagerImpl.class);
_locator.addManager("ResourceLimitService", MockResourceLimitManagerImpl.class);
- _locator.addManager("ConfigService", MockConfigurationManagerImpl.class);
+
_locator.makeActive(null);
_vpcService = ComponentLocator.inject(VpcManagerImpl.class);
}
public void test() {
+ s_logger.debug("Starting test for VpcService interface");
+ //Vpc service methods
+ getActiveVpc();
+ deleteVpc();
+
+ //Vpc manager methods
+ validateNtwkOffForVpc();
+ //destroyVpc();
+
+ }
+
+ protected void deleteVpc() {
+ //delete existing offering
+ boolean result = false;
+ String msg = null;
+ try {
+ List<String> svcs = new ArrayList<String>();
+ svcs.add(Service.SourceNat.getName());
+ result = _vpcService.deleteVpc(1);
+ } catch (Exception ex) {
+ msg = ex.getMessage();
+ } finally {
+ if (result) {
+ s_logger.debug("Delete vpc: Test passed, vpc is deleted");
+ } else {
+ s_logger.error("Delete vpc: TEST FAILED, vpc failed to delete " + msg);
+ }
+ }
+
+ //delete non-existing offering
+ result = false;
+ msg = null;
+ try {
+ List<String> svcs = new ArrayList<String>();
+ svcs.add(Service.SourceNat.getName());
+ result = _vpcService.deleteVpc(100);
+ } catch (Exception ex) {
+ msg = ex.getMessage();
+ } finally {
+ if (!result) {
+ s_logger.debug("Delete vpc: Test passed, non existing vpc failed to delete ");
+ } else {
+ s_logger.error("Delete vpc: TEST FAILED, true is returned when try to delete non existing vpc");
+ }
+ }
+ }
+
+ protected void getActiveVpc() {
+ //test for active vpc
+ boolean result = false;
+ String msg = null;
+ Vpc vpc = null;
+ try {
+ List<String> svcs = new ArrayList<String>();
+ svcs.add(Service.SourceNat.getName());
+ vpc = _vpcService.getActiveVpc(1);
+ if (vpc != null) {
+ result = true;
+ }
+ } catch (Exception ex) {
+ msg = ex.getMessage();
+ } finally {
+ if (result) {
+ s_logger.debug("Get active Vpc: Test passed, active vpc is returned");
+ } else {
+ s_logger.error("Get active Vpc: TEST FAILED, active vpc is not returned " + msg);
+ }
+ }
+
+ //test for inactive vpc
+ result = false;
+ msg = null;
+ vpc = null;
+ try {
+ List<String> svcs = new ArrayList<String>();
+ svcs.add(Service.SourceNat.getName());
+ vpc = _vpcService.getActiveVpc(2);
+ if (vpc != null) {
+ result = true;
+ }
+ } catch (Exception ex) {
+ msg = ex.getMessage();
+ } finally {
+ if (!result) {
+ s_logger.debug("Get active Vpc: Test passed, no vpc is returned");
+ } else {
+ s_logger.error("Get active Vpc: TEST FAILED, non active vpc is returned");
+ }
+ }
+ }
+
+ protected void destroyVpc() {
+ try {
+ _vpcService.destroyVpc(_vpcService.getVpc(1));
+ } catch (Exception ex) {
+ s_logger.error("Destroy VPC TEST FAILED due to exc ", ex);
+ }
+ }
+
+ protected void validateNtwkOffForVpc() {
//validate network offering
//1) correct network offering
boolean result = false;
try {
_vpcService.validateNtkwOffForVpc(1, "0.0.0.0", "111-", new AccountVO(), _vpcService.getVpc(1), 2L, "10.1.1.1");
result = true;
- s_logger.debug("Test passed: the offering is valid for vpc creation");
+ s_logger.debug("Validate network offering: Test passed: the offering is valid for vpc creation");
} catch (Exception ex) {
- s_logger.warn("TEST FAILED due to exc ", ex);
+ s_logger.error("Validate network offering: TEST FAILED due to exc ", ex);
}
-
//2) invalid offering - source nat is not included
result = false;
String msg = null;
@@ -109,9 +217,9 @@ public class VpcApiUnitTest extends TestCase{
msg = ex.getMessage();
} finally {
if (!result) {
- s_logger.debug("Test passed: " + msg);
+ s_logger.debug("Validate network offering: Test passed: " + msg);
} else {
- s_logger.warn("TEST FAILED, can't use network offering without SourceNat service");
+ s_logger.error("Validate network offering: TEST FAILED, can't use network offering without SourceNat service");
}
}
@@ -125,9 +233,9 @@ public class VpcApiUnitTest extends TestCase{
msg = ex.getMessage();
} finally {
if (!result) {
- s_logger.debug("Test passed: " + msg);
+ s_logger.debug("Validate network offering: Test passed: " + msg);
} else {
- s_logger.warn("TEST FAILED, can't use network offering without conserve mode = true");
+ s_logger.error("Validate network offering: TEST FAILED, can't use network offering without conserve mode = true");
}
}
@@ -140,13 +248,14 @@ public class VpcApiUnitTest extends TestCase{
msg = ex.getMessage();
} finally {
if (!result) {
- s_logger.debug("Test passed: " + msg);
+ s_logger.debug("Validate network offering: Test passed: " + msg);
} else {
- s_logger.warn("TEST FAILED, can't use network offering with guest type = Shared");
+ s_logger.error("Validate network offering: TEST FAILED, can't use network offering with guest type = Shared");
}
}
- //5) Invalid offering - no redundant router supportresult = false;
+ //5) Invalid offering - no redundant router support
+ result = false;
try {
_vpcService.validateNtkwOffForVpc(5, "0.0.0.0", "111-", new AccountVO(), _vpcService.getVpc(1), 2L, "10.1.1.1");
result = true;
@@ -154,15 +263,27 @@ public class VpcApiUnitTest extends TestCase{
msg = ex.getMessage();
} finally {
if (!result) {
- s_logger.debug("Test passed: " + msg);
+ s_logger.debug("Validate network offering: Test passed: " + msg);
} else {
- s_logger.warn("TEST FAILED, can't use network offering with guest type = Shared");
+ s_logger.error("TEST FAILED, can't use network offering with guest type = Shared");
}
}
- //6) Only one network in the VPC can support LB service - positive scenario
-
- //7) Only one netowrk in the VPC can support LB service - negative scenario
+ //6) Only one network in the VPC can support LB service - negative scenario
+ result = false;
+ try {
+ _vpcService.validateNtkwOffForVpc(6, "0.0.0.0", "111-", new AccountVO(), _vpcService.getVpc(1), 2L, "10.1.1.1");
+ result = true;
+ s_logger.debug("Validate network offering: Test passed: the offering is valid for vpc creation");
+ } catch (InvalidParameterValueException ex) {
+ msg = ex.getMessage();
+ } finally {
+ if (!result) {
+ s_logger.debug("Test passed: " + msg);
+ } else {
+ s_logger.error("Validate network offering: TEST FAILED, can't use network offering with guest type = Shared");
+ }
+ }
}
}
http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/bda1e2d0/server/test/com/cloud/vpc/dao/MockConfigurationDaoImpl.java
----------------------------------------------------------------------
diff --git a/server/test/com/cloud/vpc/dao/MockConfigurationDaoImpl.java b/server/test/com/cloud/vpc/dao/MockConfigurationDaoImpl.java
new file mode 100644
index 0000000..0cac4b9
--- /dev/null
+++ b/server/test/com/cloud/vpc/dao/MockConfigurationDaoImpl.java
@@ -0,0 +1,106 @@
+// Copyright 2012 Citrix Systems, Inc. Licensed under the
+// Apache License, Version 2.0 (the "License"); you may not use this
+// file except in compliance with the License. Citrix Systems, Inc.
+// reserves all rights not expressly granted by 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.
+//
+// Automatically generated by addcopyright.py at 04/03/2012
+package com.cloud.vpc.dao;
+
+import java.util.HashMap;
+import java.util.Map;
+
+import javax.ejb.Local;
+
+import com.cloud.configuration.ConfigurationVO;
+import com.cloud.configuration.dao.ConfigurationDao;
+import com.cloud.utils.db.GenericDaoBase;
+
+@Local(value={ConfigurationDao.class})
+public class MockConfigurationDaoImpl extends GenericDaoBase<ConfigurationVO, String> implements ConfigurationDao{
+
+ /* (non-Javadoc)
+ * @see com.cloud.configuration.dao.ConfigurationDao#getConfiguration(java.lang.String, java.util.Map)
+ */
+ @Override
+ public Map<String, String> getConfiguration(String instance, Map<String, ? extends Object> params) {
+ return new HashMap<String, String>();
+ }
+
+ /* (non-Javadoc)
+ * @see com.cloud.configuration.dao.ConfigurationDao#getConfiguration(java.util.Map)
+ */
+ @Override
+ public Map<String, String> getConfiguration(Map<String, ? extends Object> params) {
+ return new HashMap<String, String>();
+ }
+
+ /* (non-Javadoc)
+ * @see com.cloud.configuration.dao.ConfigurationDao#getConfiguration()
+ */
+ @Override
+ public Map<String, String> getConfiguration() {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ /* (non-Javadoc)
+ * @see com.cloud.configuration.dao.ConfigurationDao#update(java.lang.String, java.lang.String)
+ */
+ @Override
+ public boolean update(String name, String value) {
+ // TODO Auto-generated method stub
+ return false;
+ }
+
+ /* (non-Javadoc)
+ * @see com.cloud.configuration.dao.ConfigurationDao#getValue(java.lang.String)
+ */
+ @Override
+ public String getValue(String name) {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ /* (non-Javadoc)
+ * @see com.cloud.configuration.dao.ConfigurationDao#getValueAndInitIfNotExist(java.lang.String, java.lang.String, java.lang.String)
+ */
+ @Override
+ public String getValueAndInitIfNotExist(String name, String category, String initValue) {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ /* (non-Javadoc)
+ * @see com.cloud.configuration.dao.ConfigurationDao#isPremium()
+ */
+ @Override
+ public boolean isPremium() {
+ // TODO Auto-generated method stub
+ return false;
+ }
+
+ /* (non-Javadoc)
+ * @see com.cloud.configuration.dao.ConfigurationDao#findByName(java.lang.String)
+ */
+ @Override
+ public ConfigurationVO findByName(String name) {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ /* (non-Javadoc)
+ * @see com.cloud.configuration.dao.ConfigurationDao#update(java.lang.String, java.lang.String, java.lang.String)
+ */
+ @Override
+ public boolean update(String name, String category, String value) {
+ // TODO Auto-generated method stub
+ return false;
+ }
+
+}
http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/bda1e2d0/server/test/com/cloud/vpc/dao/MockNetworkDaoImpl.java
----------------------------------------------------------------------
diff --git a/server/test/com/cloud/vpc/dao/MockNetworkDaoImpl.java b/server/test/com/cloud/vpc/dao/MockNetworkDaoImpl.java
index 0038403..970a5d9 100644
--- a/server/test/com/cloud/vpc/dao/MockNetworkDaoImpl.java
+++ b/server/test/com/cloud/vpc/dao/MockNetworkDaoImpl.java
@@ -12,6 +12,7 @@
// Automatically generated by addcopyright.py at 04/03/2012
package com.cloud.vpc.dao;
+import java.util.ArrayList;
import java.util.List;
import java.util.Map;
@@ -314,8 +315,9 @@ public class MockNetworkDaoImpl extends GenericDaoBase<NetworkVO, Long> implemen
*/
@Override
public List<NetworkVO> listByVpc(long vpcId) {
- // TODO Auto-generated method stub
- return null;
+ List<NetworkVO> networks = new ArrayList<NetworkVO>();
+ networks.add(new NetworkVO());
+ return networks;
}
/* (non-Javadoc)
http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/bda1e2d0/server/test/com/cloud/vpc/dao/MockNetworkOfferingDaoImpl.java
----------------------------------------------------------------------
diff --git a/server/test/com/cloud/vpc/dao/MockNetworkOfferingDaoImpl.java b/server/test/com/cloud/vpc/dao/MockNetworkOfferingDaoImpl.java
index 833bbd9..dfeadf6 100644
--- a/server/test/com/cloud/vpc/dao/MockNetworkOfferingDaoImpl.java
+++ b/server/test/com/cloud/vpc/dao/MockNetworkOfferingDaoImpl.java
@@ -35,7 +35,6 @@ import com.cloud.utils.db.GenericDaoBase;
public class MockNetworkOfferingDaoImpl extends GenericDaoBase<NetworkOfferingVO, Long> implements NetworkOfferingDao {
private static final Logger s_logger = Logger.getLogger(MockNetworkOfferingDaoImpl.class);
-
/* (non-Javadoc)
* @see com.cloud.offerings.dao.NetworkOfferingDao#findByUniqueName(java.lang.String)
*/
@@ -111,10 +110,14 @@ public class MockNetworkOfferingDaoImpl extends GenericDaoBase<NetworkOfferingVO
vo = new NetworkOfferingVO("non vpc", "non vpc", TrafficType.Guest, false, true, null, null, false,
Availability.Optional, null, Network.GuestType.Shared, false, false);
} else if (id.longValue() == 5) {
- //network offering invalid for vpc (Shared)
+ //network offering invalid for vpc (has redundant router)
vo = new NetworkOfferingVO("vpc", "vpc", TrafficType.Guest, false, true, null, null, false,
Availability.Optional, null, Network.GuestType.Isolated, false, false);
vo.setRedundantRouter(true);
+ } else if (id.longValue() == 6) {
+ //network offering invalid for vpc (has lb service)
+ vo = new NetworkOfferingVO("vpc", "vpc", TrafficType.Guest, false, true, null, null, false,
+ Availability.Optional, null, Network.GuestType.Isolated, false, false);
}
if (vo != null) {
http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/bda1e2d0/server/test/com/cloud/vpc/dao/MockNetworkOfferingServiceMapDaoImpl.java
----------------------------------------------------------------------
diff --git a/server/test/com/cloud/vpc/dao/MockNetworkOfferingServiceMapDaoImpl.java b/server/test/com/cloud/vpc/dao/MockNetworkOfferingServiceMapDaoImpl.java
index ac91359..2e388c2 100644
--- a/server/test/com/cloud/vpc/dao/MockNetworkOfferingServiceMapDaoImpl.java
+++ b/server/test/com/cloud/vpc/dao/MockNetworkOfferingServiceMapDaoImpl.java
@@ -27,7 +27,7 @@ public class MockNetworkOfferingServiceMapDaoImpl extends NetworkOfferingService
public boolean areServicesSupportedByNetworkOffering(long networkOfferingId, Service... services) {
if (services.length > 0 && services[0] == Service.SourceNat && networkOfferingId != 2) {
return true;
- } else if (services.length > 0 && services[0] == Service.Lb && networkOfferingId != 2) {
+ } else if (services.length > 0 && services[0] == Service.Lb && networkOfferingId == 6) {
return true;
}
return false;
http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/bda1e2d0/server/test/com/cloud/vpc/dao/MockNetworkServiceMapDaoImpl.java
----------------------------------------------------------------------
diff --git a/server/test/com/cloud/vpc/dao/MockNetworkServiceMapDaoImpl.java b/server/test/com/cloud/vpc/dao/MockNetworkServiceMapDaoImpl.java
index c4ac17d..e66aa5b 100644
--- a/server/test/com/cloud/vpc/dao/MockNetworkServiceMapDaoImpl.java
+++ b/server/test/com/cloud/vpc/dao/MockNetworkServiceMapDaoImpl.java
@@ -32,7 +32,9 @@ public class MockNetworkServiceMapDaoImpl extends GenericDaoBase<NetworkServiceM
*/
@Override
public boolean areServicesSupportedInNetwork(long networkId, Service... services) {
- // TODO Auto-generated method stub
+ if (services.length > 0 && services[0] == Service.Lb) {
+ return true;
+ }
return false;
}
http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/bda1e2d0/server/test/com/cloud/vpc/dao/MockVpcDaoImpl.java
----------------------------------------------------------------------
diff --git a/server/test/com/cloud/vpc/dao/MockVpcDaoImpl.java b/server/test/com/cloud/vpc/dao/MockVpcDaoImpl.java
index c8df522..7579ff7 100644
--- a/server/test/com/cloud/vpc/dao/MockVpcDaoImpl.java
+++ b/server/test/com/cloud/vpc/dao/MockVpcDaoImpl.java
@@ -12,11 +12,15 @@
// Automatically generated by addcopyright.py at 04/03/2012
package com.cloud.vpc.dao;
+import java.lang.reflect.Field;
import java.util.List;
import javax.ejb.Local;
+import org.apache.log4j.Logger;
+
import com.cloud.network.vpc.Vpc;
+import com.cloud.network.vpc.Vpc.State;
import com.cloud.network.vpc.VpcVO;
import com.cloud.network.vpc.Dao.VpcDao;
import com.cloud.utils.db.DB;
@@ -25,6 +29,8 @@ import com.cloud.utils.db.GenericDaoBase;
@Local(value = VpcDao.class)
@DB(txn = false)
public class MockVpcDaoImpl extends GenericDaoBase<VpcVO, Long> implements VpcDao{
+ private static final Logger s_logger = Logger.getLogger(MockNetworkOfferingDaoImpl.class);
+
/* (non-Javadoc)
* @see com.cloud.network.vpc.Dao.VpcDao#getVpcCountByOfferingId(long)
@@ -39,7 +45,11 @@ public class MockVpcDaoImpl extends GenericDaoBase<VpcVO, Long> implements VpcDa
*/
@Override
public Vpc getActiveVpcById(long vpcId) {
- // TODO Auto-generated method stub
+ Vpc vpc = findById(vpcId);
+ if (vpc != null && vpc.getState() == Vpc.State.Enabled) {
+ return vpc;
+ }
+
return null;
}
@@ -77,9 +87,40 @@ public class MockVpcDaoImpl extends GenericDaoBase<VpcVO, Long> implements VpcDa
vo = new VpcVO(1, "new vpc", "new vpc", 1,1 , 1, "0.0.0.0/0", "vpc domain");
} else if (id.longValue() == 2) {
vo = new VpcVO(1, "new vpc", "new vpc", 1,1 , 1, "0.0.0.0/0", "vpc domain");
+ vo.setState(State.Inactive);
}
+ vo = setId(vo, id);
+
return vo;
}
+
+ private VpcVO setId(VpcVO vo, long id) {
+ VpcVO voToReturn = vo;
+ Class<?> c = voToReturn.getClass();
+ try {
+ Field f = c.getDeclaredField("id");
+ f.setAccessible(true);
+ f.setLong(voToReturn, id);
+ } catch (NoSuchFieldException ex) {
+ s_logger.warn(ex);
+ return null;
+ } catch (IllegalAccessException ex) {
+ s_logger.warn(ex);
+ return null;
+ }
+
+ return voToReturn;
+ }
+
+ @Override
+ public boolean remove(Long id) {
+ return true;
+ }
+
+ @Override
+ public boolean update(Long id, VpcVO vo) {
+ return true;
+ }
}
http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/bda1e2d0/server/test/com/cloud/vpc/dao/MockVpcOfferingDaoImpl.java
----------------------------------------------------------------------
diff --git a/server/test/com/cloud/vpc/dao/MockVpcOfferingDaoImpl.java b/server/test/com/cloud/vpc/dao/MockVpcOfferingDaoImpl.java
new file mode 100644
index 0000000..52acf82
--- /dev/null
+++ b/server/test/com/cloud/vpc/dao/MockVpcOfferingDaoImpl.java
@@ -0,0 +1,39 @@
+// Copyright 2012 Citrix Systems, Inc. Licensed under the
+// Apache License, Version 2.0 (the "License"); you may not use this
+// file except in compliance with the License. Citrix Systems, Inc.
+// reserves all rights not expressly granted by 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.
+//
+// Automatically generated by addcopyright.py at 04/03/2012
+package com.cloud.vpc.dao;
+
+import javax.ejb.Local;
+
+import com.cloud.network.vpc.VpcOfferingVO;
+import com.cloud.network.vpc.Dao.VpcOfferingDao;
+import com.cloud.utils.db.DB;
+import com.cloud.utils.db.GenericDaoBase;
+
+@Local(value = VpcOfferingDao.class)
+@DB(txn = false)
+public class MockVpcOfferingDaoImpl extends GenericDaoBase<VpcOfferingVO, Long> implements VpcOfferingDao{
+
+ /* (non-Javadoc)
+ * @see com.cloud.network.vpc.Dao.VpcOfferingDao#findByUniqueName(java.lang.String)
+ */
+ @Override
+ public VpcOfferingVO findByUniqueName(String uniqueName) {
+ return new VpcOfferingVO();
+ }
+
+ @Override
+ public VpcOfferingVO persist(VpcOfferingVO vo) {
+ return vo;
+ }
+
+}
http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/bda1e2d0/server/test/com/cloud/vpc/dao/MockVpcOfferingServiceMapDao.java
----------------------------------------------------------------------
diff --git a/server/test/com/cloud/vpc/dao/MockVpcOfferingServiceMapDao.java b/server/test/com/cloud/vpc/dao/MockVpcOfferingServiceMapDao.java
deleted file mode 100644
index a06c4db..0000000
--- a/server/test/com/cloud/vpc/dao/MockVpcOfferingServiceMapDao.java
+++ /dev/null
@@ -1,17 +0,0 @@
-// Copyright 2012 Citrix Systems, Inc. Licensed under the
-// Apache License, Version 2.0 (the "License"); you may not use this
-// file except in compliance with the License. Citrix Systems, Inc.
-// reserves all rights not expressly granted by 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.
-//
-// Automatically generated by addcopyright.py at 04/03/2012
-package com.cloud.vpc.dao;
-
-public class MockVpcOfferingServiceMapDao {
-
-}
http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/bda1e2d0/server/test/com/cloud/vpc/dao/MockVpcOfferingServiceMapDaoImpl.java
----------------------------------------------------------------------
diff --git a/server/test/com/cloud/vpc/dao/MockVpcOfferingServiceMapDaoImpl.java b/server/test/com/cloud/vpc/dao/MockVpcOfferingServiceMapDaoImpl.java
new file mode 100644
index 0000000..3677a16
--- /dev/null
+++ b/server/test/com/cloud/vpc/dao/MockVpcOfferingServiceMapDaoImpl.java
@@ -0,0 +1,69 @@
+// Copyright 2012 Citrix Systems, Inc. Licensed under the
+// Apache License, Version 2.0 (the "License"); you may not use this
+// file except in compliance with the License. Citrix Systems, Inc.
+// reserves all rights not expressly granted by 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.
+//
+// Automatically generated by addcopyright.py at 04/03/2012
+package com.cloud.vpc.dao;
+
+import java.util.List;
+
+import javax.ejb.Local;
+
+import com.cloud.network.Network.Service;
+import com.cloud.network.vpc.VpcOfferingServiceMapVO;
+import com.cloud.network.vpc.Dao.VpcOfferingServiceMapDao;
+import com.cloud.utils.db.DB;
+import com.cloud.utils.db.GenericDaoBase;
+
+@Local(value = VpcOfferingServiceMapDao.class)
+@DB(txn = false)
+public class MockVpcOfferingServiceMapDaoImpl extends GenericDaoBase<VpcOfferingServiceMapVO, Long> implements VpcOfferingServiceMapDao{
+
+ /* (non-Javadoc)
+ * @see com.cloud.network.vpc.Dao.VpcOfferingServiceMapDao#listByVpcOffId(long)
+ */
+ @Override
+ public List<VpcOfferingServiceMapVO> listByVpcOffId(long vpcOffId) {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ /* (non-Javadoc)
+ * @see com.cloud.network.vpc.Dao.VpcOfferingServiceMapDao#areServicesSupportedByNetworkOffering(long, com.cloud.network.Network.Service[])
+ */
+ @Override
+ public boolean areServicesSupportedByNetworkOffering(long networkOfferingId, Service[] services) {
+ // TODO Auto-generated method stub
+ return false;
+ }
+
+ /* (non-Javadoc)
+ * @see com.cloud.network.vpc.Dao.VpcOfferingServiceMapDao#listServicesForVpcOffering(long)
+ */
+ @Override
+ public List<String> listServicesForVpcOffering(long vpcOfferingId) {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ /* (non-Javadoc)
+ * @see com.cloud.network.vpc.Dao.VpcOfferingServiceMapDao#findByServiceProviderAndOfferingId(java.lang.String, java.lang.String, long)
+ */
+ @Override
+ public VpcOfferingServiceMapVO findByServiceProviderAndOfferingId(String service, String provider, long vpcOfferingId) {
+ return new VpcOfferingServiceMapVO();
+ }
+
+ @Override
+ public VpcOfferingServiceMapVO persist (VpcOfferingServiceMapVO vo) {
+ return vo;
+ }
+
+}
http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/bda1e2d0/server/test/com/cloud/vpc/dao/MockVpcVirtualRouterElement.java
----------------------------------------------------------------------
diff --git a/server/test/com/cloud/vpc/dao/MockVpcVirtualRouterElement.java b/server/test/com/cloud/vpc/dao/MockVpcVirtualRouterElement.java
new file mode 100644
index 0000000..91cfb99
--- /dev/null
+++ b/server/test/com/cloud/vpc/dao/MockVpcVirtualRouterElement.java
@@ -0,0 +1,26 @@
+// Copyright 2012 Citrix Systems, Inc. Licensed under the
+// Apache License, Version 2.0 (the "License"); you may not use this
+// file except in compliance with the License. Citrix Systems, Inc.
+// reserves all rights not expressly granted by 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.
+//
+// Automatically generated by addcopyright.py at 04/03/2012
+package com.cloud.vpc.dao;
+
+import com.cloud.exception.ConcurrentOperationException;
+import com.cloud.exception.ResourceUnavailableException;
+import com.cloud.network.element.VpcVirtualRouterElement;
+import com.cloud.network.vpc.Vpc;
+
+public class MockVpcVirtualRouterElement extends VpcVirtualRouterElement{
+ @Override
+ public boolean shutdownVpc(Vpc vpc) throws ConcurrentOperationException, ResourceUnavailableException {
+ return true;
+ }
+
+}