You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cloudstack.apache.org by ts...@apache.org on 2013/04/03 21:28:50 UTC

[2/9] Removing ^M's from code.

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/469c4dd1/server/test/com/cloud/async/TestSyncQueueManager.java
----------------------------------------------------------------------
diff --git a/server/test/com/cloud/async/TestSyncQueueManager.java b/server/test/com/cloud/async/TestSyncQueueManager.java
index 2322aec..59afb11 100644
--- a/server/test/com/cloud/async/TestSyncQueueManager.java
+++ b/server/test/com/cloud/async/TestSyncQueueManager.java
@@ -33,163 +33,163 @@ public class TestSyncQueueManager extends TestCase {
     private volatile long expectingCurrent = 1;
     @Inject SyncQueueManager mgr;
 
-    public void leftOverItems() {
-
-        List<SyncQueueItemVO> l = mgr.getActiveQueueItems(1L, false);
-        if(l != null && l.size() > 0) {
-            for(SyncQueueItemVO item : l) {
-                s_logger.info("Left over item: " + item.toString());
-                mgr.purgeItem(item.getId());
-            }
-        }
-    }
-
-    public void dequeueFromOneQueue() {
-        final int totalRuns = 5000;
-        final SyncQueueVO queue = mgr.queue("vm_instance", 1L, "Async-job", 1, 1);
-        for(int i = 1; i < totalRuns; i++)
-            mgr.queue("vm_instance", 1L, "Async-job", i+1, 1);
-
-        count = 0;
-        expectingCurrent = 1;
-        Thread thread1 = new Thread(new Runnable() {
+    public void leftOverItems() {
+
+        List<SyncQueueItemVO> l = mgr.getActiveQueueItems(1L, false);
+        if(l != null && l.size() > 0) {
+            for(SyncQueueItemVO item : l) {
+                s_logger.info("Left over item: " + item.toString());
+                mgr.purgeItem(item.getId());
+            }
+        }
+    }
+
+    public void dequeueFromOneQueue() {
+        final int totalRuns = 5000;
+        final SyncQueueVO queue = mgr.queue("vm_instance", 1L, "Async-job", 1, 1);
+        for(int i = 1; i < totalRuns; i++)
+            mgr.queue("vm_instance", 1L, "Async-job", i+1, 1);
+
+        count = 0;
+        expectingCurrent = 1;
+        Thread thread1 = new Thread(new Runnable() {
             @Override
-            public void run() {
-                while(count < totalRuns) {
-                    SyncQueueItemVO item = mgr.dequeueFromOne(queue.getId(), 1L);
-                    if(item != null) {
-                        s_logger.info("Thread 1 process item: " + item.toString());
-
-                        Assert.assertEquals(expectingCurrent, item.getContentId().longValue());
-                        expectingCurrent++;
-                        count++;
-
-                        mgr.purgeItem(item.getId());
-                    }
-                    try {
-                        Thread.sleep(100);
-                    } catch (InterruptedException e) {
-                    }
-                }
-            }
-        }
-                );
-
-        Thread thread2 = new Thread(new Runnable() {
+            public void run() {
+                while(count < totalRuns) {
+                    SyncQueueItemVO item = mgr.dequeueFromOne(queue.getId(), 1L);
+                    if(item != null) {
+                        s_logger.info("Thread 1 process item: " + item.toString());
+
+                        Assert.assertEquals(expectingCurrent, item.getContentId().longValue());
+                        expectingCurrent++;
+                        count++;
+
+                        mgr.purgeItem(item.getId());
+                    }
+                    try {
+                        Thread.sleep(100);
+                    } catch (InterruptedException e) {
+                    }
+                }
+            }
+        }
+                );
+
+        Thread thread2 = new Thread(new Runnable() {
             @Override
-            public void run() {
-                while(count < totalRuns) {
-                    SyncQueueItemVO item = mgr.dequeueFromOne(queue.getId(), 1L);
-                    if(item != null) {
-                        s_logger.info("Thread 2 process item: " + item.toString());
-
-                        Assert.assertEquals(expectingCurrent, item.getContentId().longValue());
-                        expectingCurrent++;
-                        count++;
-                        mgr.purgeItem(item.getId());
-                    }
-
-                    try {
-                        Thread.sleep(100);
-                    } catch (InterruptedException e) {
-                    }
-                }
-            }
-        }
-                ); 
-
-        thread1.start();
-        thread2.start();
-        try {
-            thread1.join();
-        } catch (InterruptedException e) {
-        }
-        try {
-            thread2.join();
-        } catch (InterruptedException e) {
-        }
-
-        Assert.assertEquals(totalRuns, count);
-    }
-
-    public void dequeueFromAnyQueue() {
-        // simulate 30 queues
-        final int queues = 30;
-        final int totalRuns = 100;
-        final int itemsPerRun = 20;
-        for(int q = 1; q <= queues; q++)
-            for(int i = 0; i < totalRuns; i++)
-                mgr.queue("vm_instance", q, "Async-job", i+1, 1);
-
-        count = 0;
-        Thread thread1 = new Thread(new Runnable() {
+            public void run() {
+                while(count < totalRuns) {
+                    SyncQueueItemVO item = mgr.dequeueFromOne(queue.getId(), 1L);
+                    if(item != null) {
+                        s_logger.info("Thread 2 process item: " + item.toString());
+
+                        Assert.assertEquals(expectingCurrent, item.getContentId().longValue());
+                        expectingCurrent++;
+                        count++;
+                        mgr.purgeItem(item.getId());
+                    }
+
+                    try {
+                        Thread.sleep(100);
+                    } catch (InterruptedException e) {
+                    }
+                }
+            }
+        }
+                );
+
+        thread1.start();
+        thread2.start();
+        try {
+            thread1.join();
+        } catch (InterruptedException e) {
+        }
+        try {
+            thread2.join();
+        } catch (InterruptedException e) {
+        }
+
+        Assert.assertEquals(totalRuns, count);
+    }
+
+    public void dequeueFromAnyQueue() {
+        // simulate 30 queues
+        final int queues = 30;
+        final int totalRuns = 100;
+        final int itemsPerRun = 20;
+        for(int q = 1; q <= queues; q++)
+            for(int i = 0; i < totalRuns; i++)
+                mgr.queue("vm_instance", q, "Async-job", i+1, 1);
+
+        count = 0;
+        Thread thread1 = new Thread(new Runnable() {
             @Override
-            public void run() {
-                while(count < totalRuns*queues) {
-                    List<SyncQueueItemVO> l = mgr.dequeueFromAny(1L, itemsPerRun);
-                    if(l != null && l.size() > 0) {
-                        s_logger.info("Thread 1 get " + l.size() + " dequeued items");
-
-                        for(SyncQueueItemVO item : l) {
-                            s_logger.info("Thread 1 process item: " + item.toString());
-                            count++;
-
-                            mgr.purgeItem(item.getId());
-                        }
-                    }
-                    try {
-                        Thread.sleep(100);
-                    } catch (InterruptedException e) {
-                    }
-                }
-            }
-        }
-                );
-
-        Thread thread2 = new Thread(new Runnable() {
+            public void run() {
+                while(count < totalRuns*queues) {
+                    List<SyncQueueItemVO> l = mgr.dequeueFromAny(1L, itemsPerRun);
+                    if(l != null && l.size() > 0) {
+                        s_logger.info("Thread 1 get " + l.size() + " dequeued items");
+
+                        for(SyncQueueItemVO item : l) {
+                            s_logger.info("Thread 1 process item: " + item.toString());
+                            count++;
+
+                            mgr.purgeItem(item.getId());
+                        }
+                    }
+                    try {
+                        Thread.sleep(100);
+                    } catch (InterruptedException e) {
+                    }
+                }
+            }
+        }
+                );
+
+        Thread thread2 = new Thread(new Runnable() {
             @Override
-            public void run() {
-                while(count < totalRuns*queues) {
-                    List<SyncQueueItemVO> l = mgr.dequeueFromAny(1L, itemsPerRun);
-                    if(l != null && l.size() > 0) {
-                        s_logger.info("Thread 2 get " + l.size() + " dequeued items");
-
-                        for(SyncQueueItemVO item : l) {
-                            s_logger.info("Thread 2 process item: " + item.toString());
-                            count++;
-                            mgr.purgeItem(item.getId());
-                        }
-                    }
-
-                    try {
-                        Thread.sleep(100);
-                    } catch (InterruptedException e) {
-                    }
-                }
-            }
-        }
-                ); 
-
-        thread1.start();
-        thread2.start();
-        try {
-            thread1.join();
-        } catch (InterruptedException e) {
-        }
-        try {
-            thread2.join();
-        } catch (InterruptedException e) {
-        }
-        Assert.assertEquals(queues*totalRuns, count);
-    }
-
-    public void testPopulateQueueData() {
-        final int queues = 30000;
-        final int totalRuns = 100;
-
-        for(int q = 1; q <= queues; q++)
-            for(int i = 0; i < totalRuns; i++)
-                mgr.queue("vm_instance", q, "Async-job", i+1, 1);
+            public void run() {
+                while(count < totalRuns*queues) {
+                    List<SyncQueueItemVO> l = mgr.dequeueFromAny(1L, itemsPerRun);
+                    if(l != null && l.size() > 0) {
+                        s_logger.info("Thread 2 get " + l.size() + " dequeued items");
+
+                        for(SyncQueueItemVO item : l) {
+                            s_logger.info("Thread 2 process item: " + item.toString());
+                            count++;
+                            mgr.purgeItem(item.getId());
+                        }
+                    }
+
+                    try {
+                        Thread.sleep(100);
+                    } catch (InterruptedException e) {
+                    }
+                }
+            }
+        }
+                );
+
+        thread1.start();
+        thread2.start();
+        try {
+            thread1.join();
+        } catch (InterruptedException e) {
+        }
+        try {
+            thread2.join();
+        } catch (InterruptedException e) {
+        }
+        Assert.assertEquals(queues*totalRuns, count);
+    }
+
+    public void testPopulateQueueData() {
+        final int queues = 30000;
+        final int totalRuns = 100;
+
+        for(int q = 1; q <= queues; q++)
+            for(int i = 0; i < totalRuns; i++)
+                mgr.queue("vm_instance", q, "Async-job", i+1, 1);
     }
 
     public void testSyncQueue() {

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/469c4dd1/server/test/com/cloud/network/security/SecurityGroupManagerTestConfiguration.java
----------------------------------------------------------------------
diff --git a/server/test/com/cloud/network/security/SecurityGroupManagerTestConfiguration.java b/server/test/com/cloud/network/security/SecurityGroupManagerTestConfiguration.java
index 5969948..b3a9ff1 100644
--- a/server/test/com/cloud/network/security/SecurityGroupManagerTestConfiguration.java
+++ b/server/test/com/cloud/network/security/SecurityGroupManagerTestConfiguration.java
@@ -1,158 +1,158 @@
-// 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
-// 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.io.IOException;
-
-import org.mockito.Mockito;
-import org.springframework.context.annotation.Bean;
-import org.springframework.context.annotation.ComponentScan;
-import org.springframework.context.annotation.ComponentScan.Filter;
-import org.springframework.context.annotation.Configuration;
-import org.springframework.context.annotation.FilterType;
-import org.springframework.core.type.classreading.MetadataReader;
-import org.springframework.core.type.classreading.MetadataReaderFactory;
-import org.springframework.core.type.filter.TypeFilter;
-
-import com.cloud.agent.AgentManager;
-import com.cloud.api.query.dao.SecurityGroupJoinDaoImpl;
-import com.cloud.cluster.agentlb.dao.HostTransferMapDaoImpl;
-import com.cloud.configuration.dao.ConfigurationDaoImpl;
-import com.cloud.dc.dao.ClusterDaoImpl;
-import com.cloud.dc.dao.DataCenterDaoImpl;
-import com.cloud.dc.dao.DataCenterIpAddressDaoImpl;
-import com.cloud.dc.dao.DataCenterLinkLocalIpAddressDaoImpl;
-import com.cloud.dc.dao.DataCenterVnetDaoImpl;
-import com.cloud.dc.dao.DcDetailsDaoImpl;
-import com.cloud.dc.dao.HostPodDaoImpl;
-import com.cloud.dc.dao.PodVlanDaoImpl;
-import com.cloud.domain.dao.DomainDaoImpl;
-import com.cloud.event.dao.UsageEventDaoImpl;
-import com.cloud.host.dao.HostDaoImpl;
-import com.cloud.host.dao.HostDetailsDaoImpl;
-import com.cloud.host.dao.HostTagsDaoImpl;
-import com.cloud.network.NetworkManager;
-import com.cloud.network.NetworkModel;
-import com.cloud.network.security.SecurityGroupManagerTestConfiguration.Library;
-import com.cloud.network.security.dao.SecurityGroupDaoImpl;
-import com.cloud.network.security.dao.SecurityGroupRuleDaoImpl;
-import com.cloud.network.security.dao.SecurityGroupRulesDaoImpl;
-import com.cloud.network.security.dao.SecurityGroupVMMapDaoImpl;
-import com.cloud.network.security.dao.SecurityGroupWorkDaoImpl;
-import com.cloud.network.security.dao.VmRulesetLogDaoImpl;
-import com.cloud.projects.ProjectManager;
-import com.cloud.tags.dao.ResourceTagsDaoImpl;
-import com.cloud.user.AccountManager;
-import com.cloud.user.DomainManager;
-import com.cloud.user.dao.AccountDaoImpl;
-import com.cloud.utils.component.SpringComponentScanUtils;
-import com.cloud.vm.UserVmManager;
-import com.cloud.vm.VirtualMachineManager;
-import com.cloud.vm.dao.NicDaoImpl;
-import com.cloud.vm.dao.UserVmDaoImpl;
-import com.cloud.vm.dao.UserVmDetailsDaoImpl;
-import com.cloud.vm.dao.VMInstanceDaoImpl;
-
-@Configuration
-@ComponentScan(basePackageClasses={
-        SecurityGroupRulesDaoImpl.class,
-        UserVmDaoImpl.class,
-        AccountDaoImpl.class,
-        ConfigurationDaoImpl.class,
-        SecurityGroupWorkDaoImpl.class,
-        VmRulesetLogDaoImpl.class,
-        VMInstanceDaoImpl.class,
-        DomainDaoImpl.class,
-        UsageEventDaoImpl.class,
-        ResourceTagsDaoImpl.class,
-        HostDaoImpl.class,
-        HostDetailsDaoImpl.class,
-        HostTagsDaoImpl.class,
-        ClusterDaoImpl.class,
-        HostPodDaoImpl.class,
-        DataCenterDaoImpl.class,
-        DataCenterIpAddressDaoImpl.class,
-        HostTransferMapDaoImpl.class,
-        SecurityGroupManagerImpl2.class,
-        SecurityGroupDaoImpl.class,
-        SecurityGroupVMMapDaoImpl.class,
-        UserVmDetailsDaoImpl.class,
-        DataCenterIpAddressDaoImpl.class,
-        DataCenterLinkLocalIpAddressDaoImpl.class,
-        DataCenterVnetDaoImpl.class,
-        PodVlanDaoImpl.class,
-        DcDetailsDaoImpl.class,
-        SecurityGroupRuleDaoImpl.class,
-        NicDaoImpl.class,
-        SecurityGroupJoinDaoImpl.class},
-        includeFilters={@Filter(value=Library.class, type=FilterType.CUSTOM)},
-        useDefaultFilters=false
-        )
-public class SecurityGroupManagerTestConfiguration {
-
-    @Bean
-    public NetworkModel networkModel() {
-        return Mockito.mock(NetworkModel.class);
-    }
-
-    @Bean 
-    public AgentManager agentManager() {
-        return Mockito.mock(AgentManager.class);
-    }
-
-    @Bean
-    public VirtualMachineManager virtualMachineManager(){
-        return Mockito.mock(VirtualMachineManager.class);
-    }
-
-    @Bean
-    public UserVmManager userVmManager() {
-        return Mockito.mock(UserVmManager.class);
-    }
-
-    @Bean
-    public NetworkManager networkManager(){
-        return Mockito.mock(NetworkManager.class);
-    }
-
-    @Bean
-    public AccountManager accountManager() {
-        return Mockito.mock(AccountManager.class);
-    }
-
-    @Bean
-    public DomainManager domainManager() {
-        return Mockito.mock(DomainManager.class);
-    }
-
-    @Bean
-    public ProjectManager projectManager() {
-        return Mockito.mock(ProjectManager.class);
-    }
-
-    public static class Library implements TypeFilter {
-
-        @Override
-        public boolean match(MetadataReader mdr, MetadataReaderFactory arg1) throws IOException {
-            mdr.getClassMetadata().getClassName();
-            ComponentScan cs = SecurityGroupManagerTestConfiguration.class.getAnnotation(ComponentScan.class);
-            return SpringComponentScanUtils.includedInBasePackageClasses(mdr.getClassMetadata().getClassName(), cs);
-        }
-
-    }
-}
+// 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
+// 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.io.IOException;
+
+import org.mockito.Mockito;
+import org.springframework.context.annotation.Bean;
+import org.springframework.context.annotation.ComponentScan;
+import org.springframework.context.annotation.ComponentScan.Filter;
+import org.springframework.context.annotation.Configuration;
+import org.springframework.context.annotation.FilterType;
+import org.springframework.core.type.classreading.MetadataReader;
+import org.springframework.core.type.classreading.MetadataReaderFactory;
+import org.springframework.core.type.filter.TypeFilter;
+
+import com.cloud.agent.AgentManager;
+import com.cloud.api.query.dao.SecurityGroupJoinDaoImpl;
+import com.cloud.cluster.agentlb.dao.HostTransferMapDaoImpl;
+import com.cloud.configuration.dao.ConfigurationDaoImpl;
+import com.cloud.dc.dao.ClusterDaoImpl;
+import com.cloud.dc.dao.DataCenterDaoImpl;
+import com.cloud.dc.dao.DataCenterIpAddressDaoImpl;
+import com.cloud.dc.dao.DataCenterLinkLocalIpAddressDaoImpl;
+import com.cloud.dc.dao.DataCenterVnetDaoImpl;
+import com.cloud.dc.dao.DcDetailsDaoImpl;
+import com.cloud.dc.dao.HostPodDaoImpl;
+import com.cloud.dc.dao.PodVlanDaoImpl;
+import com.cloud.domain.dao.DomainDaoImpl;
+import com.cloud.event.dao.UsageEventDaoImpl;
+import com.cloud.host.dao.HostDaoImpl;
+import com.cloud.host.dao.HostDetailsDaoImpl;
+import com.cloud.host.dao.HostTagsDaoImpl;
+import com.cloud.network.NetworkManager;
+import com.cloud.network.NetworkModel;
+import com.cloud.network.security.SecurityGroupManagerTestConfiguration.Library;
+import com.cloud.network.security.dao.SecurityGroupDaoImpl;
+import com.cloud.network.security.dao.SecurityGroupRuleDaoImpl;
+import com.cloud.network.security.dao.SecurityGroupRulesDaoImpl;
+import com.cloud.network.security.dao.SecurityGroupVMMapDaoImpl;
+import com.cloud.network.security.dao.SecurityGroupWorkDaoImpl;
+import com.cloud.network.security.dao.VmRulesetLogDaoImpl;
+import com.cloud.projects.ProjectManager;
+import com.cloud.tags.dao.ResourceTagsDaoImpl;
+import com.cloud.user.AccountManager;
+import com.cloud.user.DomainManager;
+import com.cloud.user.dao.AccountDaoImpl;
+import com.cloud.utils.component.SpringComponentScanUtils;
+import com.cloud.vm.UserVmManager;
+import com.cloud.vm.VirtualMachineManager;
+import com.cloud.vm.dao.NicDaoImpl;
+import com.cloud.vm.dao.UserVmDaoImpl;
+import com.cloud.vm.dao.UserVmDetailsDaoImpl;
+import com.cloud.vm.dao.VMInstanceDaoImpl;
+
+@Configuration
+@ComponentScan(basePackageClasses={
+        SecurityGroupRulesDaoImpl.class,
+        UserVmDaoImpl.class,
+        AccountDaoImpl.class,
+        ConfigurationDaoImpl.class,
+        SecurityGroupWorkDaoImpl.class,
+        VmRulesetLogDaoImpl.class,
+        VMInstanceDaoImpl.class,
+        DomainDaoImpl.class,
+        UsageEventDaoImpl.class,
+        ResourceTagsDaoImpl.class,
+        HostDaoImpl.class,
+        HostDetailsDaoImpl.class,
+        HostTagsDaoImpl.class,
+        ClusterDaoImpl.class,
+        HostPodDaoImpl.class,
+        DataCenterDaoImpl.class,
+        DataCenterIpAddressDaoImpl.class,
+        HostTransferMapDaoImpl.class,
+        SecurityGroupManagerImpl2.class,
+        SecurityGroupDaoImpl.class,
+        SecurityGroupVMMapDaoImpl.class,
+        UserVmDetailsDaoImpl.class,
+        DataCenterIpAddressDaoImpl.class,
+        DataCenterLinkLocalIpAddressDaoImpl.class,
+        DataCenterVnetDaoImpl.class,
+        PodVlanDaoImpl.class,
+        DcDetailsDaoImpl.class,
+        SecurityGroupRuleDaoImpl.class,
+        NicDaoImpl.class,
+        SecurityGroupJoinDaoImpl.class},
+        includeFilters={@Filter(value=Library.class, type=FilterType.CUSTOM)},
+        useDefaultFilters=false
+        )
+public class SecurityGroupManagerTestConfiguration {
+
+    @Bean
+    public NetworkModel networkModel() {
+        return Mockito.mock(NetworkModel.class);
+    }
+
+    @Bean
+    public AgentManager agentManager() {
+        return Mockito.mock(AgentManager.class);
+    }
+
+    @Bean
+    public VirtualMachineManager virtualMachineManager(){
+        return Mockito.mock(VirtualMachineManager.class);
+    }
+
+    @Bean
+    public UserVmManager userVmManager() {
+        return Mockito.mock(UserVmManager.class);
+    }
+
+    @Bean
+    public NetworkManager networkManager(){
+        return Mockito.mock(NetworkManager.class);
+    }
+
+    @Bean
+    public AccountManager accountManager() {
+        return Mockito.mock(AccountManager.class);
+    }
+
+    @Bean
+    public DomainManager domainManager() {
+        return Mockito.mock(DomainManager.class);
+    }
+
+    @Bean
+    public ProjectManager projectManager() {
+        return Mockito.mock(ProjectManager.class);
+    }
+
+    public static class Library implements TypeFilter {
+
+        @Override
+        public boolean match(MetadataReader mdr, MetadataReaderFactory arg1) throws IOException {
+            mdr.getClassMetadata().getClassName();
+            ComponentScan cs = SecurityGroupManagerTestConfiguration.class.getAnnotation(ComponentScan.class);
+            return SpringComponentScanUtils.includedInBasePackageClasses(mdr.getClassMetadata().getClassName(), cs);
+        }
+
+    }
+}

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/469c4dd1/server/test/com/cloud/snapshot/SnapshotDaoTestConfiguration.java
----------------------------------------------------------------------
diff --git a/server/test/com/cloud/snapshot/SnapshotDaoTestConfiguration.java b/server/test/com/cloud/snapshot/SnapshotDaoTestConfiguration.java
index 128a62c..cc410db 100644
--- a/server/test/com/cloud/snapshot/SnapshotDaoTestConfiguration.java
+++ b/server/test/com/cloud/snapshot/SnapshotDaoTestConfiguration.java
@@ -1,72 +1,72 @@
-// 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
-// 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.snapshot;
-
-import java.io.IOException;
-
-import org.springframework.context.annotation.ComponentScan;
-import org.springframework.context.annotation.ComponentScan.Filter;
-import org.springframework.context.annotation.Configuration;
-import org.springframework.context.annotation.FilterType;
-import org.springframework.core.type.classreading.MetadataReader;
-import org.springframework.core.type.classreading.MetadataReaderFactory;
-import org.springframework.core.type.filter.TypeFilter;
-
-import com.cloud.cluster.agentlb.dao.HostTransferMapDaoImpl;
-import com.cloud.dc.dao.ClusterDaoImpl;
-import com.cloud.dc.dao.HostPodDaoImpl;
-import com.cloud.host.dao.HostDaoImpl;
-import com.cloud.host.dao.HostDetailsDaoImpl;
-import com.cloud.host.dao.HostTagsDaoImpl;
-import com.cloud.storage.dao.SnapshotDaoImpl;
-import com.cloud.storage.dao.VolumeDaoImpl;
-import com.cloud.tags.dao.ResourceTagsDaoImpl;
-import com.cloud.utils.component.SpringComponentScanUtils;
-import com.cloud.vm.dao.NicDaoImpl;
-import com.cloud.vm.dao.VMInstanceDaoImpl;
-
-@Configuration
-@ComponentScan(basePackageClasses={
-        SnapshotDaoImpl.class,
-        ResourceTagsDaoImpl.class,
-        VMInstanceDaoImpl.class,
-        VolumeDaoImpl.class,
-        NicDaoImpl.class,
-        HostDaoImpl.class,
-        HostDetailsDaoImpl.class,
-        HostTagsDaoImpl.class,
-        HostTransferMapDaoImpl.class,
-        ClusterDaoImpl.class,
-        HostPodDaoImpl.class},
-        includeFilters={@Filter(value=SnapshotDaoTestConfiguration.Library.class, type=FilterType.CUSTOM)},
-        useDefaultFilters=false
-        )
-public class SnapshotDaoTestConfiguration {
-
-
-    public static class Library implements TypeFilter {
-
-        @Override
-        public boolean match(MetadataReader mdr, MetadataReaderFactory arg1) throws IOException {
-            mdr.getClassMetadata().getClassName();
-            ComponentScan cs = SnapshotDaoTestConfiguration.class.getAnnotation(ComponentScan.class);
-            return SpringComponentScanUtils.includedInBasePackageClasses(mdr.getClassMetadata().getClassName(), cs);
-        }
-
-    }
-}
+// 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
+// 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.snapshot;
+
+import java.io.IOException;
+
+import org.springframework.context.annotation.ComponentScan;
+import org.springframework.context.annotation.ComponentScan.Filter;
+import org.springframework.context.annotation.Configuration;
+import org.springframework.context.annotation.FilterType;
+import org.springframework.core.type.classreading.MetadataReader;
+import org.springframework.core.type.classreading.MetadataReaderFactory;
+import org.springframework.core.type.filter.TypeFilter;
+
+import com.cloud.cluster.agentlb.dao.HostTransferMapDaoImpl;
+import com.cloud.dc.dao.ClusterDaoImpl;
+import com.cloud.dc.dao.HostPodDaoImpl;
+import com.cloud.host.dao.HostDaoImpl;
+import com.cloud.host.dao.HostDetailsDaoImpl;
+import com.cloud.host.dao.HostTagsDaoImpl;
+import com.cloud.storage.dao.SnapshotDaoImpl;
+import com.cloud.storage.dao.VolumeDaoImpl;
+import com.cloud.tags.dao.ResourceTagsDaoImpl;
+import com.cloud.utils.component.SpringComponentScanUtils;
+import com.cloud.vm.dao.NicDaoImpl;
+import com.cloud.vm.dao.VMInstanceDaoImpl;
+
+@Configuration
+@ComponentScan(basePackageClasses={
+        SnapshotDaoImpl.class,
+        ResourceTagsDaoImpl.class,
+        VMInstanceDaoImpl.class,
+        VolumeDaoImpl.class,
+        NicDaoImpl.class,
+        HostDaoImpl.class,
+        HostDetailsDaoImpl.class,
+        HostTagsDaoImpl.class,
+        HostTransferMapDaoImpl.class,
+        ClusterDaoImpl.class,
+        HostPodDaoImpl.class},
+        includeFilters={@Filter(value=SnapshotDaoTestConfiguration.Library.class, type=FilterType.CUSTOM)},
+        useDefaultFilters=false
+        )
+public class SnapshotDaoTestConfiguration {
+
+
+    public static class Library implements TypeFilter {
+
+        @Override
+        public boolean match(MetadataReader mdr, MetadataReaderFactory arg1) throws IOException {
+            mdr.getClassMetadata().getClassName();
+            ComponentScan cs = SnapshotDaoTestConfiguration.class.getAnnotation(ComponentScan.class);
+            return SpringComponentScanUtils.includedInBasePackageClasses(mdr.getClassMetadata().getClassName(), cs);
+        }
+
+    }
+}

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/469c4dd1/server/test/com/cloud/storage/dao/StoragePoolDaoTestConfiguration.java
----------------------------------------------------------------------
diff --git a/server/test/com/cloud/storage/dao/StoragePoolDaoTestConfiguration.java b/server/test/com/cloud/storage/dao/StoragePoolDaoTestConfiguration.java
index de0a4ed..58de4d2 100644
--- a/server/test/com/cloud/storage/dao/StoragePoolDaoTestConfiguration.java
+++ b/server/test/com/cloud/storage/dao/StoragePoolDaoTestConfiguration.java
@@ -1,53 +1,53 @@
-// 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
-// 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.dao;
-
-import java.io.IOException;
-
-import org.apache.cloudstack.storage.datastore.db.PrimaryDataStoreDaoImpl;
-import org.springframework.context.annotation.ComponentScan;
-import org.springframework.context.annotation.ComponentScan.Filter;
-import org.springframework.context.annotation.Configuration;
-import org.springframework.context.annotation.FilterType;
-import org.springframework.core.type.classreading.MetadataReader;
-import org.springframework.core.type.classreading.MetadataReaderFactory;
-import org.springframework.core.type.filter.TypeFilter;
-
-import com.cloud.utils.component.SpringComponentScanUtils;
-
-@Configuration
-@ComponentScan(basePackageClasses={
-        PrimaryDataStoreDaoImpl.class,
-        StoragePoolDetailsDaoImpl.class},
-        includeFilters={@Filter(value=StoragePoolDaoTestConfiguration.Library.class, type=FilterType.CUSTOM)},
-        useDefaultFilters=false
-        )
-public class StoragePoolDaoTestConfiguration {
-
-
-    public static class Library implements TypeFilter {
-
-        @Override
-        public boolean match(MetadataReader mdr, MetadataReaderFactory arg1) throws IOException {
-            mdr.getClassMetadata().getClassName();
-            ComponentScan cs = StoragePoolDaoTestConfiguration.class.getAnnotation(ComponentScan.class);
-            return SpringComponentScanUtils.includedInBasePackageClasses(mdr.getClassMetadata().getClassName(), cs);
-        }
-
-    }
-}
+// 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
+// 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.dao;
+
+import java.io.IOException;
+
+import org.apache.cloudstack.storage.datastore.db.PrimaryDataStoreDaoImpl;
+import org.springframework.context.annotation.ComponentScan;
+import org.springframework.context.annotation.ComponentScan.Filter;
+import org.springframework.context.annotation.Configuration;
+import org.springframework.context.annotation.FilterType;
+import org.springframework.core.type.classreading.MetadataReader;
+import org.springframework.core.type.classreading.MetadataReaderFactory;
+import org.springframework.core.type.filter.TypeFilter;
+
+import com.cloud.utils.component.SpringComponentScanUtils;
+
+@Configuration
+@ComponentScan(basePackageClasses={
+        PrimaryDataStoreDaoImpl.class,
+        StoragePoolDetailsDaoImpl.class},
+        includeFilters={@Filter(value=StoragePoolDaoTestConfiguration.Library.class, type=FilterType.CUSTOM)},
+        useDefaultFilters=false
+        )
+public class StoragePoolDaoTestConfiguration {
+
+
+    public static class Library implements TypeFilter {
+
+        @Override
+        public boolean match(MetadataReader mdr, MetadataReaderFactory arg1) throws IOException {
+            mdr.getClassMetadata().getClassName();
+            ComponentScan cs = StoragePoolDaoTestConfiguration.class.getAnnotation(ComponentScan.class);
+            return SpringComponentScanUtils.includedInBasePackageClasses(mdr.getClassMetadata().getClassName(), cs);
+        }
+
+    }
+}

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/469c4dd1/server/test/com/cloud/vm/snapshot/VMSnapshotManagerTest.java
----------------------------------------------------------------------
diff --git a/server/test/com/cloud/vm/snapshot/VMSnapshotManagerTest.java b/server/test/com/cloud/vm/snapshot/VMSnapshotManagerTest.java
index a238e52..576c95b 100644
--- a/server/test/com/cloud/vm/snapshot/VMSnapshotManagerTest.java
+++ b/server/test/com/cloud/vm/snapshot/VMSnapshotManagerTest.java
@@ -1,186 +1,186 @@
-// 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.vm.snapshot;
-
-import static org.mockito.Matchers.any;
-import static org.mockito.Matchers.anyLong;
-import static org.mockito.Matchers.anyString;
-import static org.mockito.Mockito.doNothing;
-import static org.mockito.Mockito.doReturn;
-import static org.mockito.Mockito.mock;
-import static org.mockito.Mockito.when;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.apache.cloudstack.acl.ControlledEntity;
-import org.apache.cloudstack.acl.SecurityChecker.AccessType;
-import org.apache.cloudstack.storage.datastore.db.PrimaryDataStoreDao;
-import org.junit.Before;
-import org.junit.Test;
-import org.mockito.Mock;
-import org.mockito.MockitoAnnotations;
-import org.mockito.Spy;
-
-import com.cloud.agent.AgentManager;
-import com.cloud.agent.api.Answer;
-import com.cloud.agent.api.CreateVMSnapshotAnswer;
-import com.cloud.agent.api.CreateVMSnapshotCommand;
-import com.cloud.agent.api.to.VolumeTO;
-import com.cloud.configuration.dao.ConfigurationDao;
-import com.cloud.exception.AgentUnavailableException;
-import com.cloud.exception.InvalidParameterValueException;
-import com.cloud.exception.OperationTimedoutException;
-import com.cloud.exception.ResourceAllocationException;
-import com.cloud.host.dao.HostDao;
-import com.cloud.hypervisor.HypervisorGuruManager;
-import com.cloud.storage.GuestOSVO;
-import com.cloud.storage.Snapshot;
-import com.cloud.storage.SnapshotVO;
-import com.cloud.storage.VolumeVO;
-import com.cloud.storage.dao.GuestOSDao;
-import com.cloud.storage.dao.SnapshotDao;
-import com.cloud.storage.dao.VolumeDao;
-import com.cloud.user.Account;
-import com.cloud.user.AccountManager;
-import com.cloud.user.dao.AccountDao;
-import com.cloud.user.dao.UserDao;
-import com.cloud.utils.exception.CloudRuntimeException;
-import com.cloud.utils.fsm.NoTransitionException;
-import com.cloud.vm.UserVmVO;
-import com.cloud.vm.VirtualMachine.State;
-import com.cloud.vm.VirtualMachineManager;
-import com.cloud.vm.dao.UserVmDao;
-import com.cloud.vm.dao.VMInstanceDao;
-import com.cloud.vm.snapshot.dao.VMSnapshotDao;
-
-
-
-public class VMSnapshotManagerTest {
-    @Spy VMSnapshotManagerImpl _vmSnapshotMgr = new VMSnapshotManagerImpl();
-    @Mock Account admin;
-    @Mock VMSnapshotDao _vmSnapshotDao;
-    @Mock VolumeDao _volumeDao;
-    @Mock AccountDao _accountDao;
-    @Mock VMInstanceDao _vmInstanceDao;
-    @Mock UserVmDao _userVMDao;
-    @Mock HostDao _hostDao;
-    @Mock UserDao _userDao;
-    @Mock AgentManager _agentMgr;
-    @Mock HypervisorGuruManager _hvGuruMgr;
-    @Mock AccountManager _accountMgr;
-    @Mock GuestOSDao _guestOSDao;
-    @Mock PrimaryDataStoreDao _storagePoolDao;
-    @Mock SnapshotDao _snapshotDao;
-    @Mock VirtualMachineManager _itMgr;
-    @Mock ConfigurationDao _configDao;
-    int _vmSnapshotMax = 10;
-    
-    private static long TEST_VM_ID = 3L;
-    @Mock UserVmVO vmMock;
-    @Mock VolumeVO volumeMock;
-    
-    @Before
-    public void setup(){
-        MockitoAnnotations.initMocks(this);
-        doReturn(admin).when(_vmSnapshotMgr).getCaller();
-        _vmSnapshotMgr._accountDao = _accountDao;
-        _vmSnapshotMgr._userVMDao = _userVMDao;
-        _vmSnapshotMgr._vmSnapshotDao = _vmSnapshotDao;
-        _vmSnapshotMgr._volumeDao = _volumeDao;
-        _vmSnapshotMgr._accountMgr = _accountMgr;
-        _vmSnapshotMgr._snapshotDao = _snapshotDao;
-        _vmSnapshotMgr._guestOSDao = _guestOSDao;
-        
-        doNothing().when(_accountMgr).checkAccess(any(Account.class), any(AccessType.class), 
-                any(Boolean.class), any(ControlledEntity.class));
-        
-        _vmSnapshotMgr._vmSnapshotMax = _vmSnapshotMax;
-        
-        when(_userVMDao.findById(anyLong())).thenReturn(vmMock);
-        when(_vmSnapshotDao.findByName(anyLong(), anyString())).thenReturn(null);
-        when(_vmSnapshotDao.findByVm(anyLong())).thenReturn(new ArrayList<VMSnapshotVO>());
-       
-        List<VolumeVO> mockVolumeList = new ArrayList<VolumeVO>();
-        mockVolumeList.add(volumeMock);
-        when(volumeMock.getInstanceId()).thenReturn(TEST_VM_ID);
-        when(_volumeDao.findByInstance(anyLong())).thenReturn(mockVolumeList);
-        
-        when(vmMock.getInstanceName()).thenReturn("i-3-VM-TEST");
-        when(vmMock.getState()).thenReturn(State.Running);
-        
-        when(_guestOSDao.findById(anyLong())).thenReturn(mock(GuestOSVO.class));
-    } 
-    
-    // vmId null case
-    @Test(expected=InvalidParameterValueException.class)
-    public void testAllocVMSnapshotF1() throws ResourceAllocationException{
-        when(_userVMDao.findById(TEST_VM_ID)).thenReturn(null);
-        _vmSnapshotMgr.allocVMSnapshot(TEST_VM_ID,"","",true);
-    }
-
-    // vm state not in [running, stopped] case
-    @Test(expected=InvalidParameterValueException.class)
-    public void testAllocVMSnapshotF2() throws ResourceAllocationException{
-        when(vmMock.getState()).thenReturn(State.Starting);
-        _vmSnapshotMgr.allocVMSnapshot(TEST_VM_ID,"","",true);
-    }
-    
-    // VM in stopped state & snapshotmemory case
-    @Test(expected=InvalidParameterValueException.class)
-    public void testCreateVMSnapshotF3() throws AgentUnavailableException, OperationTimedoutException, ResourceAllocationException{
-        when(vmMock.getState()).thenReturn(State.Stopped);
-        _vmSnapshotMgr.allocVMSnapshot(TEST_VM_ID,"","",true);
-    }
-    
-    // max snapshot limit case
-    @SuppressWarnings("unchecked")
-    @Test(expected=CloudRuntimeException.class)
-    public void testAllocVMSnapshotF4() throws ResourceAllocationException{
-        List<VMSnapshotVO> mockList = mock(List.class);
-        when(mockList.size()).thenReturn(10);
-        when(_vmSnapshotDao.findByVm(TEST_VM_ID)).thenReturn(mockList);
-        _vmSnapshotMgr.allocVMSnapshot(TEST_VM_ID,"","",true);
-    }
-    
-    // active volume snapshots case
-    @SuppressWarnings("unchecked")
-    @Test(expected=CloudRuntimeException.class)
-    public void testAllocVMSnapshotF5() throws ResourceAllocationException{
-        List<SnapshotVO> mockList = mock(List.class);
-        when(mockList.size()).thenReturn(1);
-        when(_snapshotDao.listByInstanceId(TEST_VM_ID,Snapshot.State.Creating,
-                Snapshot.State.CreatedOnPrimary, Snapshot.State.BackingUp)).thenReturn(mockList);
-        _vmSnapshotMgr.allocVMSnapshot(TEST_VM_ID,"","",true);
-    }
-    
-    // successful creation case
-    @Test
-    public void testCreateVMSnapshot() throws AgentUnavailableException, OperationTimedoutException, ResourceAllocationException, NoTransitionException{
-        when(vmMock.getState()).thenReturn(State.Running);
-        _vmSnapshotMgr.allocVMSnapshot(TEST_VM_ID,"","",true);
-        
-        when(_vmSnapshotDao.findCurrentSnapshotByVmId(anyLong())).thenReturn(null);
-        doReturn(new ArrayList<VolumeTO>()).when(_vmSnapshotMgr).getVolumeTOList(anyLong());
-        doReturn(new CreateVMSnapshotAnswer(null,true,"")).when(_vmSnapshotMgr).sendToPool(anyLong(), any(CreateVMSnapshotCommand.class));
-        doNothing().when(_vmSnapshotMgr).processAnswer(any(VMSnapshotVO.class), 
-                any(UserVmVO.class), any(Answer.class), anyLong());
-        doReturn(true).when(_vmSnapshotMgr).vmSnapshotStateTransitTo(any(VMSnapshotVO.class),any(VMSnapshot.Event.class));
-        _vmSnapshotMgr.createVmSnapshotInternal(vmMock, mock(VMSnapshotVO.class), 5L);
-    }
-
-}
+// 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.vm.snapshot;
+
+import static org.mockito.Matchers.any;
+import static org.mockito.Matchers.anyLong;
+import static org.mockito.Matchers.anyString;
+import static org.mockito.Mockito.doNothing;
+import static org.mockito.Mockito.doReturn;
+import static org.mockito.Mockito.mock;
+import static org.mockito.Mockito.when;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import org.apache.cloudstack.acl.ControlledEntity;
+import org.apache.cloudstack.acl.SecurityChecker.AccessType;
+import org.apache.cloudstack.storage.datastore.db.PrimaryDataStoreDao;
+import org.junit.Before;
+import org.junit.Test;
+import org.mockito.Mock;
+import org.mockito.MockitoAnnotations;
+import org.mockito.Spy;
+
+import com.cloud.agent.AgentManager;
+import com.cloud.agent.api.Answer;
+import com.cloud.agent.api.CreateVMSnapshotAnswer;
+import com.cloud.agent.api.CreateVMSnapshotCommand;
+import com.cloud.agent.api.to.VolumeTO;
+import com.cloud.configuration.dao.ConfigurationDao;
+import com.cloud.exception.AgentUnavailableException;
+import com.cloud.exception.InvalidParameterValueException;
+import com.cloud.exception.OperationTimedoutException;
+import com.cloud.exception.ResourceAllocationException;
+import com.cloud.host.dao.HostDao;
+import com.cloud.hypervisor.HypervisorGuruManager;
+import com.cloud.storage.GuestOSVO;
+import com.cloud.storage.Snapshot;
+import com.cloud.storage.SnapshotVO;
+import com.cloud.storage.VolumeVO;
+import com.cloud.storage.dao.GuestOSDao;
+import com.cloud.storage.dao.SnapshotDao;
+import com.cloud.storage.dao.VolumeDao;
+import com.cloud.user.Account;
+import com.cloud.user.AccountManager;
+import com.cloud.user.dao.AccountDao;
+import com.cloud.user.dao.UserDao;
+import com.cloud.utils.exception.CloudRuntimeException;
+import com.cloud.utils.fsm.NoTransitionException;
+import com.cloud.vm.UserVmVO;
+import com.cloud.vm.VirtualMachine.State;
+import com.cloud.vm.VirtualMachineManager;
+import com.cloud.vm.dao.UserVmDao;
+import com.cloud.vm.dao.VMInstanceDao;
+import com.cloud.vm.snapshot.dao.VMSnapshotDao;
+
+
+
+public class VMSnapshotManagerTest {
+    @Spy VMSnapshotManagerImpl _vmSnapshotMgr = new VMSnapshotManagerImpl();
+    @Mock Account admin;
+    @Mock VMSnapshotDao _vmSnapshotDao;
+    @Mock VolumeDao _volumeDao;
+    @Mock AccountDao _accountDao;
+    @Mock VMInstanceDao _vmInstanceDao;
+    @Mock UserVmDao _userVMDao;
+    @Mock HostDao _hostDao;
+    @Mock UserDao _userDao;
+    @Mock AgentManager _agentMgr;
+    @Mock HypervisorGuruManager _hvGuruMgr;
+    @Mock AccountManager _accountMgr;
+    @Mock GuestOSDao _guestOSDao;
+    @Mock PrimaryDataStoreDao _storagePoolDao;
+    @Mock SnapshotDao _snapshotDao;
+    @Mock VirtualMachineManager _itMgr;
+    @Mock ConfigurationDao _configDao;
+    int _vmSnapshotMax = 10;
+
+    private static long TEST_VM_ID = 3L;
+    @Mock UserVmVO vmMock;
+    @Mock VolumeVO volumeMock;
+
+    @Before
+    public void setup(){
+        MockitoAnnotations.initMocks(this);
+        doReturn(admin).when(_vmSnapshotMgr).getCaller();
+        _vmSnapshotMgr._accountDao = _accountDao;
+        _vmSnapshotMgr._userVMDao = _userVMDao;
+        _vmSnapshotMgr._vmSnapshotDao = _vmSnapshotDao;
+        _vmSnapshotMgr._volumeDao = _volumeDao;
+        _vmSnapshotMgr._accountMgr = _accountMgr;
+        _vmSnapshotMgr._snapshotDao = _snapshotDao;
+        _vmSnapshotMgr._guestOSDao = _guestOSDao;
+
+        doNothing().when(_accountMgr).checkAccess(any(Account.class), any(AccessType.class),
+                any(Boolean.class), any(ControlledEntity.class));
+
+        _vmSnapshotMgr._vmSnapshotMax = _vmSnapshotMax;
+
+        when(_userVMDao.findById(anyLong())).thenReturn(vmMock);
+        when(_vmSnapshotDao.findByName(anyLong(), anyString())).thenReturn(null);
+        when(_vmSnapshotDao.findByVm(anyLong())).thenReturn(new ArrayList<VMSnapshotVO>());
+
+        List<VolumeVO> mockVolumeList = new ArrayList<VolumeVO>();
+        mockVolumeList.add(volumeMock);
+        when(volumeMock.getInstanceId()).thenReturn(TEST_VM_ID);
+        when(_volumeDao.findByInstance(anyLong())).thenReturn(mockVolumeList);
+
+        when(vmMock.getInstanceName()).thenReturn("i-3-VM-TEST");
+        when(vmMock.getState()).thenReturn(State.Running);
+
+        when(_guestOSDao.findById(anyLong())).thenReturn(mock(GuestOSVO.class));
+    }
+
+    // vmId null case
+    @Test(expected=InvalidParameterValueException.class)
+    public void testAllocVMSnapshotF1() throws ResourceAllocationException{
+        when(_userVMDao.findById(TEST_VM_ID)).thenReturn(null);
+        _vmSnapshotMgr.allocVMSnapshot(TEST_VM_ID,"","",true);
+    }
+
+    // vm state not in [running, stopped] case
+    @Test(expected=InvalidParameterValueException.class)
+    public void testAllocVMSnapshotF2() throws ResourceAllocationException{
+        when(vmMock.getState()).thenReturn(State.Starting);
+        _vmSnapshotMgr.allocVMSnapshot(TEST_VM_ID,"","",true);
+    }
+
+    // VM in stopped state & snapshotmemory case
+    @Test(expected=InvalidParameterValueException.class)
+    public void testCreateVMSnapshotF3() throws AgentUnavailableException, OperationTimedoutException, ResourceAllocationException{
+        when(vmMock.getState()).thenReturn(State.Stopped);
+        _vmSnapshotMgr.allocVMSnapshot(TEST_VM_ID,"","",true);
+    }
+
+    // max snapshot limit case
+    @SuppressWarnings("unchecked")
+    @Test(expected=CloudRuntimeException.class)
+    public void testAllocVMSnapshotF4() throws ResourceAllocationException{
+        List<VMSnapshotVO> mockList = mock(List.class);
+        when(mockList.size()).thenReturn(10);
+        when(_vmSnapshotDao.findByVm(TEST_VM_ID)).thenReturn(mockList);
+        _vmSnapshotMgr.allocVMSnapshot(TEST_VM_ID,"","",true);
+    }
+
+    // active volume snapshots case
+    @SuppressWarnings("unchecked")
+    @Test(expected=CloudRuntimeException.class)
+    public void testAllocVMSnapshotF5() throws ResourceAllocationException{
+        List<SnapshotVO> mockList = mock(List.class);
+        when(mockList.size()).thenReturn(1);
+        when(_snapshotDao.listByInstanceId(TEST_VM_ID,Snapshot.State.Creating,
+                Snapshot.State.CreatedOnPrimary, Snapshot.State.BackingUp)).thenReturn(mockList);
+        _vmSnapshotMgr.allocVMSnapshot(TEST_VM_ID,"","",true);
+    }
+
+    // successful creation case
+    @Test
+    public void testCreateVMSnapshot() throws AgentUnavailableException, OperationTimedoutException, ResourceAllocationException, NoTransitionException{
+        when(vmMock.getState()).thenReturn(State.Running);
+        _vmSnapshotMgr.allocVMSnapshot(TEST_VM_ID,"","",true);
+
+        when(_vmSnapshotDao.findCurrentSnapshotByVmId(anyLong())).thenReturn(null);
+        doReturn(new ArrayList<VolumeTO>()).when(_vmSnapshotMgr).getVolumeTOList(anyLong());
+        doReturn(new CreateVMSnapshotAnswer(null,true,"")).when(_vmSnapshotMgr).sendToPool(anyLong(), any(CreateVMSnapshotCommand.class));
+        doNothing().when(_vmSnapshotMgr).processAnswer(any(VMSnapshotVO.class),
+                any(UserVmVO.class), any(Answer.class), anyLong());
+        doReturn(true).when(_vmSnapshotMgr).vmSnapshotStateTransitTo(any(VMSnapshotVO.class),any(VMSnapshot.Event.class));
+        _vmSnapshotMgr.createVmSnapshotInternal(vmMock, mock(VMSnapshotVO.class), 5L);
+    }
+
+}

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/469c4dd1/server/test/com/cloud/vpc/VpcTestConfiguration.java
----------------------------------------------------------------------
diff --git a/server/test/com/cloud/vpc/VpcTestConfiguration.java b/server/test/com/cloud/vpc/VpcTestConfiguration.java
index e250cd1..df73a6c 100644
--- a/server/test/com/cloud/vpc/VpcTestConfiguration.java
+++ b/server/test/com/cloud/vpc/VpcTestConfiguration.java
@@ -1,231 +1,231 @@
-// 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
-// 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.vpc;
-
-import java.io.IOException;
-
-import org.mockito.Mockito;
-import org.springframework.context.annotation.Bean;
-import org.springframework.context.annotation.ComponentScan;
-import org.springframework.context.annotation.ComponentScan.Filter;
-import org.springframework.context.annotation.Configuration;
-import org.springframework.context.annotation.FilterType;
-import org.springframework.core.type.classreading.MetadataReader;
-import org.springframework.core.type.classreading.MetadataReaderFactory;
-import org.springframework.core.type.filter.TypeFilter;
-
-import com.cloud.alert.AlertManager;
-import com.cloud.cluster.agentlb.dao.HostTransferMapDaoImpl;
-import com.cloud.configuration.dao.ConfigurationDaoImpl;
-import com.cloud.configuration.dao.ResourceLimitDaoImpl;
-import com.cloud.dao.EntityManagerImpl;
-import com.cloud.dc.dao.AccountVlanMapDaoImpl;
-import com.cloud.dc.dao.ClusterDaoImpl;
-import com.cloud.dc.dao.DataCenterDaoImpl;
-import com.cloud.dc.dao.DataCenterIpAddressDaoImpl;
-import com.cloud.dc.dao.DataCenterLinkLocalIpAddressDaoImpl;
-import com.cloud.dc.dao.DataCenterVnetDaoImpl;
-import com.cloud.dc.dao.DcDetailsDaoImpl;
-import com.cloud.dc.dao.HostPodDaoImpl;
-import com.cloud.dc.dao.PodVlanDaoImpl;
-import com.cloud.dc.dao.PodVlanMapDaoImpl;
-import com.cloud.domain.dao.DomainDaoImpl;
-import com.cloud.event.dao.UsageEventDao;
-import com.cloud.host.dao.HostDaoImpl;
-import com.cloud.host.dao.HostDetailsDaoImpl;
-import com.cloud.host.dao.HostTagsDaoImpl;
-import com.cloud.vpc.MockNetworkModelImpl;
-import com.cloud.network.StorageNetworkManager;
-import com.cloud.network.dao.IPAddressDaoImpl;
-import com.cloud.network.lb.LoadBalancingRulesManager;
-import com.cloud.network.rules.RulesManager;
-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.VpcDao;
-import com.cloud.network.vpc.dao.VpcGatewayDaoImpl;
-import com.cloud.network.vpc.dao.VpcOfferingDao;
-import com.cloud.utils.component.SpringComponentScanUtils;
-import com.cloud.vm.UserVmManager;
-import com.cloud.vm.dao.DomainRouterDaoImpl;
-import com.cloud.vm.dao.NicDaoImpl;
-import com.cloud.vm.dao.UserVmDaoImpl;
-import com.cloud.vm.dao.UserVmDetailsDaoImpl;
-import com.cloud.vm.dao.VMInstanceDaoImpl;
-import com.cloud.vpc.dao.MockNetworkOfferingDaoImpl;
-import com.cloud.vpc.dao.MockNetworkOfferingServiceMapDaoImpl;
-import com.cloud.vpc.dao.MockNetworkServiceMapDaoImpl;
-import com.cloud.vpc.dao.MockVpcOfferingDaoImpl;
-import com.cloud.vpc.dao.MockVpcOfferingServiceMapDaoImpl;
-
-
-import com.cloud.configuration.dao.ResourceCountDaoImpl;
-import com.cloud.dc.dao.VlanDaoImpl;
-import com.cloud.network.dao.FirewallRulesCidrsDaoImpl;
-import com.cloud.network.dao.FirewallRulesDaoImpl;
-import com.cloud.network.dao.LoadBalancerDaoImpl;
-import com.cloud.network.dao.NetworkDao;
-import com.cloud.network.dao.PhysicalNetworkDaoImpl;
-import com.cloud.network.dao.PhysicalNetworkTrafficTypeDaoImpl;
-import com.cloud.network.dao.RouterNetworkDaoImpl;
-import com.cloud.network.dao.Site2SiteVpnGatewayDaoImpl;
-import com.cloud.network.dao.VirtualRouterProviderDaoImpl;
-import com.cloud.network.element.NetworkElement;
-import com.cloud.network.element.Site2SiteVpnServiceProvider;
-import com.cloud.network.vpn.RemoteAccessVpnService;
-import com.cloud.network.vpn.Site2SiteVpnManager;
-import com.cloud.projects.dao.ProjectAccountDaoImpl;
-import com.cloud.projects.dao.ProjectDaoImpl;
-import com.cloud.resourcelimit.ResourceLimitManagerImpl;
-import com.cloud.storage.dao.SnapshotDaoImpl;
-import com.cloud.storage.dao.VMTemplateDaoImpl;
-import com.cloud.storage.dao.VMTemplateDetailsDaoImpl;
-import com.cloud.storage.dao.VMTemplateZoneDaoImpl;
-import com.cloud.storage.dao.VolumeDaoImpl;
-import com.cloud.tags.dao.ResourceTagsDaoImpl;
-import com.cloud.user.AccountManager;
-import com.cloud.user.dao.AccountDaoImpl;
-import com.cloud.user.dao.UserStatisticsDaoImpl;
-
-
-@Configuration
-@ComponentScan(basePackageClasses={VpcManagerImpl.class, NetworkElement.class,
-        VpcOfferingDao.class,
-        ConfigurationDaoImpl.class,
-        IPAddressDaoImpl.class,
-        DomainRouterDaoImpl.class,
-        VpcGatewayDaoImpl.class,
-        PrivateIpDaoImpl.class,
-        StaticRouteDaoImpl.class,
-        PhysicalNetworkDaoImpl.class,
-        ResourceTagsDaoImpl.class,
-        FirewallRulesDaoImpl.class,
-        VlanDaoImpl.class,
-        AccountDaoImpl.class,
-        ResourceCountDaoImpl.class,
-        Site2SiteVpnGatewayDaoImpl.class,
-        PodVlanMapDaoImpl.class,
-        AccountVlanMapDaoImpl.class,
-        HostDaoImpl.class,
-        HostDetailsDaoImpl.class,
-        HostTagsDaoImpl.class,
-        HostTransferMapDaoImpl.class,
-        ClusterDaoImpl.class,
-        HostPodDaoImpl.class,
-        RouterNetworkDaoImpl.class,
-        UserStatisticsDaoImpl.class,
-        PhysicalNetworkTrafficTypeDaoImpl.class,
-        FirewallRulesCidrsDaoImpl.class,
-        ResourceLimitManagerImpl.class,
-        ResourceLimitDaoImpl.class,
-        ResourceCountDaoImpl.class,
-        DomainDaoImpl.class,
-        UserVmDaoImpl.class,
-        UserVmDetailsDaoImpl.class,
-        NicDaoImpl.class,
-        SnapshotDaoImpl.class,
-        VMInstanceDaoImpl.class,
-        VolumeDaoImpl.class,
-        VMTemplateDaoImpl.class,VMTemplateZoneDaoImpl.class,VMTemplateDetailsDaoImpl.class,DataCenterDaoImpl.class,DataCenterIpAddressDaoImpl.class,DataCenterLinkLocalIpAddressDaoImpl.class,DataCenterVnetDaoImpl.class,PodVlanDaoImpl.class,
-        DcDetailsDaoImpl.class,MockNetworkManagerImpl.class,MockVpcVirtualNetworkApplianceManager.class,
-        EntityManagerImpl.class,LoadBalancerDaoImpl.class,FirewallRulesCidrsDaoImpl.class,VirtualRouterProviderDaoImpl.class,
-        ProjectDaoImpl.class,ProjectAccountDaoImpl.class,MockVpcOfferingDaoImpl.class,
-        MockConfigurationManagerImpl.class, MockNetworkOfferingServiceMapDaoImpl.class,
-        MockNetworkServiceMapDaoImpl.class,MockVpcOfferingServiceMapDaoImpl.class,MockNetworkOfferingDaoImpl.class, MockNetworkModelImpl.class},
-        includeFilters={@Filter(value=VpcTestConfiguration.VpcLibrary.class, type=FilterType.CUSTOM)},
-        useDefaultFilters=false
-        )
-public class VpcTestConfiguration {
-    
-    
-
-    @Bean
-    public RulesManager rulesManager() {
-        return Mockito.mock(RulesManager.class);
-    }
-
-    
-    @Bean
-    public StorageNetworkManager storageNetworkManager() {
-        return Mockito.mock(StorageNetworkManager.class);
-    }
-    
-    @Bean
-    public LoadBalancingRulesManager loadBalancingRulesManager() {
-        return Mockito.mock(LoadBalancingRulesManager.class);
-    }
-
-    
-    @Bean
-    public AlertManager alertManager() {
-        return Mockito.mock(AlertManager.class);
-    }
-    
-
-
-    @Bean
-    public UserVmManager userVmManager() {
-        return Mockito.mock(UserVmManager.class);
-    }
-
-
-    @Bean
-    public AccountManager accountManager() {
-        return Mockito.mock(AccountManager.class);
-    }
-
-    @Bean
-    public Site2SiteVpnServiceProvider site2SiteVpnServiceProvider() {
-        return Mockito.mock(Site2SiteVpnServiceProvider.class);
-    }
-
-    @Bean
-    public Site2SiteVpnManager site2SiteVpnManager() {
-        return Mockito.mock(Site2SiteVpnManager.class);
-    }
-
-    
-    @Bean
-    public UsageEventDao usageEventDao() {
-        return Mockito.mock(UsageEventDao.class);
-    }
-    
-    @Bean
-    public RemoteAccessVpnService remoteAccessVpnService() {
-        return Mockito.mock(RemoteAccessVpnService.class);
-    }
-    
-    @Bean
-    public VpcDao vpcDao() {
-        return Mockito.mock(VpcDao.class);
-    }
-
-    @Bean
-    public NetworkDao networkDao() {
-        return Mockito.mock(NetworkDao.class);
-    }
-    
-    public static class VpcLibrary implements TypeFilter {
-        @Override
-        public boolean match(MetadataReader mdr, MetadataReaderFactory arg1) throws IOException {
-            mdr.getClassMetadata().getClassName();
-            ComponentScan cs = VpcTestConfiguration.class.getAnnotation(ComponentScan.class);
-            return SpringComponentScanUtils.includedInBasePackageClasses(mdr.getClassMetadata().getClassName(), cs);
-        }
-    }
-}
+// 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
+// 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.vpc;
+
+import java.io.IOException;
+
+import org.mockito.Mockito;
+import org.springframework.context.annotation.Bean;
+import org.springframework.context.annotation.ComponentScan;
+import org.springframework.context.annotation.ComponentScan.Filter;
+import org.springframework.context.annotation.Configuration;
+import org.springframework.context.annotation.FilterType;
+import org.springframework.core.type.classreading.MetadataReader;
+import org.springframework.core.type.classreading.MetadataReaderFactory;
+import org.springframework.core.type.filter.TypeFilter;
+
+import com.cloud.alert.AlertManager;
+import com.cloud.cluster.agentlb.dao.HostTransferMapDaoImpl;
+import com.cloud.configuration.dao.ConfigurationDaoImpl;
+import com.cloud.configuration.dao.ResourceLimitDaoImpl;
+import com.cloud.dao.EntityManagerImpl;
+import com.cloud.dc.dao.AccountVlanMapDaoImpl;
+import com.cloud.dc.dao.ClusterDaoImpl;
+import com.cloud.dc.dao.DataCenterDaoImpl;
+import com.cloud.dc.dao.DataCenterIpAddressDaoImpl;
+import com.cloud.dc.dao.DataCenterLinkLocalIpAddressDaoImpl;
+import com.cloud.dc.dao.DataCenterVnetDaoImpl;
+import com.cloud.dc.dao.DcDetailsDaoImpl;
+import com.cloud.dc.dao.HostPodDaoImpl;
+import com.cloud.dc.dao.PodVlanDaoImpl;
+import com.cloud.dc.dao.PodVlanMapDaoImpl;
+import com.cloud.domain.dao.DomainDaoImpl;
+import com.cloud.event.dao.UsageEventDao;
+import com.cloud.host.dao.HostDaoImpl;
+import com.cloud.host.dao.HostDetailsDaoImpl;
+import com.cloud.host.dao.HostTagsDaoImpl;
+import com.cloud.vpc.MockNetworkModelImpl;
+import com.cloud.network.StorageNetworkManager;
+import com.cloud.network.dao.IPAddressDaoImpl;
+import com.cloud.network.lb.LoadBalancingRulesManager;
+import com.cloud.network.rules.RulesManager;
+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.VpcDao;
+import com.cloud.network.vpc.dao.VpcGatewayDaoImpl;
+import com.cloud.network.vpc.dao.VpcOfferingDao;
+import com.cloud.utils.component.SpringComponentScanUtils;
+import com.cloud.vm.UserVmManager;
+import com.cloud.vm.dao.DomainRouterDaoImpl;
+import com.cloud.vm.dao.NicDaoImpl;
+import com.cloud.vm.dao.UserVmDaoImpl;
+import com.cloud.vm.dao.UserVmDetailsDaoImpl;
+import com.cloud.vm.dao.VMInstanceDaoImpl;
+import com.cloud.vpc.dao.MockNetworkOfferingDaoImpl;
+import com.cloud.vpc.dao.MockNetworkOfferingServiceMapDaoImpl;
+import com.cloud.vpc.dao.MockNetworkServiceMapDaoImpl;
+import com.cloud.vpc.dao.MockVpcOfferingDaoImpl;
+import com.cloud.vpc.dao.MockVpcOfferingServiceMapDaoImpl;
+
+
+import com.cloud.configuration.dao.ResourceCountDaoImpl;
+import com.cloud.dc.dao.VlanDaoImpl;
+import com.cloud.network.dao.FirewallRulesCidrsDaoImpl;
+import com.cloud.network.dao.FirewallRulesDaoImpl;
+import com.cloud.network.dao.LoadBalancerDaoImpl;
+import com.cloud.network.dao.NetworkDao;
+import com.cloud.network.dao.PhysicalNetworkDaoImpl;
+import com.cloud.network.dao.PhysicalNetworkTrafficTypeDaoImpl;
+import com.cloud.network.dao.RouterNetworkDaoImpl;
+import com.cloud.network.dao.Site2SiteVpnGatewayDaoImpl;
+import com.cloud.network.dao.VirtualRouterProviderDaoImpl;
+import com.cloud.network.element.NetworkElement;
+import com.cloud.network.element.Site2SiteVpnServiceProvider;
+import com.cloud.network.vpn.RemoteAccessVpnService;
+import com.cloud.network.vpn.Site2SiteVpnManager;
+import com.cloud.projects.dao.ProjectAccountDaoImpl;
+import com.cloud.projects.dao.ProjectDaoImpl;
+import com.cloud.resourcelimit.ResourceLimitManagerImpl;
+import com.cloud.storage.dao.SnapshotDaoImpl;
+import com.cloud.storage.dao.VMTemplateDaoImpl;
+import com.cloud.storage.dao.VMTemplateDetailsDaoImpl;
+import com.cloud.storage.dao.VMTemplateZoneDaoImpl;
+import com.cloud.storage.dao.VolumeDaoImpl;
+import com.cloud.tags.dao.ResourceTagsDaoImpl;
+import com.cloud.user.AccountManager;
+import com.cloud.user.dao.AccountDaoImpl;
+import com.cloud.user.dao.UserStatisticsDaoImpl;
+
+
+@Configuration
+@ComponentScan(basePackageClasses={VpcManagerImpl.class, NetworkElement.class,
+        VpcOfferingDao.class,
+        ConfigurationDaoImpl.class,
+        IPAddressDaoImpl.class,
+        DomainRouterDaoImpl.class,
+        VpcGatewayDaoImpl.class,
+        PrivateIpDaoImpl.class,
+        StaticRouteDaoImpl.class,
+        PhysicalNetworkDaoImpl.class,
+        ResourceTagsDaoImpl.class,
+        FirewallRulesDaoImpl.class,
+        VlanDaoImpl.class,
+        AccountDaoImpl.class,
+        ResourceCountDaoImpl.class,
+        Site2SiteVpnGatewayDaoImpl.class,
+        PodVlanMapDaoImpl.class,
+        AccountVlanMapDaoImpl.class,
+        HostDaoImpl.class,
+        HostDetailsDaoImpl.class,
+        HostTagsDaoImpl.class,
+        HostTransferMapDaoImpl.class,
+        ClusterDaoImpl.class,
+        HostPodDaoImpl.class,
+        RouterNetworkDaoImpl.class,
+        UserStatisticsDaoImpl.class,
+        PhysicalNetworkTrafficTypeDaoImpl.class,
+        FirewallRulesCidrsDaoImpl.class,
+        ResourceLimitManagerImpl.class,
+        ResourceLimitDaoImpl.class,
+        ResourceCountDaoImpl.class,
+        DomainDaoImpl.class,
+        UserVmDaoImpl.class,
+        UserVmDetailsDaoImpl.class,
+        NicDaoImpl.class,
+        SnapshotDaoImpl.class,
+        VMInstanceDaoImpl.class,
+        VolumeDaoImpl.class,
+        VMTemplateDaoImpl.class,VMTemplateZoneDaoImpl.class,VMTemplateDetailsDaoImpl.class,DataCenterDaoImpl.class,DataCenterIpAddressDaoImpl.class,DataCenterLinkLocalIpAddressDaoImpl.class,DataCenterVnetDaoImpl.class,PodVlanDaoImpl.class,
+        DcDetailsDaoImpl.class,MockNetworkManagerImpl.class,MockVpcVirtualNetworkApplianceManager.class,
+        EntityManagerImpl.class,LoadBalancerDaoImpl.class,FirewallRulesCidrsDaoImpl.class,VirtualRouterProviderDaoImpl.class,
+        ProjectDaoImpl.class,ProjectAccountDaoImpl.class,MockVpcOfferingDaoImpl.class,
+        MockConfigurationManagerImpl.class, MockNetworkOfferingServiceMapDaoImpl.class,
+        MockNetworkServiceMapDaoImpl.class,MockVpcOfferingServiceMapDaoImpl.class,MockNetworkOfferingDaoImpl.class, MockNetworkModelImpl.class},
+        includeFilters={@Filter(value=VpcTestConfiguration.VpcLibrary.class, type=FilterType.CUSTOM)},
+        useDefaultFilters=false
+        )
+public class VpcTestConfiguration {
+
+
+
+    @Bean
+    public RulesManager rulesManager() {
+        return Mockito.mock(RulesManager.class);
+    }
+
+
+    @Bean
+    public StorageNetworkManager storageNetworkManager() {
+        return Mockito.mock(StorageNetworkManager.class);
+    }
+
+    @Bean
+    public LoadBalancingRulesManager loadBalancingRulesManager() {
+        return Mockito.mock(LoadBalancingRulesManager.class);
+    }
+
+
+    @Bean
+    public AlertManager alertManager() {
+        return Mockito.mock(AlertManager.class);
+    }
+
+
+
+    @Bean
+    public UserVmManager userVmManager() {
+        return Mockito.mock(UserVmManager.class);
+    }
+
+
+    @Bean
+    public AccountManager accountManager() {
+        return Mockito.mock(AccountManager.class);
+    }
+
+    @Bean
+    public Site2SiteVpnServiceProvider site2SiteVpnServiceProvider() {
+        return Mockito.mock(Site2SiteVpnServiceProvider.class);
+    }
+
+    @Bean
+    public Site2SiteVpnManager site2SiteVpnManager() {
+        return Mockito.mock(Site2SiteVpnManager.class);
+    }
+
+
+    @Bean
+    public UsageEventDao usageEventDao() {
+        return Mockito.mock(UsageEventDao.class);
+    }
+
+    @Bean
+    public RemoteAccessVpnService remoteAccessVpnService() {
+        return Mockito.mock(RemoteAccessVpnService.class);
+    }
+
+    @Bean
+    public VpcDao vpcDao() {
+        return Mockito.mock(VpcDao.class);
+    }
+
+    @Bean
+    public NetworkDao networkDao() {
+        return Mockito.mock(NetworkDao.class);
+    }
+
+    public static class VpcLibrary implements TypeFilter {
+        @Override
+        public boolean match(MetadataReader mdr, MetadataReaderFactory arg1) throws IOException {
+            mdr.getClassMetadata().getClassName();
+            ComponentScan cs = VpcTestConfiguration.class.getAnnotation(ComponentScan.class);
+            return SpringComponentScanUtils.includedInBasePackageClasses(mdr.getClassMetadata().getClassName(), cs);
+        }
+    }
+}

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/469c4dd1/utils/src/com/cloud/utils/component/SpringComponentScanUtils.java
----------------------------------------------------------------------
diff --git a/utils/src/com/cloud/utils/component/SpringComponentScanUtils.java b/utils/src/com/cloud/utils/component/SpringComponentScanUtils.java
index 9a85c79..28b84e6 100644
--- a/utils/src/com/cloud/utils/component/SpringComponentScanUtils.java
+++ b/utils/src/com/cloud/utils/component/SpringComponentScanUtils.java
@@ -1,41 +1,41 @@
-// 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
-// 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.utils.component;
-
-import org.springframework.context.annotation.ComponentScan;
-
-import com.cloud.utils.exception.CloudRuntimeException;
-
-public class SpringComponentScanUtils {
-
-    public static boolean includedInBasePackageClasses(String clazzName, ComponentScan cs) {
-        Class<?> clazzToCheck;
-        try {
-            clazzToCheck = Class.forName(clazzName);
-        } catch (ClassNotFoundException e) {
-            throw new CloudRuntimeException("Unable to find " + clazzName);
-        }
-        Class<?>[] clazzes = cs.basePackageClasses();
-        for (Class<?> clazz : clazzes) {
-            if (clazzToCheck.isAssignableFrom(clazz)) {
-                return true;
-            }
-        }
-        return false;
-    }
-}
+// 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
+// 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.utils.component;
+
+import org.springframework.context.annotation.ComponentScan;
+
+import com.cloud.utils.exception.CloudRuntimeException;
+
+public class SpringComponentScanUtils {
+
+    public static boolean includedInBasePackageClasses(String clazzName, ComponentScan cs) {
+        Class<?> clazzToCheck;
+        try {
+            clazzToCheck = Class.forName(clazzName);
+        } catch (ClassNotFoundException e) {
+            throw new CloudRuntimeException("Unable to find " + clazzName);
+        }
+        Class<?>[] clazzes = cs.basePackageClasses();
+        for (Class<?> clazz : clazzes) {
+            if (clazzToCheck.isAssignableFrom(clazz)) {
+                return true;
+            }
+        }
+        return false;
+    }
+}

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/469c4dd1/utils/src/com/cloud/utils/xmlobject/XmlObject.java
----------------------------------------------------------------------
diff --git a/utils/src/com/cloud/utils/xmlobject/XmlObject.java b/utils/src/com/cloud/utils/xmlobject/XmlObject.java
index 80ac13d..67bb8ed 100644
--- a/utils/src/com/cloud/utils/xmlobject/XmlObject.java
+++ b/utils/src/com/cloud/utils/xmlobject/XmlObject.java
@@ -14,183 +14,183 @@
 // KIND, either express or implied.  See the License for the
 // specific language governing permissions and limitations
 // under the License.
-package com.cloud.utils.xmlobject;
-
-import java.lang.reflect.Field;
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
-
-import com.cloud.utils.exception.CloudRuntimeException;
-
-import edu.emory.mathcs.backport.java.util.Collections;
-
-public class XmlObject {
-    private Map<String, Object> elements = new HashMap<String, Object>();
-    private String text;
-    private String tag;
-    
-    XmlObject() {
-    }
-    
-    public XmlObject(String tag) {
-        this.tag = tag;
-    }
-    
+package com.cloud.utils.xmlobject;
+
+import java.lang.reflect.Field;
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.HashMap;
+import java.util.Iterator;
+import java.util.List;
+import java.util.Map;
+
+import com.cloud.utils.exception.CloudRuntimeException;
+
+import edu.emory.mathcs.backport.java.util.Collections;
+
+public class XmlObject {
+    private Map<String, Object> elements = new HashMap<String, Object>();
+    private String text;
+    private String tag;
+
+    XmlObject() {
+    }
+
+    public XmlObject(String tag) {
+        this.tag = tag;
+    }
+
     public XmlObject putElement(String key, Object e) {
         if (e == null) {
             throw new IllegalArgumentException(String.format("element[%s] can not be null", key));
-        }
-        Object old = elements.get(key);
-        if (old == null) {
-            System.out.println(String.format("no %s, add new", key));
-            elements.put(key, e);
-        } else {
-            if (old instanceof List) {
-                System.out.println(String.format("already list %s, add", key));
-                ((List)old).add(e);
-            } else {
-                System.out.println(String.format("not list list %s, add list", key));
-                List lst = new ArrayList();
-                lst.add(old);
-                lst.add(e);
-                elements.put(key, lst);
-            }
-        }
-        
-        return this;
-    }
-    
-    private Object recurGet(XmlObject obj, Iterator<String> it) {
-        String key = it.next();
-        Object e = obj.elements.get(key);
-        if (e == null) {
-            return null;
-        }
-        
-        if (!it.hasNext()) {
-            return e;
-        } else {
-            if (!(e instanceof XmlObject)) {
-                throw new CloudRuntimeException(String.format("%s doesn't reference to a XmlObject", it.next()));
-            }
-            return recurGet((XmlObject) e, it);
-        }
-    }
-    
-    public <T> T get(String elementStr) {
-        String[] strs = elementStr.split("\\.");
-        List<String> lst = new ArrayList<String>(strs.length);
-        Collections.addAll(lst, strs);
-        return (T)recurGet(this, lst.iterator());
-    }
-    
-    public <T> List<T> getAsList(String elementStr) {
-        Object e = get(elementStr);
-        if (e instanceof List) {
-            return (List<T>)e;
-        }
-        List lst = new ArrayList(1);
-        lst.add(e);
-        return lst;
-    }
-    
-    public String getText() {
-        return text;
-    }
-
-    public XmlObject setText(String text) {
-        this.text = text;
-        return this;
-    }
-
-    public String getTag() {
-        return tag;
-    }
-
-    public XmlObject setTag(String tag) {
-        this.tag = tag;
-        return this;
-    }
-    
-    public String dump() {
-        StringBuilder sb = new StringBuilder();
-        sb.append("<").append(tag);
-        List<XmlObject> children = new ArrayList<XmlObject>();
-        for (Map.Entry<String, Object> e : elements.entrySet()) {
-            String key = e.getKey();
-            Object val = e.getValue();
-            if (val instanceof String)  {
-                sb.append(String.format(" %s=\"%s\"", key, val.toString()));
-            } else if (val instanceof XmlObject) {
-                children.add((XmlObject) val);
-            } else if (val instanceof List) {
-                children.addAll((Collection<? extends XmlObject>) val);
-            } else {
-                throw new CloudRuntimeException(String.format("unsupported element type[tag:%s, class: %s], only allowed type of [String, List<XmlObject>, Object]", key, val.getClass().getName()));
-            }
-        }
-        
-        if (!children.isEmpty() && text != null) {
-            throw new CloudRuntimeException(String.format("element %s cannot have both text[%s] and child elements", tag, text));
-        }
-        
-        if (!children.isEmpty()) {
-            sb.append(">");
-            for (XmlObject x : children) {
-                sb.append(x.dump());
-            }
-            sb.append(String.format("</%s>", tag));
-        } else {
-            if (text != null) {
-                sb.append(">");
-                sb.append(text);
-                sb.append(String.format("</%s>", tag));
-            } else {
-                sb.append(" />");
-            }
-        }
-        return sb.toString();
-    }
-    
-    @Override
-    public String toString() {
-        StringBuilder sb = new StringBuilder("<" + tag);
-        for (Map.Entry<String, Object> e : elements.entrySet()) {
-            String key = e.getKey();
-            Object value = e.getValue();
-            if (!(value instanceof String)) {
-                continue;
-            }
-            sb.append(String.format(" %s=\"%s\"", key, value.toString()));
-        }
-        
-        if (text == null || "".equals(text.trim())) {
-            sb.append(" />");
-        } else {
-            sb.append(">").append(text).append(String.format("</ %s>", tag));
-        }
-        return sb.toString();
-    }
-    
-    public <T> T evaluateObject(T obj) {
-        Class<?> clazz = obj.getClass();
-        try {
-            do {
-                Field[] fs = clazz.getDeclaredFields();
-                for (Field f : fs) {
-                    f.setAccessible(true);
-                    Object value = get(f.getName());
-                    f.set(obj, value);
-                }
-                clazz = clazz.getSuperclass();
-            } while (clazz != null && clazz != Object.class);
-            return obj;
-        } catch (Exception e) {
-            throw new CloudRuntimeException(e);
-        }
-    }
-}
+        }
+        Object old = elements.get(key);
+        if (old == null) {
+            System.out.println(String.format("no %s, add new", key));
+            elements.put(key, e);
+        } else {
+            if (old instanceof List) {
+                System.out.println(String.format("already list %s, add", key));
+                ((List)old).add(e);
+            } else {
+                System.out.println(String.format("not list list %s, add list", key));
+                List lst = new ArrayList();
+                lst.add(old);
+                lst.add(e);
+                elements.put(key, lst);
+            }
+        }
+
+        return this;
+    }
+
+    private Object recurGet(XmlObject obj, Iterator<String> it) {
+        String key = it.next();
+        Object e = obj.elements.get(key);
+        if (e == null) {
+            return null;
+        }
+
+        if (!it.hasNext()) {
+            return e;
+        } else {
+            if (!(e instanceof XmlObject)) {
+                throw new CloudRuntimeException(String.format("%s doesn't reference to a XmlObject", it.next()));
+            }
+            return recurGet((XmlObject) e, it);
+        }
+    }
+
+    public <T> T get(String elementStr) {
+        String[] strs = elementStr.split("\\.");
+        List<String> lst = new ArrayList<String>(strs.length);
+        Collections.addAll(lst, strs);
+        return (T)recurGet(this, lst.iterator());
+    }
+
+    public <T> List<T> getAsList(String elementStr) {
+        Object e = get(elementStr);
+        if (e instanceof List) {
+            return (List<T>)e;
+        }
+        List lst = new ArrayList(1);
+        lst.add(e);
+        return lst;
+    }
+
+    public String getText() {
+        return text;
+    }
+
+    public XmlObject setText(String text) {
+        this.text = text;
+        return this;
+    }
+
+    public String getTag() {
+        return tag;
+    }
+
+    public XmlObject setTag(String tag) {
+        this.tag = tag;
+        return this;
+    }
+
+    public String dump() {
+        StringBuilder sb = new StringBuilder();
+        sb.append("<").append(tag);
+        List<XmlObject> children = new ArrayList<XmlObject>();
+        for (Map.Entry<String, Object> e : elements.entrySet()) {
+            String key = e.getKey();
+            Object val = e.getValue();
+            if (val instanceof String)  {
+                sb.append(String.format(" %s=\"%s\"", key, val.toString()));
+            } else if (val instanceof XmlObject) {
+                children.add((XmlObject) val);
+            } else if (val instanceof List) {
+                children.addAll((Collection<? extends XmlObject>) val);
+            } else {
+                throw new CloudRuntimeException(String.format("unsupported element type[tag:%s, class: %s], only allowed type of [String, List<XmlObject>, Object]", key, val.getClass().getName()));
+            }
+        }
+
+        if (!children.isEmpty() && text != null) {
+            throw new CloudRuntimeException(String.format("element %s cannot have both text[%s] and child elements", tag, text));
+        }
+
+        if (!children.isEmpty()) {
+            sb.append(">");
+            for (XmlObject x : children) {
+                sb.append(x.dump());
+            }
+            sb.append(String.format("</%s>", tag));
+        } else {
+            if (text != null) {
+                sb.append(">");
+                sb.append(text);
+                sb.append(String.format("</%s>", tag));
+            } else {
+                sb.append(" />");
+            }
+        }
+        return sb.toString();
+    }
+
+    @Override
+    public String toString() {
+        StringBuilder sb = new StringBuilder("<" + tag);
+        for (Map.Entry<String, Object> e : elements.entrySet()) {
+            String key = e.getKey();
+            Object value = e.getValue();
+            if (!(value instanceof String)) {
+                continue;
+            }
+            sb.append(String.format(" %s=\"%s\"", key, value.toString()));
+        }
+
+        if (text == null || "".equals(text.trim())) {
+            sb.append(" />");
+        } else {
+            sb.append(">").append(text).append(String.format("</ %s>", tag));
+        }
+        return sb.toString();
+    }
+
+    public <T> T evaluateObject(T obj) {
+        Class<?> clazz = obj.getClass();
+        try {
+            do {
+                Field[] fs = clazz.getDeclaredFields();
+                for (Field f : fs) {
+                    f.setAccessible(true);
+                    Object value = get(f.getName());
+                    f.set(obj, value);
+                }
+                clazz = clazz.getSuperclass();
+            } while (clazz != null && clazz != Object.class);
+            return obj;
+        } catch (Exception e) {
+            throw new CloudRuntimeException(e);
+        }
+    }
+}