http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/f0f33bf4/server/test/com/cloud/network/security/MockSecurityGroupManagerImpl.java
----------------------------------------------------------------------
diff --git 
a/server/test/com/cloud/network/security/MockSecurityGroupManagerImpl.java 
b/server/test/com/cloud/network/security/MockSecurityGroupManagerImpl.java
new file mode 100755
index 0000000..9c71c62
--- /dev/null
+++ b/server/test/com/cloud/network/security/MockSecurityGroupManagerImpl.java
@@ -0,0 +1,198 @@
+// 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.security;
+
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+import javax.ejb.Local;
+import javax.naming.ConfigurationException;
+
+import com.cloud.api.commands.AuthorizeSecurityGroupEgressCmd;
+import com.cloud.api.commands.AuthorizeSecurityGroupIngressCmd;
+import com.cloud.api.commands.CreateSecurityGroupCmd;
+import com.cloud.api.commands.DeleteSecurityGroupCmd;
+import com.cloud.api.commands.ListSecurityGroupsCmd;
+import com.cloud.api.commands.RevokeSecurityGroupEgressCmd;
+import com.cloud.api.commands.RevokeSecurityGroupIngressCmd;
+import com.cloud.exception.InvalidParameterValueException;
+import com.cloud.exception.PermissionDeniedException;
+import com.cloud.exception.ResourceInUseException;
+import com.cloud.utils.Pair;
+import com.cloud.utils.component.Manager;
+import com.cloud.utils.fsm.StateListener;
+import com.cloud.vm.VirtualMachine;
+import com.cloud.vm.VirtualMachine.Event;
+import com.cloud.vm.VirtualMachine.State;
+
+@Local(value = { SecurityGroupManager.class, SecurityGroupService.class })
+public class MockSecurityGroupManagerImpl implements SecurityGroupManager, 
SecurityGroupService, Manager, StateListener<State, VirtualMachine.Event, 
VirtualMachine> {
+
+       @Override
+       public boolean preStateTransitionEvent(State oldState, Event event,
+                       State newState, VirtualMachine vo, boolean status, 
Object opaque) {
+               // TODO Auto-generated method stub
+               return false;
+       }
+
+       @Override
+       public boolean postStateTransitionEvent(State oldState, Event event,
+                       State newState, VirtualMachine vo, boolean status, 
Object opaque) {
+               // TODO Auto-generated method stub
+               return false;
+       }
+
+       @Override
+       public boolean configure(String name, Map<String, Object> params)
+                       throws ConfigurationException {
+               return true;
+       }
+
+       @Override
+       public boolean start() {
+               return true;
+       }
+
+       @Override
+       public boolean stop() {
+               // TODO Auto-generated method stub
+               return false;
+       }
+
+       @Override
+       public String getName() {
+               // TODO Auto-generated method stub
+               return null;
+       }
+
+       @Override
+       public SecurityGroup createSecurityGroup(CreateSecurityGroupCmd command)
+                       throws PermissionDeniedException, 
InvalidParameterValueException {
+               // TODO Auto-generated method stub
+               return null;
+       }
+
+       @Override
+       public boolean revokeSecurityGroupIngress(RevokeSecurityGroupIngressCmd 
cmd) {
+               // TODO Auto-generated method stub
+               return false;
+       }
+
+       @Override
+       public boolean revokeSecurityGroupEgress(RevokeSecurityGroupEgressCmd 
cmd) {
+               // TODO Auto-generated method stub
+               return false;
+       }
+
+       @Override
+       public boolean deleteSecurityGroup(DeleteSecurityGroupCmd cmd)
+                       throws ResourceInUseException {
+               // TODO Auto-generated method stub
+               return false;
+       }
+
+       @Override
+       public List<? extends SecurityGroupRules> searchForSecurityGroupRules(
+                       ListSecurityGroupsCmd cmd) throws 
PermissionDeniedException,
+                       InvalidParameterValueException {
+               // TODO Auto-generated method stub
+               return null;
+       }
+
+       @Override
+       public List<? extends SecurityRule> authorizeSecurityGroupIngress(
+                       AuthorizeSecurityGroupIngressCmd cmd) {
+               // TODO Auto-generated method stub
+               return null;
+       }
+
+       @Override
+       public List<? extends SecurityRule> authorizeSecurityGroupEgress(
+                       AuthorizeSecurityGroupEgressCmd cmd) {
+               // TODO Auto-generated method stub
+               return null;
+       }
+
+       @Override
+       public SecurityGroupVO createSecurityGroup(String name, String 
description,
+                       Long domainId, Long accountId, String accountName) {
+               // TODO Auto-generated method stub
+               return null;
+       }
+
+       @Override
+       public SecurityGroupVO createDefaultSecurityGroup(Long accountId) {
+               // TODO Auto-generated method stub
+               return null;
+       }
+
+       @Override
+       public boolean addInstanceToGroups(Long userVmId, List<Long> groups) {
+               // TODO Auto-generated method stub
+               return false;
+       }
+
+       @Override
+       public void removeInstanceFromGroups(long userVmId) {
+               // TODO Auto-generated method stub
+               
+       }
+
+       @Override
+       public void fullSync(long agentId,
+                       HashMap<String, Pair<Long, Long>> newGroupStates) {
+               // TODO Auto-generated method stub
+               
+       }
+
+       @Override
+       public String getSecurityGroupsNamesForVm(long vmId) {
+               // TODO Auto-generated method stub
+               return null;
+       }
+
+       @Override
+       public List<SecurityGroupVO> getSecurityGroupsForVm(long vmId) {
+               // TODO Auto-generated method stub
+               return null;
+       }
+
+       @Override
+       public boolean isVmSecurityGroupEnabled(Long vmId) {
+               // TODO Auto-generated method stub
+               return false;
+       }
+
+       @Override
+       public SecurityGroup getDefaultSecurityGroup(long accountId) {
+               // TODO Auto-generated method stub
+               return null;
+       }
+
+       @Override
+       public SecurityGroup getSecurityGroup(String name, long accountId) {
+               // TODO Auto-generated method stub
+               return null;
+       }
+
+       @Override
+       public boolean isVmMappedToDefaultSecurityGroup(long vmId) {
+               // TODO Auto-generated method stub
+               return false;
+       }
+   }

http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/f0f33bf4/server/test/com/cloud/storage/MockStorageManagerImpl.java
----------------------------------------------------------------------
diff --git a/server/test/com/cloud/storage/MockStorageManagerImpl.java 
b/server/test/com/cloud/storage/MockStorageManagerImpl.java
new file mode 100755
index 0000000..6273489
--- /dev/null
+++ b/server/test/com/cloud/storage/MockStorageManagerImpl.java
@@ -0,0 +1,679 @@
+// 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.storage;
+
+import java.math.BigDecimal;
+import java.net.Inet6Address;
+import java.net.InetAddress;
+import java.net.URI;
+import java.net.URISyntaxException;
+import java.net.UnknownHostException;
+import java.sql.PreparedStatement;
+import java.sql.ResultSet;
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.Collections;
+import java.util.Date;
+import java.util.Enumeration;
+import java.util.HashMap;
+import java.util.HashSet;
+import java.util.Iterator;
+import java.util.List;
+import java.util.Map;
+import java.util.Random;
+import java.util.Set;
+import java.util.UUID;
+import java.util.concurrent.Executors;
+import java.util.concurrent.ScheduledExecutorService;
+import java.util.concurrent.TimeUnit;
+
+import javax.ejb.Local;
+import javax.naming.ConfigurationException;
+
+import org.apache.log4j.Logger;
+
+import com.cloud.agent.AgentManager;
+import com.cloud.agent.api.Answer;
+import com.cloud.agent.api.BackupSnapshotCommand;
+import com.cloud.agent.api.CleanupSnapshotBackupCommand;
+import com.cloud.agent.api.Command;
+import com.cloud.agent.api.CreateStoragePoolCommand;
+import com.cloud.agent.api.CreateVolumeFromSnapshotAnswer;
+import com.cloud.agent.api.CreateVolumeFromSnapshotCommand;
+import com.cloud.agent.api.DeleteStoragePoolCommand;
+import com.cloud.agent.api.ManageSnapshotCommand;
+import com.cloud.agent.api.ModifyStoragePoolAnswer;
+import com.cloud.agent.api.ModifyStoragePoolCommand;
+import com.cloud.agent.api.UpgradeSnapshotCommand;
+import com.cloud.agent.api.storage.CopyVolumeAnswer;
+import com.cloud.agent.api.storage.CopyVolumeCommand;
+import com.cloud.agent.api.storage.CreateAnswer;
+import com.cloud.agent.api.storage.CreateCommand;
+import com.cloud.agent.api.storage.DeleteTemplateCommand;
+import com.cloud.agent.api.storage.DeleteVolumeCommand;
+import com.cloud.agent.api.storage.DestroyCommand;
+import com.cloud.agent.api.to.StorageFilerTO;
+import com.cloud.agent.api.to.VolumeTO;
+import com.cloud.agent.manager.Commands;
+import com.cloud.alert.AlertManager;
+import com.cloud.api.ApiDBUtils;
+import com.cloud.api.commands.CancelPrimaryStorageMaintenanceCmd;
+import com.cloud.api.commands.CreateStoragePoolCmd;
+import com.cloud.api.commands.CreateVolumeCmd;
+import com.cloud.api.commands.DeletePoolCmd;
+import com.cloud.api.commands.ListVolumesCmd;
+import com.cloud.api.commands.UpdateStoragePoolCmd;
+import com.cloud.api.commands.UploadVolumeCmd;
+import com.cloud.async.AsyncJobManager;
+import com.cloud.capacity.Capacity;
+import com.cloud.capacity.CapacityManager;
+import com.cloud.capacity.CapacityState;
+import com.cloud.capacity.CapacityVO;
+import com.cloud.capacity.dao.CapacityDao;
+import com.cloud.cluster.CheckPointManager;
+import com.cloud.cluster.ClusterManagerListener;
+import com.cloud.cluster.ManagementServerHostVO;
+import com.cloud.configuration.Config;
+import com.cloud.configuration.ConfigurationManager;
+import com.cloud.configuration.Resource.ResourceType;
+import com.cloud.configuration.dao.ConfigurationDao;
+import com.cloud.consoleproxy.ConsoleProxyManager;
+import com.cloud.dc.ClusterVO;
+import com.cloud.dc.DataCenterVO;
+import com.cloud.dc.HostPodVO;
+import com.cloud.dc.Pod;
+import com.cloud.dc.dao.ClusterDao;
+import com.cloud.dc.dao.DataCenterDao;
+import com.cloud.dc.dao.HostPodDao;
+import com.cloud.deploy.DeployDestination;
+import com.cloud.domain.Domain;
+import com.cloud.domain.dao.DomainDao;
+import com.cloud.event.ActionEvent;
+import com.cloud.event.EventTypes;
+import com.cloud.event.UsageEventVO;
+import com.cloud.event.dao.EventDao;
+import com.cloud.event.dao.UsageEventDao;
+import com.cloud.exception.AgentUnavailableException;
+import com.cloud.exception.ConcurrentOperationException;
+import com.cloud.exception.DiscoveryException;
+import com.cloud.exception.InsufficientCapacityException;
+import com.cloud.exception.InsufficientStorageCapacityException;
+import com.cloud.exception.InvalidParameterValueException;
+import com.cloud.exception.OperationTimedoutException;
+import com.cloud.exception.PermissionDeniedException;
+import com.cloud.exception.ResourceAllocationException;
+import com.cloud.exception.ResourceInUseException;
+import com.cloud.exception.ResourceUnavailableException;
+import com.cloud.exception.StorageUnavailableException;
+import com.cloud.host.Host;
+import com.cloud.host.HostVO;
+import com.cloud.host.Status;
+import com.cloud.host.dao.HostDao;
+import com.cloud.hypervisor.Hypervisor.HypervisorType;
+import com.cloud.hypervisor.HypervisorGuruManager;
+import com.cloud.network.NetworkManager;
+import com.cloud.offering.ServiceOffering;
+import com.cloud.org.Grouping;
+import com.cloud.org.Grouping.AllocationState;
+import com.cloud.projects.Project.ListProjectResourcesCriteria;
+import com.cloud.resource.ResourceManager;
+import com.cloud.resource.ResourceState;
+import com.cloud.server.ManagementServer;
+import com.cloud.server.ResourceTag.TaggedResourceType;
+import com.cloud.server.StatsCollector;
+import com.cloud.service.ServiceOfferingVO;
+import com.cloud.service.dao.ServiceOfferingDao;
+import com.cloud.storage.Storage.ImageFormat;
+import com.cloud.storage.Storage.StoragePoolType;
+import com.cloud.storage.Volume.Event;
+import com.cloud.storage.Volume.Type;
+import com.cloud.storage.allocator.StoragePoolAllocator;
+import com.cloud.storage.dao.DiskOfferingDao;
+import com.cloud.storage.dao.SnapshotDao;
+import com.cloud.storage.dao.SnapshotPolicyDao;
+import com.cloud.storage.dao.StoragePoolDao;
+import com.cloud.storage.dao.StoragePoolHostDao;
+import com.cloud.storage.dao.StoragePoolWorkDao;
+import com.cloud.storage.dao.VMTemplateDao;
+import com.cloud.storage.dao.VMTemplateHostDao;
+import com.cloud.storage.dao.VMTemplatePoolDao;
+import com.cloud.storage.dao.VMTemplateSwiftDao;
+import com.cloud.storage.dao.VolumeDao;
+import com.cloud.storage.dao.VolumeHostDao;
+import com.cloud.storage.download.DownloadMonitor;
+import com.cloud.storage.listener.StoragePoolMonitor;
+import com.cloud.storage.secondary.SecondaryStorageVmManager;
+import com.cloud.storage.snapshot.SnapshotManager;
+import com.cloud.storage.snapshot.SnapshotScheduler;
+import com.cloud.tags.ResourceTagVO;
+import com.cloud.tags.dao.ResourceTagDao;
+import com.cloud.template.TemplateManager;
+import com.cloud.user.Account;
+import com.cloud.user.AccountManager;
+import com.cloud.user.ResourceLimitService;
+import com.cloud.user.User;
+import com.cloud.user.UserContext;
+import com.cloud.user.dao.AccountDao;
+import com.cloud.user.dao.UserDao;
+import com.cloud.uservm.UserVm;
+import com.cloud.utils.EnumUtils;
+import com.cloud.utils.NumbersUtil;
+import com.cloud.utils.Pair;
+import com.cloud.utils.Ternary;
+import com.cloud.utils.UriUtils;
+import com.cloud.utils.component.Adapters;
+import com.cloud.utils.component.ComponentLocator;
+import com.cloud.utils.component.Inject;
+import com.cloud.utils.component.Manager;
+import com.cloud.utils.concurrency.NamedThreadFactory;
+import com.cloud.utils.db.DB;
+import com.cloud.utils.db.Filter;
+import com.cloud.utils.db.GenericSearchBuilder;
+import com.cloud.utils.db.GlobalLock;
+import com.cloud.utils.db.JoinBuilder;
+import com.cloud.utils.db.JoinBuilder.JoinType;
+import com.cloud.utils.db.SearchBuilder;
+import com.cloud.utils.db.SearchCriteria;
+import com.cloud.utils.db.SearchCriteria.Op;
+import com.cloud.utils.db.Transaction;
+import com.cloud.utils.exception.CloudRuntimeException;
+import com.cloud.utils.exception.ExecutionException;
+import com.cloud.utils.fsm.NoTransitionException;
+import com.cloud.utils.fsm.StateMachine2;
+import com.cloud.vm.ConsoleProxyVO;
+import com.cloud.vm.DiskProfile;
+import com.cloud.vm.DomainRouterVO;
+import com.cloud.vm.SecondaryStorageVmVO;
+import com.cloud.vm.UserVmManager;
+import com.cloud.vm.UserVmVO;
+import com.cloud.vm.VMInstanceVO;
+import com.cloud.vm.VirtualMachine;
+import com.cloud.vm.VirtualMachine.State;
+import com.cloud.vm.VirtualMachineManager;
+import com.cloud.vm.VirtualMachineProfile;
+import com.cloud.vm.VirtualMachineProfileImpl;
+import com.cloud.vm.dao.ConsoleProxyDao;
+import com.cloud.vm.dao.DomainRouterDao;
+import com.cloud.vm.dao.SecondaryStorageVmDao;
+import com.cloud.vm.dao.UserVmDao;
+import com.cloud.vm.dao.VMInstanceDao;
+
+@Local(value = { StorageManager.class, StorageService.class })
+public class MockStorageManagerImpl implements StorageManager, Manager, 
ClusterManagerListener {
+
+       @Override
+       public StoragePool createPool(CreateStoragePoolCmd cmd)
+                       throws ResourceInUseException, IllegalArgumentException,
+                       UnknownHostException, ResourceUnavailableException {
+               // TODO Auto-generated method stub
+               return null;
+       }
+
+       @Override
+       public Volume allocVolume(CreateVolumeCmd cmd)
+                       throws ResourceAllocationException {
+               // TODO Auto-generated method stub
+               return null;
+       }
+
+       @Override
+       public Volume createVolume(CreateVolumeCmd cmd) {
+               // TODO Auto-generated method stub
+               return null;
+       }
+
+       @Override
+       public boolean deleteVolume(long volumeId)
+                       throws ConcurrentOperationException {
+               // TODO Auto-generated method stub
+               return false;
+       }
+
+       @Override
+       public boolean deletePool(DeletePoolCmd cmd) {
+               // TODO Auto-generated method stub
+               return false;
+       }
+
+       @Override
+       public StoragePool preparePrimaryStorageForMaintenance(Long 
primaryStorageId)
+                       throws ResourceUnavailableException, 
InsufficientCapacityException {
+               // TODO Auto-generated method stub
+               return null;
+       }
+
+       @Override
+       public StoragePool cancelPrimaryStorageForMaintenance(
+                       CancelPrimaryStorageMaintenanceCmd cmd)
+                       throws ResourceUnavailableException {
+               // TODO Auto-generated method stub
+               return null;
+       }
+
+       @Override
+       public StoragePool updateStoragePool(UpdateStoragePoolCmd cmd)
+                       throws IllegalArgumentException {
+               // TODO Auto-generated method stub
+               return null;
+       }
+
+       @Override
+       public StoragePool getStoragePool(long id) {
+               // TODO Auto-generated method stub
+               return null;
+       }
+
+       @Override
+       public Volume migrateVolume(Long volumeId, Long storagePoolId)
+                       throws ConcurrentOperationException {
+               // TODO Auto-generated method stub
+               return null;
+       }
+
+       @Override
+       public List<? extends Volume> searchForVolumes(ListVolumesCmd cmd) {
+               // TODO Auto-generated method stub
+               return null;
+       }
+
+       @Override
+       public Volume uploadVolume(UploadVolumeCmd cmd)
+                       throws ResourceAllocationException {
+               // TODO Auto-generated method stub
+               return null;
+       }
+
+       @Override
+       public void onManagementNodeJoined(List<ManagementServerHostVO> 
nodeList,
+                       long selfNodeId) {
+               // TODO Auto-generated method stub
+               
+       }
+
+       @Override
+       public void onManagementNodeLeft(List<ManagementServerHostVO> nodeList,
+                       long selfNodeId) {
+               // TODO Auto-generated method stub
+               
+       }
+
+       @Override
+       public void onManagementNodeIsolated() {
+               // TODO Auto-generated method stub
+               
+       }
+
+       @Override
+       public boolean configure(String name, Map<String, Object> params)
+                       throws ConfigurationException {
+               return true;
+       }
+
+       @Override
+       public boolean start() {
+               return true;
+       }
+
+       @Override
+       public boolean stop() {
+               // TODO Auto-generated method stub
+               return false;
+       }
+
+       @Override
+       public String getName() {
+               // TODO Auto-generated method stub
+               return null;
+       }
+
+       @Override
+       public boolean canVmRestartOnAnotherServer(long vmId) {
+               // TODO Auto-generated method stub
+               return false;
+       }
+
+       @Override
+       public Pair<String, String> getAbsoluteIsoPath(long templateId,
+                       long dataCenterId) {
+               // TODO Auto-generated method stub
+               return null;
+       }
+
+       @Override
+       public String getSecondaryStorageURL(long zoneId) {
+               // TODO Auto-generated method stub
+               return null;
+       }
+
+       @Override
+       public String getStoragePoolTags(long poolId) {
+               // TODO Auto-generated method stub
+               return null;
+       }
+
+       @Override
+       public HostVO getSecondaryStorageHost(long zoneId) {
+               // TODO Auto-generated method stub
+               return null;
+       }
+
+       @Override
+       public VMTemplateHostVO findVmTemplateHost(long templateId, StoragePool 
pool) {
+               // TODO Auto-generated method stub
+               return null;
+       }
+
+       @Override
+       public VolumeVO moveVolume(VolumeVO volume, long destPoolDcId,
+                       Long destPoolPodId, Long destPoolClusterId,
+                       HypervisorType dataDiskHyperType)
+                       throws ConcurrentOperationException {
+               // TODO Auto-generated method stub
+               return null;
+       }
+
+       @Override
+       public VolumeVO createVolume(VolumeVO volume, VMInstanceVO vm,
+                       VMTemplateVO template, DataCenterVO dc, HostPodVO pod,
+                       Long clusterId, ServiceOfferingVO offering,
+                       DiskOfferingVO diskOffering, List<StoragePoolVO> 
avoids, long size,
+                       HypervisorType hyperType) {
+               // TODO Auto-generated method stub
+               return null;
+       }
+
+       @Override
+       public boolean destroyVolume(VolumeVO volume)
+                       throws ConcurrentOperationException {
+               // TODO Auto-generated method stub
+               return false;
+       }
+
+       @Override
+       public void createCapacityEntry(StoragePoolVO storagePool) {
+               // TODO Auto-generated method stub
+               
+       }
+
+       @Override
+       public boolean volumeOnSharedStoragePool(VolumeVO volume) {
+               // TODO Auto-generated method stub
+               return false;
+       }
+
+       @Override
+       public Answer sendToPool(long poolId, Command cmd)
+                       throws StorageUnavailableException {
+               // TODO Auto-generated method stub
+               return null;
+       }
+
+       @Override
+       public Answer sendToPool(StoragePool pool, Command cmd)
+                       throws StorageUnavailableException {
+               // TODO Auto-generated method stub
+               return null;
+       }
+
+       @Override
+       public Answer[] sendToPool(long poolId, Commands cmd)
+                       throws StorageUnavailableException {
+               // TODO Auto-generated method stub
+               return null;
+       }
+
+       @Override
+       public Answer[] sendToPool(StoragePool pool, Commands cmds)
+                       throws StorageUnavailableException {
+               // TODO Auto-generated method stub
+               return null;
+       }
+
+       @Override
+       public Pair<Long, Answer[]> sendToPool(StoragePool pool,
+                       long[] hostIdsToTryFirst, List<Long> hostIdsToAvoid, 
Commands cmds)
+                       throws StorageUnavailableException {
+               // TODO Auto-generated method stub
+               return null;
+       }
+
+       @Override
+       public Pair<Long, Answer> sendToPool(StoragePool pool,
+                       long[] hostIdsToTryFirst, List<Long> hostIdsToAvoid, 
Command cmd)
+                       throws StorageUnavailableException {
+               // TODO Auto-generated method stub
+               return null;
+       }
+
+       @Override
+       public boolean volumeInactive(VolumeVO volume) {
+               // TODO Auto-generated method stub
+               return false;
+       }
+
+       @Override
+       public String getVmNameOnVolume(VolumeVO volume) {
+               // TODO Auto-generated method stub
+               return null;
+       }
+
+       @Override
+       public boolean isLocalStorageActiveOnHost(Host host) {
+               // TODO Auto-generated method stub
+               return false;
+       }
+
+       @Override
+       public void cleanupStorage(boolean recurring) {
+               // TODO Auto-generated method stub
+               
+       }
+
+       @Override
+       public String getPrimaryStorageNameLabel(VolumeVO volume) {
+               // TODO Auto-generated method stub
+               return null;
+       }
+
+       @Override
+       public <T extends VMInstanceVO> DiskProfile allocateRawVolume(Type type,
+                       String name, DiskOfferingVO offering, Long size, T vm, 
Account owner) {
+               // TODO Auto-generated method stub
+               return null;
+       }
+
+       @Override
+       public <T extends VMInstanceVO> DiskProfile allocateTemplatedVolume(
+                       Type type, String name, DiskOfferingVO offering,
+                       VMTemplateVO template, T vm, Account owner) {
+               // TODO Auto-generated method stub
+               return null;
+       }
+
+       @Override
+       public void createCapacityEntry(StoragePoolVO storagePool,
+                       short capacityType, long allocated) {
+               // TODO Auto-generated method stub
+               
+       }
+
+       @Override
+       public void prepare(VirtualMachineProfile<? extends VirtualMachine> vm,
+                       DeployDestination dest) throws 
StorageUnavailableException,
+                       InsufficientStorageCapacityException, 
ConcurrentOperationException {
+               // TODO Auto-generated method stub
+               
+       }
+
+       @Override
+       public void release(VirtualMachineProfile<? extends VMInstanceVO> 
profile) {
+               // TODO Auto-generated method stub
+               
+       }
+
+       @Override
+       public void cleanupVolumes(long vmId) throws 
ConcurrentOperationException {
+               // TODO Auto-generated method stub
+               
+       }
+
+       @Override
+       public void prepareForMigration(
+                       VirtualMachineProfile<? extends VirtualMachine> vm,
+                       DeployDestination dest) {
+               // TODO Auto-generated method stub
+               
+       }
+
+       @Override
+       public Answer sendToPool(StoragePool pool, long[] hostIdsToTryFirst,
+                       Command cmd) throws StorageUnavailableException {
+               // TODO Auto-generated method stub
+               return null;
+       }
+
+       @Override
+       public CapacityVO getSecondaryStorageUsedStats(Long hostId, Long 
zoneId) {
+               // TODO Auto-generated method stub
+               return null;
+       }
+
+       @Override
+       public CapacityVO getStoragePoolUsedStats(Long poolId, Long clusterId,
+                       Long podId, Long zoneId) {
+               // TODO Auto-generated method stub
+               return null;
+       }
+
+       @Override
+       public boolean createStoragePool(long hostId, StoragePoolVO pool) {
+               // TODO Auto-generated method stub
+               return false;
+       }
+
+       @Override
+       public boolean delPoolFromHost(long hostId) {
+               // TODO Auto-generated method stub
+               return false;
+       }
+
+       @Override
+       public HostVO getSecondaryStorageHost(long zoneId, long tmpltId) {
+               // TODO Auto-generated method stub
+               return null;
+       }
+
+       @Override
+       public List<HostVO> getSecondaryStorageHosts(long zoneId) {
+               // TODO Auto-generated method stub
+               return null;
+       }
+
+       @Override
+       public List<StoragePoolVO> ListByDataCenterHypervisor(long datacenterId,
+                       HypervisorType type) {
+               // TODO Auto-generated method stub
+               return null;
+       }
+
+       @Override
+       public List<VMInstanceVO> listByStoragePool(long storagePoolId) {
+               // TODO Auto-generated method stub
+               return null;
+       }
+
+       @Override
+       public StoragePoolVO findLocalStorageOnHost(long hostId) {
+               // TODO Auto-generated method stub
+               return null;
+       }
+
+       @Override
+       public VMTemplateHostVO getTemplateHostRef(long zoneId, long tmpltId,
+                       boolean readyOnly) {
+               // TODO Auto-generated method stub
+               return null;
+       }
+
+       @Override
+       public boolean StorageMigration(
+                       VirtualMachineProfile<? extends VirtualMachine> vm,
+                       StoragePool destPool) throws 
ConcurrentOperationException {
+               // TODO Auto-generated method stub
+               return false;
+       }
+
+       @Override
+       public boolean stateTransitTo(Volume vol, Event event)
+                       throws NoTransitionException {
+               // TODO Auto-generated method stub
+               return false;
+       }
+
+       @Override
+       public VolumeVO allocateDuplicateVolume(VolumeVO oldVol, Long 
templateId) {
+               // TODO Auto-generated method stub
+               return null;
+       }
+
+       @Override
+       public Host updateSecondaryStorage(long secStorageId, String newUrl) {
+               // TODO Auto-generated method stub
+               return null;
+       }
+
+       @Override
+       public List<Long> getUpHostsInPool(long poolId) {
+               // TODO Auto-generated method stub
+               return null;
+       }
+
+       @Override
+       public void cleanupSecondaryStorage(boolean recurring) {
+               // TODO Auto-generated method stub
+               
+       }
+
+       @Override
+       public VolumeVO copyVolumeFromSecToPrimary(VolumeVO volume,
+                       VMInstanceVO vm, VMTemplateVO template, DataCenterVO dc,
+                       HostPodVO pod, Long clusterId, ServiceOfferingVO 
offering,
+                       DiskOfferingVO diskOffering, List<StoragePoolVO> 
avoids, long size,
+                       HypervisorType hyperType) throws NoTransitionException {
+               // TODO Auto-generated method stub
+               return null;
+       }
+
+       @Override
+       public String getSupportedImageFormatForCluster(Long clusterId) {
+               // TODO Auto-generated method stub
+               return null;
+       }
+
+       @Override
+       public HypervisorType getHypervisorTypeFromFormat(ImageFormat format) {
+               // TODO Auto-generated method stub
+               return null;
+       }
+
+       @Override
+       public boolean storagePoolHasEnoughSpace(List<Volume> volume,
+                       StoragePool pool) {
+               // TODO Auto-generated method stub
+               return false;
+       }
+}

http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/f0f33bf4/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 0d15cd7..c4c2e6b 100644
--- a/server/test/com/cloud/user/MockAccountManagerImpl.java
+++ b/server/test/com/cloud/user/MockAccountManagerImpl.java
@@ -207,12 +207,6 @@ public class MockAccountManagerImpl implements Manager, 
AccountManager, AccountS
     }
 
     @Override
-    public UserVO createUser(String userName, String password, String 
firstName, String lastName, String email, String timeZone, String accountName, 
Long domainId) {
-        // TODO Auto-generated method stub
-        return null;
-    }
-
-    @Override
     public Long checkAccessAndSpecifyAuthority(Account caller, Long zoneId) {
         // TODO Auto-generated method stub
         return null;
@@ -280,23 +274,6 @@ public class MockAccountManagerImpl implements Manager, 
AccountManager, AccountS
         return true;
     }
 
-
-       @Override
-       public UserAccount createUserAccount(String userName, String password,
-                       String firstName, String lastName, String email, String 
timezone,
-                       String accountName, short accountType, Long domainId,
-                       String networkDomain, Map<String, String> details) {
-               // TODO Auto-generated method stub
-               return null;
-       }
-
-       @Override
-       public Account createAccount(String accountName, short accountType,
-                       Long domainId, String networkDomain, Map details) {
-               // TODO Auto-generated method stub
-               return null;
-       }
-
     @Override
     public List<? extends Account> searchForAccounts(ListAccountsCmd cmd) {
         // TODO Auto-generated method stub
@@ -343,4 +320,42 @@ public class MockAccountManagerImpl implements Manager, 
AccountManager, AccountS
         return null;
     }
 
+       @Override
+       public UserAccount createUserAccount(String userName, String password,
+                       String firstName, String lastName, String email, String 
timezone,
+                       String accountName, short accountType, Long domainId,
+                       String networkDomain, Map<String, String> details,
+                       String accountUUID, String userUUID, Integer regionId) {
+               // TODO Auto-generated method stub
+               return null;
+       }
+
+       @Override
+       public User createUser(String userName, String password, String 
firstName,
+                       String lastName, String email, String timeZone, String 
accountName,
+                       Long domainId, String userUUID, Integer regionId) {
+               // TODO Auto-generated method stub
+               return null;
+       }
+
+       @Override
+       public User findUser(String username, Long domainId) {
+               // TODO Auto-generated method stub
+               return null;
+       }
+
+       @Override
+       public Account findAccount(Long id) {
+               // TODO Auto-generated method stub
+               return null;
+       }
+
+       @Override
+       public Account createAccount(String accountName, short accountType,
+                       Long domainId, String networkDomain, Map details, 
String uuid,
+                       int regionId) {
+               // TODO Auto-generated method stub
+               return null;
+       }
+
 }

http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/f0f33bf4/server/test/com/cloud/user/MockDomainManagerImpl.java
----------------------------------------------------------------------
diff --git a/server/test/com/cloud/user/MockDomainManagerImpl.java 
b/server/test/com/cloud/user/MockDomainManagerImpl.java
index e99e4d9..2927526 100644
--- a/server/test/com/cloud/user/MockDomainManagerImpl.java
+++ b/server/test/com/cloud/user/MockDomainManagerImpl.java
@@ -25,6 +25,7 @@ import javax.naming.ConfigurationException;
 
 import com.cloud.api.commands.ListDomainChildrenCmd;
 import com.cloud.api.commands.ListDomainsCmd;
+import com.cloud.api.commands.UpdateDomainCmd;
 import com.cloud.domain.Domain;
 import com.cloud.domain.DomainVO;
 import com.cloud.exception.PermissionDeniedException;
@@ -34,12 +35,6 @@ import com.cloud.utils.component.Manager;
 public class MockDomainManagerImpl implements  Manager, DomainManager {
 
     @Override
-    public Domain createDomain(String name, Long parentId, String 
networkDomain) {
-        // TODO Auto-generated method stub
-        return null;
-    }
-
-    @Override
     public Domain getDomain(long id) {
         // TODO Auto-generated method stub
         return null;
@@ -78,13 +73,6 @@ public class MockDomainManagerImpl implements  Manager, 
DomainManager {
     }
 
     @Override
-    public Domain createDomain(String name, Long parentId, Long ownerId,
-            String networkDomain) {
-        // TODO Auto-generated method stub
-        return null;
-    }
-
-    @Override
     public DomainVO findDomainByPath(String domainPath) {
         // TODO Auto-generated method stub
         return null;
@@ -138,4 +126,24 @@ public class MockDomainManagerImpl implements  Manager, 
DomainManager {
         return null;
     }
 
+       @Override
+       public Domain createDomain(String name, Long parentId,
+                       String networkDomain, String domainUUID, Integer 
regionId) {
+               // TODO Auto-generated method stub
+               return null;
+       }
+
+       @Override
+       public Domain updateDomain(UpdateDomainCmd cmd) {
+               // TODO Auto-generated method stub
+               return null;
+       }
+
+       @Override
+       public Domain createDomain(String name, Long parentId, Long ownerId,
+                       String networkDomain, String domainUUID, Integer 
regionId) {
+               // TODO Auto-generated method stub
+               return null;
+       }
+
 }

http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/f0f33bf4/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 efc6916..1baf34a 100644
--- a/server/test/com/cloud/vm/MockUserVmManagerImpl.java
+++ b/server/test/com/cloud/vm/MockUserVmManagerImpl.java
@@ -16,6 +16,7 @@
 // under the License.
 package com.cloud.vm;
 
+import java.util.ArrayList;
 import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
@@ -194,7 +195,7 @@ public class MockUserVmManagerImpl implements 
UserVmManager, UserVmService, Mana
     @Override
     public List<UserVmVO> searchForUserVMs(Criteria c, Account caller, Long 
domainId, boolean isRecursive, List<Long> permittedAccounts, boolean listAll, 
ListProjectResourcesCriteria listProjectResourcesCriteria, Map<String, String> 
tags) {
         // TODO Auto-generated method stub
-        return null;
+        return new ArrayList<UserVmVO>();
     }
 
     @Override

http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/f0f33bf4/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 2a25886..6fa3123 100644
--- a/server/test/com/cloud/vpc/MockConfigurationManagerImpl.java
+++ b/server/test/com/cloud/vpc/MockConfigurationManagerImpl.java
@@ -321,8 +321,7 @@ public class MockConfigurationManagerImpl implements 
ConfigurationManager, Confi
      */
     @Override
     public Long getDefaultPageSize() {
-        // TODO Auto-generated method stub
-        return null;
+        return 500L;
     }
 
     /* (non-Javadoc)

http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/f0f33bf4/setup/db/create-schema.sql
----------------------------------------------------------------------
diff --git a/setup/db/create-schema.sql b/setup/db/create-schema.sql
index bdaecb0..695dc44 100755
--- a/setup/db/create-schema.sql
+++ b/setup/db/create-schema.sql
@@ -891,7 +891,7 @@ CREATE TABLE  `cloud`.`user` (
   `timezone` varchar(30) default NULL,
   `registration_token` varchar(255) default NULL,
   `is_registered` tinyint NOT NULL DEFAULT 0 COMMENT '1: yes, 0: no',
-  `region_id` bigint unsigned,
+  `region_id` int unsigned,
   `incorrect_login_attempts` integer unsigned NOT NULL DEFAULT 0,
   PRIMARY KEY  (`id`),
   INDEX `i_user__removed`(`removed`),
@@ -1241,7 +1241,7 @@ CREATE TABLE  `cloud`.`domain` (
   `state` char(32) NOT NULL default 'Active' COMMENT 'state of the domain',
   `network_domain` varchar(255),
   `type` varchar(255) NOT NULL DEFAULT 'Normal' COMMENT 'type of the domain - 
can be Normal or Project',
-  `region_id` bigint unsigned,  
+  `region_id` int unsigned,  
   PRIMARY KEY  (`id`),
   UNIQUE (parent, name, removed),
   INDEX `i_domain__path`(`path`),
@@ -1260,7 +1260,7 @@ CREATE TABLE  `cloud`.`account` (
   `cleanup_needed` tinyint(1) NOT NULL default '0',
   `network_domain` varchar(255),
   `default_zone_id` bigint unsigned,
-  `region_id` bigint unsigned,  
+  `region_id` int unsigned,  
   PRIMARY KEY  (`id`),
   INDEX i_account__removed(`removed`),
   CONSTRAINT `fk_account__default_zone_id` FOREIGN KEY 
`fk_account__default_zone_id`(`default_zone_id`) REFERENCES `data_center`(`id`) 
ON DELETE CASCADE,
@@ -2214,10 +2214,11 @@ CREATE TABLE  `cloud`.`netscaler_pod_ref` (
 
 
 CREATE TABLE  `cloud`.`region` (
-  `id` bigint unsigned NOT NULL UNIQUE,
-  `name` varchar(255),
-  `end_point` varchar(255),
-  `status` varchar(32) NOT NULL,
+  `id` int unsigned NOT NULL UNIQUE,
+  `name` varchar(255) NOT NULL,
+  `end_point` varchar(255) NOT NULL,
+  `api_key` varchar(255),
+  `secret_key` varchar(255),
   `removed` datetime COMMENT 'date removed if not null',
   PRIMARY KEY  (`id`)
 ) ENGINE=InnoDB DEFAULT CHARSET=utf8;

http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/f0f33bf4/utils/conf/db.properties
----------------------------------------------------------------------
diff --git a/utils/conf/db.properties b/utils/conf/db.properties
index 6bdb6d6..caf9003 100644
--- a/utils/conf/db.properties
+++ b/utils/conf/db.properties
@@ -20,6 +20,7 @@
 # in which the management server(Tomcat) is running
 cluster.node.IP=127.0.0.1
 cluster.servlet.port=9090
+region.id=1
 
 # CloudStack database settings
 db.cloud.username=cloud

http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/f0f33bf4/utils/src/com/cloud/utils/db/GenericDao.java
----------------------------------------------------------------------
diff --git a/utils/src/com/cloud/utils/db/GenericDao.java 
b/utils/src/com/cloud/utils/db/GenericDao.java
index 3ab319e..ca4c21a 100755
--- a/utils/src/com/cloud/utils/db/GenericDao.java
+++ b/utils/src/com/cloud/utils/db/GenericDao.java
@@ -260,4 +260,6 @@ public interface GenericDao<T, ID extends Serializable> {
      * @return
      */
     Class<T> getEntityBeanType();
+    
+    public int getRegionId();
 }

http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/f0f33bf4/utils/src/com/cloud/utils/db/GenericDaoBase.java
----------------------------------------------------------------------
diff --git a/utils/src/com/cloud/utils/db/GenericDaoBase.java 
b/utils/src/com/cloud/utils/db/GenericDaoBase.java
index 3df8374..271cec5 100755
--- a/utils/src/com/cloud/utils/db/GenericDaoBase.java
+++ b/utils/src/com/cloud/utils/db/GenericDaoBase.java
@@ -1769,4 +1769,9 @@ public abstract class GenericDaoBase<T, ID extends 
Serializable> implements Gene
         factory.setCallback(0, sc);
         return sc;
     }
+    
+    @Override
+    public int getRegionId(){
+       return Transaction.s_region_id;
+    }
 }

http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/f0f33bf4/utils/src/com/cloud/utils/db/Transaction.java
----------------------------------------------------------------------
diff --git a/utils/src/com/cloud/utils/db/Transaction.java 
b/utils/src/com/cloud/utils/db/Transaction.java
index bcf7ae1..f05d263 100755
--- a/utils/src/com/cloud/utils/db/Transaction.java
+++ b/utils/src/com/cloud/utils/db/Transaction.java
@@ -82,6 +82,7 @@ public class Transaction {
     public static final short AWSAPI_DB = 2;
     public static final short SIMULATOR_DB = 3;
     public static final short CONNECTED_DB = -1;
+    public static int s_region_id;
 
     private static AtomicLong s_id = new AtomicLong();
     private static final TransactionMBeanImpl s_mbean = new 
TransactionMBeanImpl();
@@ -1057,6 +1058,12 @@ public class Transaction {
                 System.setProperty("javax.net.ssl.trustStorePassword", 
dbProps.getProperty("db.cloud.trustStorePassword"));
             }
 
+            String regionId = dbProps.getProperty("region.id");
+            if(regionId == null){
+               s_region_id = 1;
+            } else {
+               s_region_id = Integer.parseInt(regionId);
+            }
             final GenericObjectPool cloudConnectionPool = new 
GenericObjectPool(null, cloudMaxActive, 
GenericObjectPool.DEFAULT_WHEN_EXHAUSTED_ACTION,
                     cloudMaxWait, cloudMaxIdle, cloudTestOnBorrow, false, 
cloudTimeBtwEvictionRunsMillis, 1, cloudMinEvcitableIdleTimeMillis, 
cloudTestWhileIdle);
             final ConnectionFactory cloudConnectionFactory = new 
DriverManagerConnectionFactory("jdbc:mysql://"+cloudHost + ":" + cloudPort + 
"/" + cloudDbName +

Reply via email to