You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cloudstack.apache.org by bh...@apache.org on 2013/01/06 00:57:39 UTC

[5/5] git commit: CLOUDSTACK-212: Move api/test pkg to org.apache.cloudstack

Updated Branches:
  refs/heads/api_refactoring 5119785cf -> c5abc180a


CLOUDSTACK-212: Move api/test pkg to org.apache.cloudstack

Signed-off-by: Rohit Yadav <bh...@apache.org>


Project: http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/commit/c5abc180
Tree: http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/tree/c5abc180
Diff: http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/diff/c5abc180

Branch: refs/heads/api_refactoring
Commit: c5abc180ab55d521246d280e75ecd08e14f630a2
Parents: 73a0c3e
Author: Rohit Yadav <bh...@apache.org>
Authored: Sat Jan 5 15:53:59 2013 -0800
Committer: Rohit Yadav <bh...@apache.org>
Committed: Sat Jan 5 15:53:59 2013 -0800

----------------------------------------------------------------------
 .../api/agent/test/AgentControlAnswerTest.java     |   35 +
 .../api/agent/test/AgentControlCommandTest.java    |   33 +
 .../cloudstack/api/agent/test/AnswerTest.java      |   73 +++
 .../api/agent/test/AttachIsoCommandTest.java       |   80 +++
 .../api/agent/test/AttachVolumeAnswerTest.java     |   65 ++
 .../api/agent/test/AttachVolumeCommandTest.java    |  120 ++++
 .../api/agent/test/BackupSnapshotAnswerTest.java   |   75 +++
 .../api/agent/test/BackupSnapshotCommandTest.java  |  271 ++++++++
 .../api/agent/test/BumpUpPriorityCommandTest.java  |   83 +++
 .../api/agent/test/CancelCommandTest.java          |   46 ++
 .../api/agent/test/ChangeAgentAnswerTest.java      |   44 ++
 .../api/agent/test/ChangeAgentCommandTest.java     |   50 ++
 .../api/agent/test/CheckHealthAnswerTest.java      |   49 ++
 .../api/agent/test/CheckHealthCommandTest.java     |   40 ++
 .../api/agent/test/CheckNetworkAnswerTest.java     |   62 ++
 .../api/agent/test/CheckNetworkCommandTest.java    |   53 ++
 .../api/agent/test/CheckOnHostCommandTest.java     |  483 +++++++++++++++
 .../api/agent/test/SnapshotCommandTest.java        |  197 ++++++
 .../api/command/test/ActivateProjectCmdTest.java   |   87 +++
 .../command/test/AddAccountToProjectCmdTest.java   |  175 ++++++
 .../api/command/test/AddClusterCmdTest.java        |  120 ++++
 .../api/command/test/AddHostCmdTest.java           |  165 +++++
 .../test/AddNetworkServiceProviderCmdTest.java     |  122 ++++
 .../command/test/AddSecondaryStorageCmdTest.java   |  124 ++++
 .../api/command/test/AddSwiftCmdTest.java          |   97 +++
 .../api/command/test/AddVpnUserCmdTest.java        |  148 +++++
 .../agent/api/test/AgentControlAnswerTest.java     |   35 -
 .../agent/api/test/AgentControlCommandTest.java    |   33 -
 .../src/com/cloud/agent/api/test/AnswerTest.java   |   73 ---
 .../cloud/agent/api/test/AttachIsoCommandTest.java |   80 ---
 .../agent/api/test/AttachVolumeAnswerTest.java     |   65 --
 .../agent/api/test/AttachVolumeCommandTest.java    |  120 ----
 .../agent/api/test/BackupSnapshotAnswerTest.java   |   75 ---
 .../agent/api/test/BackupSnapshotCommandTest.java  |  271 --------
 .../agent/api/test/BumpUpPriorityCommandTest.java  |   83 ---
 .../cloud/agent/api/test/CancelCommandTest.java    |   46 --
 .../agent/api/test/ChangeAgentAnswerTest.java      |   44 --
 .../agent/api/test/ChangeAgentCommandTest.java     |   50 --
 .../agent/api/test/CheckHealthAnswerTest.java      |   49 --
 .../agent/api/test/CheckHealthCommandTest.java     |   40 --
 .../agent/api/test/CheckNetworkAnswerTest.java     |   62 --
 .../agent/api/test/CheckNetworkCommandTest.java    |   53 --
 .../agent/api/test/CheckOnHostCommandTest.java     |  483 ---------------
 .../cloud/agent/api/test/SnapshotCommandTest.java  |  197 ------
 .../api/commands/test/ActivateProjectCmdTest.java  |   87 ---
 .../commands/test/AddAccountToProjectCmdTest.java  |  175 ------
 .../cloud/api/commands/test/AddClusterCmdTest.java |  120 ----
 .../cloud/api/commands/test/AddHostCmdTest.java    |  165 -----
 .../test/AddNetworkServiceProviderCmdTest.java     |  122 ----
 .../commands/test/AddSecondaryStorageCmdTest.java  |  124 ----
 .../cloud/api/commands/test/AddSwiftCmdTest.java   |   97 ---
 .../cloud/api/commands/test/AddVpnUserCmdTest.java |  148 -----
 52 files changed, 2897 insertions(+), 2897 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/c5abc180/api/test/org/apache/cloudstack/api/agent/test/AgentControlAnswerTest.java
----------------------------------------------------------------------
diff --git a/api/test/org/apache/cloudstack/api/agent/test/AgentControlAnswerTest.java b/api/test/org/apache/cloudstack/api/agent/test/AgentControlAnswerTest.java
new file mode 100644
index 0000000..d0e8b4c
--- /dev/null
+++ b/api/test/org/apache/cloudstack/api/agent/test/AgentControlAnswerTest.java
@@ -0,0 +1,35 @@
+// 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 org.apache.cloudstack.api.agent.test;
+
+import static org.junit.Assert.assertFalse;
+
+import org.junit.Test;
+
+import com.cloud.agent.api.AgentControlAnswer;
+import com.cloud.agent.api.AgentControlCommand;
+
+public class AgentControlAnswerTest {
+    AgentControlCommand acc = new AgentControlCommand();
+    AgentControlAnswer aca = new AgentControlAnswer(acc);
+
+    @Test
+    public void testExecuteInSequence() {
+        boolean b = acc.executeInSequence();
+        assertFalse(b);
+    }
+}

http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/c5abc180/api/test/org/apache/cloudstack/api/agent/test/AgentControlCommandTest.java
----------------------------------------------------------------------
diff --git a/api/test/org/apache/cloudstack/api/agent/test/AgentControlCommandTest.java b/api/test/org/apache/cloudstack/api/agent/test/AgentControlCommandTest.java
new file mode 100644
index 0000000..24d0fe5
--- /dev/null
+++ b/api/test/org/apache/cloudstack/api/agent/test/AgentControlCommandTest.java
@@ -0,0 +1,33 @@
+// 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 org.apache.cloudstack.api.agent.test;
+
+import static org.junit.Assert.assertFalse;
+
+import org.junit.Test;
+
+import com.cloud.agent.api.AgentControlCommand;
+
+public class AgentControlCommandTest {
+    AgentControlCommand acc = new AgentControlCommand();
+
+    @Test
+    public void testExecuteInSequence() {
+        boolean b = acc.executeInSequence();
+        assertFalse(b);
+    }
+}

http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/c5abc180/api/test/org/apache/cloudstack/api/agent/test/AnswerTest.java
----------------------------------------------------------------------
diff --git a/api/test/org/apache/cloudstack/api/agent/test/AnswerTest.java b/api/test/org/apache/cloudstack/api/agent/test/AnswerTest.java
new file mode 100644
index 0000000..343a3ce
--- /dev/null
+++ b/api/test/org/apache/cloudstack/api/agent/test/AnswerTest.java
@@ -0,0 +1,73 @@
+// 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 org.apache.cloudstack.api.agent.test;
+
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertTrue;
+
+import org.junit.Test;
+
+import com.cloud.agent.api.AgentControlCommand;
+import com.cloud.agent.api.Answer;
+import com.cloud.agent.api.UnsupportedAnswer;
+
+public class AnswerTest {
+    AgentControlCommand acc = new AgentControlCommand();
+    Answer a = new Answer(acc, true, "details");
+
+    @Test
+    public void testExecuteInSequence() {
+        boolean b = a.executeInSequence();
+        assertFalse(b);
+    }
+
+    @Test
+    public void testGetResult() {
+        boolean b = a.getResult();
+        assertTrue(b);
+    }
+
+    @Test
+    public void testGetDetails() {
+        String d = a.getDetails();
+        assertTrue(d.equals("details"));
+    }
+
+    @Test
+    public void testCreateUnsupportedCommandAnswer() {
+        UnsupportedAnswer usa = Answer.createUnsupportedCommandAnswer(acc);
+        boolean b = usa.executeInSequence();
+        assertFalse(b);
+
+        b = usa.getResult();
+        assertFalse(b);
+
+        String d = usa.getDetails();
+        assertTrue(d.equals("Unsupported command issued:" + acc.toString()
+                + ".  Are you sure you got the right type of server?"));
+
+        usa = Answer.createUnsupportedVersionAnswer(acc);
+        b = usa.executeInSequence();
+        assertFalse(b);
+
+        b = usa.getResult();
+        assertFalse(b);
+
+        d = usa.getDetails();
+        assertTrue(d.equals("Unsuppored Version."));
+    }
+}

http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/c5abc180/api/test/org/apache/cloudstack/api/agent/test/AttachIsoCommandTest.java
----------------------------------------------------------------------
diff --git a/api/test/org/apache/cloudstack/api/agent/test/AttachIsoCommandTest.java b/api/test/org/apache/cloudstack/api/agent/test/AttachIsoCommandTest.java
new file mode 100644
index 0000000..d189d9c
--- /dev/null
+++ b/api/test/org/apache/cloudstack/api/agent/test/AttachIsoCommandTest.java
@@ -0,0 +1,80 @@
+// 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 org.apache.cloudstack.api.agent.test;
+
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertTrue;
+
+import org.junit.Test;
+
+import com.cloud.agent.api.AttachIsoCommand;
+
+public class AttachIsoCommandTest {
+    AttachIsoCommand aic = new AttachIsoCommand("vmname", "isopath", false);
+
+    @Test
+    public void testGetVmName() {
+        String vmName = aic.getVmName();
+        assertTrue(vmName.equals("vmname"));
+    }
+
+    @Test
+    public void testGetIsoPath() {
+        String isoPath = aic.getIsoPath();
+        assertTrue(isoPath.equals("isopath"));
+    }
+
+    @Test
+    public void testIsAttach() {
+        boolean b = aic.isAttach();
+        assertFalse(b);
+    }
+
+    @Test
+    public void testGetStoreUrl() {
+        aic.setStoreUrl("http://incubator.apache.org/cloudstack/");
+        String url = aic.getStoreUrl();
+        assertTrue(url.equals("http://incubator.apache.org/cloudstack/"));
+    }
+
+    @Test
+    public void testExecuteInSequence() {
+        boolean b = aic.executeInSequence();
+        assertTrue(b);
+    }
+
+    @Test
+    public void testAllowCaching() {
+        boolean b = aic.allowCaching();
+        assertTrue(b);
+    }
+
+    @Test
+    public void testGetWait() {
+        int b;
+        aic.setWait(5);
+        b = aic.getWait();
+        assertEquals(b, 5);
+        aic.setWait(-3);
+        b = aic.getWait();
+        assertEquals(b, -3);
+        aic.setWait(0);
+        b = aic.getWait();
+        assertEquals(b, 0);
+    }
+}

http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/c5abc180/api/test/org/apache/cloudstack/api/agent/test/AttachVolumeAnswerTest.java
----------------------------------------------------------------------
diff --git a/api/test/org/apache/cloudstack/api/agent/test/AttachVolumeAnswerTest.java b/api/test/org/apache/cloudstack/api/agent/test/AttachVolumeAnswerTest.java
new file mode 100644
index 0000000..251a6cb
--- /dev/null
+++ b/api/test/org/apache/cloudstack/api/agent/test/AttachVolumeAnswerTest.java
@@ -0,0 +1,65 @@
+// 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 org.apache.cloudstack.api.agent.test;
+
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertTrue;
+
+import org.junit.Test;
+
+import com.cloud.agent.api.AttachVolumeAnswer;
+import com.cloud.agent.api.AttachVolumeCommand;
+import com.cloud.storage.Storage.StoragePoolType;
+
+public class AttachVolumeAnswerTest {
+    AttachVolumeCommand avc = new AttachVolumeCommand(true, "vmname",
+            StoragePoolType.Filesystem, "vFolder", "vPath", "vName",
+            123456789L, "chainInfo");
+    AttachVolumeAnswer ava1 = new AttachVolumeAnswer(avc);
+    String results = "";
+    AttachVolumeAnswer ava2 = new AttachVolumeAnswer(avc, results);
+    Long deviceId = 10L;
+    AttachVolumeAnswer ava3 = new AttachVolumeAnswer(avc, deviceId);
+
+    @Test
+    public void testGetDeviceId() {
+        Long dId = ava1.getDeviceId();
+        assertTrue(dId == null);
+
+        dId = ava2.getDeviceId();
+        assertTrue(dId == null);
+
+        dId = ava3.getDeviceId();
+        Long expected = 10L;
+        assertEquals(expected, dId);
+    }
+
+    @Test
+    public void testGetChainInfo() {
+        ava1.setChainInfo("chainInfo");
+        String chainInfo = ava1.getChainInfo();
+        assertTrue(chainInfo.equals("chainInfo"));
+
+        ava2.setChainInfo("chainInfo");
+        chainInfo = ava2.getChainInfo();
+        assertTrue(chainInfo.equals("chainInfo"));
+
+        ava3.setChainInfo("chainInfo");
+        chainInfo = ava3.getChainInfo();
+        assertTrue(chainInfo.equals("chainInfo"));
+    }
+}

http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/c5abc180/api/test/org/apache/cloudstack/api/agent/test/AttachVolumeCommandTest.java
----------------------------------------------------------------------
diff --git a/api/test/org/apache/cloudstack/api/agent/test/AttachVolumeCommandTest.java b/api/test/org/apache/cloudstack/api/agent/test/AttachVolumeCommandTest.java
new file mode 100644
index 0000000..1ec416a
--- /dev/null
+++ b/api/test/org/apache/cloudstack/api/agent/test/AttachVolumeCommandTest.java
@@ -0,0 +1,120 @@
+// 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 org.apache.cloudstack.api.agent.test;
+
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertTrue;
+
+import org.junit.Test;
+
+import com.cloud.agent.api.AttachVolumeCommand;
+import com.cloud.storage.Storage.StoragePoolType;
+
+public class AttachVolumeCommandTest {
+    AttachVolumeCommand avc = new AttachVolumeCommand(true, "vmname",
+            StoragePoolType.Filesystem, "vFolder", "vPath", "vName",
+            123456789L, "chainInfo");
+
+    @Test
+    public void testExecuteInSequence() {
+        boolean b = avc.executeInSequence();
+        assertTrue(b);
+    }
+
+    @Test
+    public void testGetAttach() {
+        boolean b = avc.getAttach();
+        assertTrue(b);
+    }
+
+    @Test
+    public void testGetVmName() {
+        String vmName = avc.getVmName();
+        assertTrue(vmName.equals("vmname"));
+    }
+
+    @Test
+    public void testGetPooltype() {
+        StoragePoolType pt = avc.getPooltype();
+        assertTrue(pt.equals(StoragePoolType.Filesystem));
+
+        avc.setPooltype(StoragePoolType.NetworkFilesystem);
+        pt = avc.getPooltype();
+        assertTrue(pt.equals(StoragePoolType.NetworkFilesystem));
+
+        avc.setPooltype(StoragePoolType.IscsiLUN);
+        pt = avc.getPooltype();
+        assertTrue(pt.equals(StoragePoolType.IscsiLUN));
+
+        avc.setPooltype(StoragePoolType.Iscsi);
+        pt = avc.getPooltype();
+        assertTrue(pt.equals(StoragePoolType.Iscsi));
+    }
+
+    @Test
+    public void testGetVolumeFolder() {
+        String vFolder = avc.getVolumeFolder();
+        assertTrue(vFolder.equals("vFolder"));
+    }
+
+    @Test
+    public void testGetVolumePath() {
+        String vPath = avc.getVolumePath();
+        assertTrue(vPath.equals("vPath"));
+    }
+
+    @Test
+    public void testGetVolumeName() {
+        String vName = avc.getVolumeName();
+        assertTrue(vName.equals("vName"));
+    }
+
+    @Test
+    public void testGetDeviceId() {
+        Long dId = avc.getDeviceId();
+        Long expected = 123456789L;
+        assertEquals(expected, dId);
+
+        avc.setDeviceId(5L);
+        dId = avc.getDeviceId();
+        expected = 5L;
+        assertEquals(expected, dId);
+
+        avc.setDeviceId(0L);
+        dId = avc.getDeviceId();
+        expected = 0L;
+        assertEquals(expected, dId);
+
+        avc.setDeviceId(-5L);
+        dId = avc.getDeviceId();
+        expected = -5L;
+        assertEquals(expected, dId);
+    }
+
+    @Test
+    public void testGetPoolUuid() {
+        avc.setPoolUuid("420fa39c-4ef1-a83c-fd93-46dc1ff515ae");
+        String pUuid = avc.getPoolUuid();
+        assertTrue(pUuid.equals("420fa39c-4ef1-a83c-fd93-46dc1ff515ae"));
+    }
+
+    @Test
+    public void testGetWait() {
+        String cInfo = avc.getChainInfo();
+        assertTrue(cInfo.equals("chainInfo"));
+    }
+}

http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/c5abc180/api/test/org/apache/cloudstack/api/agent/test/BackupSnapshotAnswerTest.java
----------------------------------------------------------------------
diff --git a/api/test/org/apache/cloudstack/api/agent/test/BackupSnapshotAnswerTest.java b/api/test/org/apache/cloudstack/api/agent/test/BackupSnapshotAnswerTest.java
new file mode 100644
index 0000000..ede86e9
--- /dev/null
+++ b/api/test/org/apache/cloudstack/api/agent/test/BackupSnapshotAnswerTest.java
@@ -0,0 +1,75 @@
+// 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 org.apache.cloudstack.api.agent.test;
+
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertTrue;
+
+import org.junit.Before;
+import org.junit.Test;
+import org.mockito.Mockito;
+
+import com.cloud.agent.api.BackupSnapshotAnswer;
+import com.cloud.agent.api.BackupSnapshotCommand;
+import com.cloud.storage.StoragePool;
+
+public class BackupSnapshotAnswerTest {
+    private BackupSnapshotCommand bsc;
+    private BackupSnapshotAnswer bsa;
+
+    @Before
+    public void setUp() {
+
+        StoragePool pool = Mockito.mock(StoragePool.class);
+
+        bsc = new BackupSnapshotCommand(
+                "secondaryStoragePoolURL", 101L, 102L, 103L, 104L,
+                "volumePath", pool, "snapshotUuid", "snapshotName",
+                "prevSnapshotUuid", "prevBackupUuid", false, "vmName", 5);
+        bsa = new BackupSnapshotAnswer(bsc, true, "results", "bussname", false);
+    }
+
+    @Test
+    public void testExecuteInSequence() {
+        boolean b = bsa.executeInSequence();
+        assertFalse(b);
+    }
+
+    @Test
+    public void testIsFull() {
+        boolean b = bsa.isFull();
+        assertFalse(b);
+    }
+
+    @Test
+    public void testGetBackupSnapshotName() {
+        String name = bsa.getBackupSnapshotName();
+        assertTrue(name.equals("bussname"));
+    }
+
+    @Test
+    public void testGetResult() {
+        boolean b = bsa.getResult();
+        assertTrue(b);
+    }
+
+    @Test
+    public void testDetails() {
+        String details = bsa.getDetails();
+        assertTrue(details.equals("results"));
+    }
+}

http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/c5abc180/api/test/org/apache/cloudstack/api/agent/test/BackupSnapshotCommandTest.java
----------------------------------------------------------------------
diff --git a/api/test/org/apache/cloudstack/api/agent/test/BackupSnapshotCommandTest.java b/api/test/org/apache/cloudstack/api/agent/test/BackupSnapshotCommandTest.java
new file mode 100644
index 0000000..91573d0
--- /dev/null
+++ b/api/test/org/apache/cloudstack/api/agent/test/BackupSnapshotCommandTest.java
@@ -0,0 +1,271 @@
+// 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 org.apache.cloudstack.api.agent.test;
+
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertTrue;
+
+import java.text.ParseException;
+import java.text.SimpleDateFormat;
+import java.util.Date;
+
+import org.junit.Test;
+
+import com.cloud.agent.api.BackupSnapshotCommand;
+import com.cloud.agent.api.to.StorageFilerTO;
+import com.cloud.agent.api.to.SwiftTO;
+import com.cloud.storage.Storage.StoragePoolType;
+import com.cloud.storage.StoragePool;
+import com.cloud.storage.StoragePoolStatus;
+
+public class BackupSnapshotCommandTest {
+    public StoragePool pool = new StoragePool() {
+        public long getId() {
+            return 1L;
+        };
+
+        public String getName() {
+            return "name";
+        };
+
+        public String getUuid() {
+            return "bed9f83e-cac3-11e1-ac8a-0050568b007e";
+        };
+
+        public StoragePoolType getPoolType() {
+            return StoragePoolType.Filesystem;
+        };
+
+        public Date getCreated() {
+            Date date = null;
+            try {
+                date = new SimpleDateFormat("MM/dd/yyyy HH:mm:ss")
+                        .parse("01/01/1970 12:12:12");
+            } catch (ParseException e) {
+                e.printStackTrace();
+            }
+            return date;
+        }
+
+        public Date getUpdateTime() {
+            return new Date();
+        };
+
+        public long getDataCenterId() {
+            return 0L;
+        };
+
+        public long getCapacityBytes() {
+            return 0L;
+        };
+
+        public long getAvailableBytes() {
+            return 0L;
+        };
+
+        public Long getClusterId() {
+            return 0L;
+        };
+
+        public String getHostAddress() {
+            return "hostAddress";
+        };
+
+        public String getPath() {
+            return "path";
+        };
+
+        public String getUserInfo() {
+            return "userInfo";
+        };
+
+        public boolean isShared() {
+            return false;
+        };
+
+        public boolean isLocal() {
+            return false;
+        };
+
+        public StoragePoolStatus getStatus() {
+            return StoragePoolStatus.Up;
+        };
+
+        public int getPort() {
+            return 25;
+        };
+
+        public Long getPodId() {
+            return 0L;
+        };
+    };
+
+    BackupSnapshotCommand bsc = new BackupSnapshotCommand(
+            "http://secondary.Storage.Url",
+            101L, 102L, 103L, 104L, "vPath", pool,
+            "420fa39c-4ef1-a83c-fd93-46dc1ff515ae", "sName",
+            "9012793e-0657-11e2-bebc-0050568b0057",
+            "7167e0b2-f5b0-11e1-8414-0050568b0057", false, "vmName", 5);
+
+    BackupSnapshotCommand bsc1 = new BackupSnapshotCommand(
+            "http://secondary.Storage.Url",
+            101L, 102L, 103L, 104L, "vPath", pool,
+            "420fa39c-4ef1-a83c-fd93-46dc1ff515ae", "sName",
+            "9012793e-0657-11e2-bebc-0050568b0057",
+            "7167e0b2-f5b0-11e1-8414-0050568b0057", false, "vmName", 5);
+
+    @Test
+    public void testGetPrimaryStoragePoolNameLabel() {
+        String label = bsc.getPrimaryStoragePoolNameLabel();
+        assertTrue(label.equals("bed9f83e-cac3-11e1-ac8a-0050568b007e"));
+    }
+
+    @Test
+    public void testGetSecondaryStorageUrl() {
+        String url = bsc.getSecondaryStorageUrl();
+        assertTrue(url.equals("http://secondary.Storage.Url"));
+    }
+
+    @Test
+    public void testGetDataCenterId() {
+        Long dcId = bsc.getDataCenterId();
+        Long expected = 101L;
+        assertEquals(expected, dcId);
+    }
+
+    @Test
+    public void testGetAccountId() {
+        Long aId = bsc.getAccountId();
+        Long expected = 102L;
+        assertEquals(expected, aId);
+    }
+
+    @Test
+    public void testGetVolumeId() {
+        Long vId = bsc.getVolumeId();
+        Long expected = 103L;
+        assertEquals(expected, vId);
+    }
+
+    @Test
+    public void testGetSnapshotId() {
+        Long ssId = bsc.getSnapshotId();
+        Long expected = 104L;
+        assertEquals(expected, ssId);
+    }
+
+    @Test
+    public void testGetPool() {
+        StorageFilerTO pool = bsc.getPool();
+
+        Long id = pool.getId();
+        Long expectedL = 1L;
+        assertEquals(expectedL, id);
+
+        String uuid = pool.getUuid();
+        assertTrue(uuid.equals("bed9f83e-cac3-11e1-ac8a-0050568b007e"));
+
+        String host = pool.getHost();
+        assertTrue(host.equals("hostAddress"));
+
+        String path = pool.getPath();
+        assertTrue(path.equals("path"));
+
+        String userInfo = pool.getUserInfo();
+        assertTrue(userInfo.equals("userInfo"));
+
+        Integer port = pool.getPort();
+        Integer expectedI = 25;
+        assertEquals(expectedI, port);
+
+        StoragePoolType type = pool.getType();
+        assertEquals(StoragePoolType.Filesystem, type);
+
+        String str = pool.toString();
+        assertTrue(str.equals("Pool[" + id.toString() + "|" + host + ":"
+                + port.toString() + "|" + path + "]"));
+    }
+
+    @Test
+    public void testGetCreated() {
+        try {
+            Date date = new SimpleDateFormat("MM/dd/yyyy HH:mm:ss")
+                    .parse("01/01/1970 12:12:12");
+            Date d = pool.getCreated();
+            assertTrue(d.compareTo(date) == 0);
+        } catch (ParseException e) {
+            e.printStackTrace();
+        }
+    }
+
+    @Test
+    public void testGetSwift() {
+        SwiftTO s1 = new SwiftTO();
+        bsc.setSwift(s1);
+        SwiftTO s2 = bsc.getSwift();
+        assertEquals(s1, s2);
+    }
+
+    @Test
+    public void testGetSnapshotName() {
+        String ssName = bsc.getSnapshotName();
+        assertTrue(ssName.equals("sName"));
+    }
+
+    @Test
+    public void testGetSnapshotUuid() {
+        String uuid = bsc.getSnapshotUuid();
+        assertTrue(uuid.equals("420fa39c-4ef1-a83c-fd93-46dc1ff515ae"));
+    }
+
+    @Test
+    public void testGetPrevSnapshotUuid() {
+        String uuid = bsc.getPrevSnapshotUuid();
+        assertTrue(uuid.equals("9012793e-0657-11e2-bebc-0050568b0057"));
+    }
+
+    @Test
+    public void testGetPrevBackupUuid() {
+        String uuid = bsc.getPrevBackupUuid();
+        assertTrue(uuid.equals("7167e0b2-f5b0-11e1-8414-0050568b0057"));
+    }
+
+    @Test
+    public void testGetVolumePath() {
+        String path = bsc.getVolumePath();
+        assertTrue(path.equals("vPath"));
+
+        bsc.setVolumePath("vPath1");
+        path = bsc.getVolumePath();
+        assertTrue(path.equals("vPath1"));
+
+        bsc1.setVolumePath("vPath2");
+        path = bsc1.getVolumePath();
+        assertTrue(path.equals("vPath2"));
+    }
+
+    @Test
+    public void testExecuteInSequence() {
+        boolean b = bsc.executeInSequence();
+        assertFalse(b);
+
+        b = bsc1.executeInSequence();
+        assertFalse(b);
+    }
+
+}

http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/c5abc180/api/test/org/apache/cloudstack/api/agent/test/BumpUpPriorityCommandTest.java
----------------------------------------------------------------------
diff --git a/api/test/org/apache/cloudstack/api/agent/test/BumpUpPriorityCommandTest.java b/api/test/org/apache/cloudstack/api/agent/test/BumpUpPriorityCommandTest.java
new file mode 100644
index 0000000..f5f5985
--- /dev/null
+++ b/api/test/org/apache/cloudstack/api/agent/test/BumpUpPriorityCommandTest.java
@@ -0,0 +1,83 @@
+// 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 org.apache.cloudstack.api.agent.test;
+
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertTrue;
+
+import org.junit.Test;
+
+import com.cloud.agent.api.BumpUpPriorityCommand;
+import com.cloud.agent.api.routing.NetworkElementCommand;
+
+public class BumpUpPriorityCommandTest {
+
+    BumpUpPriorityCommand bupc = new BumpUpPriorityCommand();
+
+    // test super class
+    @Test
+    public void testSuperGetAccessDetail() {
+        String value;
+        bupc.setAccessDetail(NetworkElementCommand.ACCOUNT_ID, "accountID");
+        value = bupc.getAccessDetail(NetworkElementCommand.ACCOUNT_ID);
+        assertTrue(value.equals("accountID"));
+
+        bupc.setAccessDetail(NetworkElementCommand.GUEST_NETWORK_CIDR,
+                "GuestNetworkCIDR");
+        value = bupc.getAccessDetail(NetworkElementCommand.GUEST_NETWORK_CIDR);
+        assertTrue(value.equals("GuestNetworkCIDR"));
+
+        bupc.setAccessDetail(NetworkElementCommand.GUEST_NETWORK_GATEWAY,
+                "GuestNetworkGateway");
+        value = bupc
+                .getAccessDetail(NetworkElementCommand.GUEST_NETWORK_GATEWAY);
+        assertTrue(value.equals("GuestNetworkGateway"));
+
+        bupc.setAccessDetail(NetworkElementCommand.GUEST_VLAN_TAG,
+                "GuestVlanTag");
+        value = bupc.getAccessDetail(NetworkElementCommand.GUEST_VLAN_TAG);
+        assertTrue(value.equals("GuestVlanTag"));
+
+        bupc.setAccessDetail(NetworkElementCommand.ROUTER_NAME, "RouterName");
+        value = bupc.getAccessDetail(NetworkElementCommand.ROUTER_NAME);
+        assertTrue(value.equals("RouterName"));
+
+        bupc.setAccessDetail(NetworkElementCommand.ROUTER_IP, "RouterIP");
+        value = bupc.getAccessDetail(NetworkElementCommand.ROUTER_IP);
+        assertTrue(value.equals("RouterIP"));
+
+        bupc.setAccessDetail(NetworkElementCommand.ROUTER_GUEST_IP,
+                "RouterGuestIP");
+        value = bupc.getAccessDetail(NetworkElementCommand.ROUTER_GUEST_IP);
+        assertTrue(value.equals("RouterGuestIP"));
+
+        bupc.setAccessDetail(NetworkElementCommand.ZONE_NETWORK_TYPE,
+                "ZoneNetworkType");
+        value = bupc.getAccessDetail(NetworkElementCommand.ZONE_NETWORK_TYPE);
+        assertTrue(value.equals("ZoneNetworkType"));
+
+        bupc.setAccessDetail(NetworkElementCommand.GUEST_BRIDGE, "GuestBridge");
+        value = bupc.getAccessDetail(NetworkElementCommand.GUEST_BRIDGE);
+        assertTrue(value.equals("GuestBridge"));
+    }
+
+    @Test
+    public void testExecuteInSequence() {
+        boolean b = bupc.executeInSequence();
+        assertFalse(b);
+    }
+}

http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/c5abc180/api/test/org/apache/cloudstack/api/agent/test/CancelCommandTest.java
----------------------------------------------------------------------
diff --git a/api/test/org/apache/cloudstack/api/agent/test/CancelCommandTest.java b/api/test/org/apache/cloudstack/api/agent/test/CancelCommandTest.java
new file mode 100644
index 0000000..19827fd
--- /dev/null
+++ b/api/test/org/apache/cloudstack/api/agent/test/CancelCommandTest.java
@@ -0,0 +1,46 @@
+// 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 org.apache.cloudstack.api.agent.test;
+
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertTrue;
+
+import org.junit.Test;
+
+import com.cloud.agent.api.CancelCommand;
+
+public class CancelCommandTest {
+    CancelCommand cc = new CancelCommand(123456789L, "goodreason");
+
+    @Test
+    public void testGetSequence() {
+        Long s = cc.getSequence();
+        assertTrue(123456789L == s);
+    }
+
+    @Test
+    public void testGetReason() {
+        String r = cc.getReason();
+        assertTrue(r.equals("goodreason"));
+    }
+
+    @Test
+    public void testExecuteInSequence() {
+        boolean b = cc.executeInSequence();
+        assertFalse(b);
+    }
+}

http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/c5abc180/api/test/org/apache/cloudstack/api/agent/test/ChangeAgentAnswerTest.java
----------------------------------------------------------------------
diff --git a/api/test/org/apache/cloudstack/api/agent/test/ChangeAgentAnswerTest.java b/api/test/org/apache/cloudstack/api/agent/test/ChangeAgentAnswerTest.java
new file mode 100644
index 0000000..8933e6e
--- /dev/null
+++ b/api/test/org/apache/cloudstack/api/agent/test/ChangeAgentAnswerTest.java
@@ -0,0 +1,44 @@
+// 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 org.apache.cloudstack.api.agent.test;
+
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertTrue;
+
+import org.junit.Test;
+
+import com.cloud.agent.api.ChangeAgentAnswer;
+import com.cloud.agent.api.ChangeAgentCommand;
+import com.cloud.host.Status.Event;
+
+public class ChangeAgentAnswerTest {
+    ChangeAgentCommand cac = new ChangeAgentCommand(123456789L,
+            Event.AgentConnected);
+    ChangeAgentAnswer caa = new ChangeAgentAnswer(cac, true);
+
+    @Test
+    public void testGetResult() {
+        boolean b = caa.getResult();
+        assertTrue(b);
+    }
+
+    @Test
+    public void testExecuteInSequence() {
+        boolean b = caa.executeInSequence();
+        assertFalse(b);
+    }
+}

http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/c5abc180/api/test/org/apache/cloudstack/api/agent/test/ChangeAgentCommandTest.java
----------------------------------------------------------------------
diff --git a/api/test/org/apache/cloudstack/api/agent/test/ChangeAgentCommandTest.java b/api/test/org/apache/cloudstack/api/agent/test/ChangeAgentCommandTest.java
new file mode 100644
index 0000000..d0c2bf8
--- /dev/null
+++ b/api/test/org/apache/cloudstack/api/agent/test/ChangeAgentCommandTest.java
@@ -0,0 +1,50 @@
+// 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 org.apache.cloudstack.api.agent.test;
+
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertTrue;
+
+import org.junit.Test;
+
+import com.cloud.agent.api.ChangeAgentCommand;
+import com.cloud.host.Status.Event;
+
+public class ChangeAgentCommandTest {
+
+    ChangeAgentCommand cac = new ChangeAgentCommand(123456789L,
+            Event.AgentConnected);
+
+    @Test
+    public void testGetAgentId() {
+        Long aid = cac.getAgentId();
+        assertTrue(123456789L == aid);
+    }
+
+    @Test
+    public void testGetEvent() {
+        Event e = cac.getEvent();
+        assertEquals(Event.AgentConnected, e);
+    }
+
+    @Test
+    public void testExecuteInSequence() {
+        boolean b = cac.executeInSequence();
+        assertFalse(b);
+    }
+}

http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/c5abc180/api/test/org/apache/cloudstack/api/agent/test/CheckHealthAnswerTest.java
----------------------------------------------------------------------
diff --git a/api/test/org/apache/cloudstack/api/agent/test/CheckHealthAnswerTest.java b/api/test/org/apache/cloudstack/api/agent/test/CheckHealthAnswerTest.java
new file mode 100644
index 0000000..6fa94f9
--- /dev/null
+++ b/api/test/org/apache/cloudstack/api/agent/test/CheckHealthAnswerTest.java
@@ -0,0 +1,49 @@
+// 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 org.apache.cloudstack.api.agent.test;
+
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertTrue;
+
+import org.junit.Test;
+
+import com.cloud.agent.api.CheckHealthAnswer;
+import com.cloud.agent.api.CheckHealthCommand;
+
+public class CheckHealthAnswerTest {
+    CheckHealthCommand chc = new CheckHealthCommand();
+    CheckHealthAnswer cha = new CheckHealthAnswer(chc, true);
+
+    @Test
+    public void testGetResult() {
+        boolean r = cha.getResult();
+        assertTrue(r);
+    }
+
+    @Test
+    public void testGetDetails() {
+        String d = cha.getDetails();
+        boolean r = cha.getResult();
+        assertTrue(d.equals("resource is " + (r ? "alive" : "not alive")));
+    }
+
+    @Test
+    public void testExecuteInSequence() {
+        boolean b = cha.executeInSequence();
+        assertFalse(b);
+    }
+}

http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/c5abc180/api/test/org/apache/cloudstack/api/agent/test/CheckHealthCommandTest.java
----------------------------------------------------------------------
diff --git a/api/test/org/apache/cloudstack/api/agent/test/CheckHealthCommandTest.java b/api/test/org/apache/cloudstack/api/agent/test/CheckHealthCommandTest.java
new file mode 100644
index 0000000..1b565a5
--- /dev/null
+++ b/api/test/org/apache/cloudstack/api/agent/test/CheckHealthCommandTest.java
@@ -0,0 +1,40 @@
+// 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 org.apache.cloudstack.api.agent.test;
+
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertTrue;
+
+import org.junit.Test;
+
+import com.cloud.agent.api.CheckHealthCommand;
+
+public class CheckHealthCommandTest {
+    CheckHealthCommand chc = new CheckHealthCommand();
+
+    @Test
+    public void testGetWait() {
+        int wait = chc.getWait();
+        assertTrue(wait == 50);
+    }
+
+    @Test
+    public void testExecuteInSequence() {
+        boolean b = chc.executeInSequence();
+        assertFalse(b);
+    }
+}

http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/c5abc180/api/test/org/apache/cloudstack/api/agent/test/CheckNetworkAnswerTest.java
----------------------------------------------------------------------
diff --git a/api/test/org/apache/cloudstack/api/agent/test/CheckNetworkAnswerTest.java b/api/test/org/apache/cloudstack/api/agent/test/CheckNetworkAnswerTest.java
new file mode 100644
index 0000000..1853d39
--- /dev/null
+++ b/api/test/org/apache/cloudstack/api/agent/test/CheckNetworkAnswerTest.java
@@ -0,0 +1,62 @@
+// 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 org.apache.cloudstack.api.agent.test;
+
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertTrue;
+
+import org.junit.Before;
+import org.junit.Test;
+import org.mockito.Mockito;
+
+import com.cloud.agent.api.CheckNetworkAnswer;
+import com.cloud.agent.api.CheckNetworkCommand;
+
+public class CheckNetworkAnswerTest {
+    CheckNetworkCommand cnc;
+    CheckNetworkAnswer cna;
+
+    @Before
+    public void setUp() {
+        cnc = Mockito.mock(CheckNetworkCommand.class);
+        cna = new CheckNetworkAnswer(cnc, true, "details", true);
+    }
+
+    @Test
+    public void testGetResult() {
+        boolean b = cna.getResult();
+        assertTrue(b);
+    }
+
+    @Test
+    public void testGetDetails() {
+        String d = cna.getDetails();
+        assertTrue(d.equals("details"));
+    }
+
+    @Test
+    public void testNeedReconnect() {
+        boolean b = cna.needReconnect();
+        assertTrue(b);
+    }
+
+    @Test
+    public void testExecuteInSequence() {
+        boolean b = cna.executeInSequence();
+        assertFalse(b);
+    }
+}

http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/c5abc180/api/test/org/apache/cloudstack/api/agent/test/CheckNetworkCommandTest.java
----------------------------------------------------------------------
diff --git a/api/test/org/apache/cloudstack/api/agent/test/CheckNetworkCommandTest.java b/api/test/org/apache/cloudstack/api/agent/test/CheckNetworkCommandTest.java
new file mode 100644
index 0000000..0b87b58
--- /dev/null
+++ b/api/test/org/apache/cloudstack/api/agent/test/CheckNetworkCommandTest.java
@@ -0,0 +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
+// 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 org.apache.cloudstack.api.agent.test;
+
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertTrue;
+
+import java.util.List;
+
+import org.junit.Before;
+import org.junit.Test;
+import org.mockito.Mockito;
+
+import com.cloud.agent.api.CheckNetworkCommand;
+import com.cloud.network.PhysicalNetworkSetupInfo;
+
+public class CheckNetworkCommandTest {
+    CheckNetworkCommand cnc;
+
+    @Before
+    public void setUp() {
+        @SuppressWarnings("unchecked")
+        List<PhysicalNetworkSetupInfo> net = Mockito.mock(List.class);
+        cnc = new CheckNetworkCommand(net);
+    }
+
+    @Test
+    public void testGetPhysicalNetworkInfoList() {
+        List<PhysicalNetworkSetupInfo> networkInfoList = cnc
+                .getPhysicalNetworkInfoList();
+        assertEquals(0, networkInfoList.size());
+    }
+
+    @Test
+    public void testExecuteInSequence() {
+        boolean b = cnc.executeInSequence();
+        assertTrue(b);
+    }
+}

http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/c5abc180/api/test/org/apache/cloudstack/api/agent/test/CheckOnHostCommandTest.java
----------------------------------------------------------------------
diff --git a/api/test/org/apache/cloudstack/api/agent/test/CheckOnHostCommandTest.java b/api/test/org/apache/cloudstack/api/agent/test/CheckOnHostCommandTest.java
new file mode 100644
index 0000000..1b68276
--- /dev/null
+++ b/api/test/org/apache/cloudstack/api/agent/test/CheckOnHostCommandTest.java
@@ -0,0 +1,483 @@
+// 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 org.apache.cloudstack.api.agent.test;
+
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertTrue;
+
+import java.text.ParseException;
+import java.text.SimpleDateFormat;
+import java.util.Date;
+
+import org.junit.Test;
+
+import com.cloud.agent.api.CheckOnHostCommand;
+import com.cloud.agent.api.to.HostTO;
+import com.cloud.host.Host;
+import com.cloud.host.Status;
+import com.cloud.hypervisor.Hypervisor.HypervisorType;
+import com.cloud.resource.ResourceState;
+
+public class CheckOnHostCommandTest {
+    public Host host = new Host() {
+        public Status getState() {
+            return Status.Up;
+        };
+
+        public long getId() {
+            return 101L;
+        };
+
+
+        @Override
+        public String getUuid() {
+            return "101";
+        }
+
+        public String getName() {
+            return "hostName";
+        };
+
+        public Type getType() {
+            return Host.Type.Storage;
+        };
+
+        public Date getCreated() {
+            Date date = null;
+            try {
+                date = new SimpleDateFormat("MM/dd/yyyy HH:mm:ss")
+                        .parse("01/01/1970 12:12:12");
+            } catch (ParseException e) {
+                e.printStackTrace();
+            }
+            return date;
+        }
+
+        public Status getStatus() {
+            return Status.Up;
+        };
+
+        public String getPrivateIpAddress() {
+            return "10.1.1.1";
+        };
+
+        public String getStorageIpAddress() {
+            return "10.1.1.2";
+        };
+
+        public String getGuid() {
+            return "bed9f83e-cac3-11e1-ac8a-0050568b007e";
+        };
+
+        public Long getTotalMemory() {
+            return 100000000000L;
+        };
+
+        public Integer getCpus() {
+            return 16;
+        };
+
+        public Long getSpeed() {
+            return 2000000000L;
+        };
+
+        public Integer getProxyPort() {
+            return 22;
+        };
+
+        public Long getPodId() {
+            return 16L;
+        };
+
+        public long getDataCenterId() {
+            return 17L;
+        };
+
+        public String getParent() {
+            return "parent";
+        };
+
+        public String getStorageIpAddressDeux() {
+            return "10.1.1.3";
+        };
+
+        public HypervisorType getHypervisorType() {
+            return HypervisorType.XenServer;
+        };
+
+        public Date getDisconnectedOn() {
+            Date date = null;
+            try {
+                date = new SimpleDateFormat("MM/dd/yyyy HH:mm:ss")
+                        .parse("01/01/2012 12:12:12");
+            } catch (ParseException e) {
+                e.printStackTrace();
+            }
+            return date;
+        }
+
+        public String getVersion() {
+            return "4.0.1";
+        };
+
+        public long getTotalSize() {
+            return 100000000000L;
+        };
+
+        public String getCapabilities() {
+            return "capabilities";
+        };
+
+        public long getLastPinged() {
+            return 1L;
+        };
+
+        public Long getManagementServerId() {
+            return 2L;
+        };
+
+        public Date getRemoved() {
+            Date date = null;
+            try {
+                date = new SimpleDateFormat("MM/dd/yyyy HH:mm:ss")
+                        .parse("02/01/2012 12:12:12");
+            } catch (ParseException e) {
+                e.printStackTrace();
+            }
+            return date;
+        };
+
+        public Long getClusterId() {
+            return 3L;
+        };
+
+        public String getPublicIpAddress() {
+            return "10.1.1.4";
+        };
+
+        public String getPublicNetmask() {
+            return "255.255.255.8";
+        };
+
+        public String getPrivateNetmask() {
+            return "255.255.255.16";
+        };
+
+        public String getStorageNetmask() {
+            return "255.255.255.24";
+        };
+
+        public String getStorageMacAddress() {
+            return "01:f4:17:38:0e:26";
+        };
+
+        public String getPublicMacAddress() {
+            return "02:f4:17:38:0e:26";
+        };
+
+        public String getPrivateMacAddress() {
+            return "03:f4:17:38:0e:26";
+        };
+
+        public String getStorageNetmaskDeux() {
+            return "255.255.255.25";
+        };
+
+        public String getStorageMacAddressDeux() {
+            return "01:f4:17:38:0e:27";
+        };
+
+        public String getHypervisorVersion() {
+            return "1.2.3.0";
+        };
+
+        public boolean isInMaintenanceStates() {
+            return false;
+        };
+
+        public ResourceState getResourceState() {
+            return ResourceState.Enabled;
+        };
+    };
+
+    CheckOnHostCommand cohc = new CheckOnHostCommand(host);
+
+    @Test
+    public void testGetHost() {
+        HostTO h = cohc.getHost();
+        assertNotNull(h);
+    }
+
+    @Test
+    public void testGetState() {
+        Status s = host.getState();
+        assertTrue(s == Status.Up);
+    }
+
+    @Test
+    public void testGetId() {
+        Long id = host.getId();
+        assertTrue(101L == id);
+    }
+
+    @Test
+    public void testGetName() {
+        String name = host.getName();
+        assertTrue(name.equals("hostName"));
+    }
+
+    @Test
+    public void testGetType() {
+        Host.Type t = host.getType();
+        assertTrue(t == Host.Type.Storage);
+    }
+
+    @Test
+    public void testGetCreated() {
+        try {
+            Date date = new SimpleDateFormat("MM/dd/yyyy HH:mm:ss")
+                    .parse("01/01/1970 12:12:12");
+            Date d = host.getCreated();
+            assertTrue(d.compareTo(date) == 0);
+        } catch (ParseException e) {
+            e.printStackTrace();
+        }
+    }
+
+    @Test
+    public void testGetStatus() {
+        Status s = host.getStatus();
+        assertTrue(s == Status.Up);
+    }
+
+    @Test
+    public void testGetPrivateIpAddress() {
+        String addr = host.getPrivateIpAddress();
+        assertTrue(addr.equals("10.1.1.1"));
+    }
+
+    @Test
+    public void testGetStorageIpAddress() {
+        String addr = host.getStorageIpAddress();
+        assertTrue(addr.equals("10.1.1.2"));
+    }
+
+    @Test
+    public void testGetGuid() {
+        String guid = host.getGuid();
+        assertTrue(guid.equals("bed9f83e-cac3-11e1-ac8a-0050568b007e"));
+    }
+
+    @Test
+    public void testGetTotalMemory() {
+        Long m = host.getTotalMemory();
+        assertTrue(m == 100000000000L);
+    }
+
+    @Test
+    public void testGetCpus() {
+        int cpus = host.getCpus();
+        assertTrue(cpus == 16);
+    }
+
+    @Test
+    public void testGetSpeed() {
+        Long spped = host.getSpeed();
+        assertTrue(spped == 2000000000L);
+    }
+
+    @Test
+    public void testGetProxyPort() {
+        Integer port = host.getProxyPort();
+        assertTrue(port == 22);
+    }
+
+    @Test
+    public void testGetPodId() {
+        Long pID = host.getPodId();
+        assertTrue(pID == 16L);
+    }
+
+    @Test
+    public void testGetDataCenterId() {
+        long dcID = host.getDataCenterId();
+        assertTrue(dcID == 17L);
+    }
+
+    @Test
+    public void testGetParent() {
+        String p = host.getParent();
+        assertTrue(p.equals("parent"));
+    }
+
+    @Test
+    public void testGetStorageIpAddressDeux() {
+        String addr = host.getStorageIpAddressDeux();
+        assertTrue(addr.equals("10.1.1.3"));
+    }
+
+    @Test
+    public void testGetHypervisorType() {
+        HypervisorType type = host.getHypervisorType();
+        assertTrue(type == HypervisorType.XenServer);
+    }
+
+    @Test
+    public void testGetDisconnectedOn() {
+        try {
+            Date date = new SimpleDateFormat("MM/dd/yyyy HH:mm:ss")
+                    .parse("01/01/2012 12:12:12");
+            Date d = host.getDisconnectedOn();
+            assertTrue(d.compareTo(date) == 0);
+        } catch (ParseException e) {
+            e.printStackTrace();
+        }
+    }
+
+    @Test
+    public void testGetVersion() {
+        String v = host.getVersion();
+        assertTrue(v.equals("4.0.1"));
+    }
+
+    @Test
+    public void testGetTotalSize() {
+        long size = host.getTotalSize();
+        assertTrue(size == 100000000000L);
+    }
+
+    @Test
+    public void testGetCapabilities() {
+        String c = host.getCapabilities();
+        assertTrue(c.equals("capabilities"));
+    }
+
+    @Test
+    public void testGetLastPinged() {
+        long lp = host.getLastPinged();
+        assertTrue(lp == 1L);
+    }
+
+    @Test
+    public void testGetManagementServerId() {
+        Long msID = host.getManagementServerId();
+        assertTrue(msID == 2L);
+    }
+
+    @Test
+    public void testGetRemoved() {
+        try {
+            Date date = new SimpleDateFormat("MM/dd/yyyy HH:mm:ss")
+                    .parse("02/01/2012 12:12:12");
+            Date d = host.getRemoved();
+            assertTrue(d.compareTo(date) == 0);
+        } catch (ParseException e) {
+            e.printStackTrace();
+        }
+    }
+
+    @Test
+    public void testGetClusterId() {
+        Long cID = host.getClusterId();
+        assertTrue(cID == 3L);
+    }
+
+    @Test
+    public void testGetPublicIpAddress() {
+        String pipAddr = host.getPublicIpAddress();
+        assertTrue(pipAddr.equals("10.1.1.4"));
+    }
+
+    @Test
+    public void testGetPublicNetmask() {
+        String pMask = host.getPublicNetmask();
+        assertTrue(pMask.equals("255.255.255.8"));
+    }
+
+    @Test
+    public void testGetPrivateNetmask() {
+        String pMask = host.getPrivateNetmask();
+        assertTrue(pMask.equals("255.255.255.16"));
+    }
+
+    @Test
+    public void testGetStorageNetmask() {
+        String sMask = host.getStorageNetmask();
+        assertTrue(sMask.equals("255.255.255.24"));
+    }
+
+    @Test
+    public void testGetStorageMacAddress() {
+        String sMac = host.getStorageMacAddress();
+        assertTrue(sMac.equals("01:f4:17:38:0e:26"));
+    }
+
+    @Test
+    public void testGetPublicMacAddress() {
+        String pMac = host.getPublicMacAddress();
+        assertTrue(pMac.equals("02:f4:17:38:0e:26"));
+    }
+
+    @Test
+    public void testGetPrivateMacAddress() {
+        String pMac = host.getPrivateMacAddress();
+        assertTrue(pMac.equals("03:f4:17:38:0e:26"));
+    }
+
+    @Test
+    public void testGetStorageNetmaskDeux() {
+        String sMask = host.getStorageNetmaskDeux();
+        assertTrue(sMask.equals("255.255.255.25"));
+    }
+
+    @Test
+    public void testGetStorageMacAddressDeux() {
+        String sMac = host.getStorageMacAddressDeux();
+        assertTrue(sMac.equals("01:f4:17:38:0e:27"));
+    }
+
+    @Test
+    public void testGetHypervisorVersion() {
+        String v = host.getHypervisorVersion();
+        assertTrue(v.equals("1.2.3.0"));
+    }
+
+    @Test
+    public void testIsInMaintenanceStates() {
+        boolean b = host.isInMaintenanceStates();
+        assertFalse(b);
+    }
+
+    @Test
+    public void testGetResourceState() {
+        ResourceState r = host.getResourceState();
+        assertTrue(r == ResourceState.Enabled);
+    }
+
+    @Test
+    public void testGetWait() {
+        int wait = cohc.getWait();
+        assertTrue(20 == wait);
+    }
+
+    @Test
+    public void testExecuteInSequence() {
+        boolean b = cohc.executeInSequence();
+        assertFalse(b);
+    }
+}

http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/c5abc180/api/test/org/apache/cloudstack/api/agent/test/SnapshotCommandTest.java
----------------------------------------------------------------------
diff --git a/api/test/org/apache/cloudstack/api/agent/test/SnapshotCommandTest.java b/api/test/org/apache/cloudstack/api/agent/test/SnapshotCommandTest.java
new file mode 100644
index 0000000..a735913
--- /dev/null
+++ b/api/test/org/apache/cloudstack/api/agent/test/SnapshotCommandTest.java
@@ -0,0 +1,197 @@
+// 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 org.apache.cloudstack.api.agent.test;
+
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertTrue;
+
+import org.junit.Before;
+import org.junit.Test;
+
+import java.text.ParseException;
+import java.text.SimpleDateFormat;
+import java.util.Date;
+
+import com.cloud.agent.api.SnapshotCommand;
+import com.cloud.storage.Storage.StoragePoolType;
+import com.cloud.storage.StoragePool;
+import com.cloud.storage.StoragePoolStatus;
+
+public class SnapshotCommandTest {
+
+    public StoragePool pool = new StoragePool() {
+        public long getId() {
+            return 1L;
+        };
+
+        public String getName() {
+            return "name";
+        };
+
+        public String getUuid() {
+            return "bed9f83e-cac3-11e1-ac8a-0050568b007e";
+        };
+
+        public StoragePoolType getPoolType() {
+            return StoragePoolType.Filesystem;
+        };
+
+        public Date getCreated() {
+            Date date = null;
+            try {
+                date = new SimpleDateFormat("MM/dd/yyyy HH:mm:ss")
+                        .parse("01/01/1970 12:12:12");
+            } catch (ParseException e) {
+                e.printStackTrace();
+            }
+            return date;
+        }
+
+        public Date getUpdateTime() {
+            return new Date();
+        };
+
+        public long getDataCenterId() {
+            return 0L;
+        };
+
+        public long getCapacityBytes() {
+            return 0L;
+        };
+
+        public long getAvailableBytes() {
+            return 0L;
+        };
+
+        public Long getClusterId() {
+            return 0L;
+        };
+
+        public String getHostAddress() {
+            return "hostAddress";
+        };
+
+        public String getPath() {
+            return "path";
+        };
+
+        public String getUserInfo() {
+            return "userInfo";
+        };
+
+        public boolean isShared() {
+            return false;
+        };
+
+        public boolean isLocal() {
+            return false;
+        };
+
+        public StoragePoolStatus getStatus() {
+            return StoragePoolStatus.Up;
+        };
+
+        public int getPort() {
+            return 25;
+        };
+
+        public Long getPodId() {
+            return 0L;
+        };
+    };
+
+    SnapshotCommand ssc = new SnapshotCommand(pool,
+            "http://secondary.Storage.Url",
+            "420fa39c-4ef1-a83c-fd93-46dc1ff515ae", "snapshotName", 101L, 102L,
+            103L);
+
+    SnapshotCommand ssc1;
+
+
+    @Before
+    public void setUp() {
+        ssc1 = new SnapshotCommand(pool,
+                "secondaryStorageUrl", "snapshotUuid", "snapshotName", 101L,
+                102L, 103L);
+    }
+
+    @Test
+    public void testGetPrimaryStoragePoolNameLabel() {
+        String label = ssc.getPrimaryStoragePoolNameLabel();
+        assertTrue(label.equals("bed9f83e-cac3-11e1-ac8a-0050568b007e"));
+    }
+
+    @Test
+    public void testGetSecondaryStorageUrl() {
+        String url = ssc.getSecondaryStorageUrl();
+        assertTrue(url.equals("http://secondary.Storage.Url"));
+    }
+
+    @Test
+    public void testGetSnapshotUuid() {
+        String uuid = ssc.getSnapshotUuid();
+        assertTrue(uuid.equals("420fa39c-4ef1-a83c-fd93-46dc1ff515ae"));
+    }
+
+    @Test
+    public void testGetSnapshotName() {
+        String name = ssc.getSnapshotName();
+        assertTrue(name.equals("snapshotName"));
+    }
+
+    @Test
+    public void testGetVolumePath() {
+        ssc.setVolumePath("vPath");
+        String path = ssc.getVolumePath();
+        assertTrue(path.equals("vPath"));
+
+        ssc1.setVolumePath("vPath1");
+        path = ssc1.getVolumePath();
+        assertTrue(path.equals("vPath1"));
+    }
+
+    @Test
+    public void testExecuteInSequence() {
+        boolean b = ssc.executeInSequence();
+        assertFalse(b);
+
+        b = ssc1.executeInSequence();
+        assertFalse(b);
+    }
+
+    @Test
+    public void testGetDataCenterId() {
+        Long dcId = ssc.getDataCenterId();
+        Long expected = 101L;
+        assertEquals(expected, dcId);
+    }
+
+    @Test
+    public void testGetAccountId() {
+        Long aId = ssc.getAccountId();
+        Long expected = 102L;
+        assertEquals(expected, aId);
+    }
+
+    @Test
+    public void testGetVolumeId() {
+        Long vId = ssc.getVolumeId();
+        Long expected = 103L;
+        assertEquals(expected, vId);
+    }
+}

http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/c5abc180/api/test/org/apache/cloudstack/api/command/test/ActivateProjectCmdTest.java
----------------------------------------------------------------------
diff --git a/api/test/org/apache/cloudstack/api/command/test/ActivateProjectCmdTest.java b/api/test/org/apache/cloudstack/api/command/test/ActivateProjectCmdTest.java
new file mode 100644
index 0000000..49b5b0e
--- /dev/null
+++ b/api/test/org/apache/cloudstack/api/command/test/ActivateProjectCmdTest.java
@@ -0,0 +1,87 @@
+// 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 org.apache.cloudstack.api.command.test;
+
+import junit.framework.Assert;
+import junit.framework.TestCase;
+
+import org.apache.cloudstack.api.command.user.project.ActivateProjectCmd;
+import org.junit.Before;
+import org.junit.Rule;
+import org.junit.Test;
+import org.junit.rules.ExpectedException;
+import org.mockito.Mockito;
+
+import com.cloud.exception.InvalidParameterValueException;
+import com.cloud.projects.Project;
+import com.cloud.projects.ProjectService;
+import com.cloud.user.Account;
+
+public class ActivateProjectCmdTest extends TestCase {
+
+    private ActivateProjectCmd activateProjectCmd;
+
+    @Rule
+    public ExpectedException expectedException = ExpectedException.none();
+
+    @Before
+    public void setUp() {
+
+        activateProjectCmd = new ActivateProjectCmd() {
+
+            @Override
+            public Long getId() {
+                return 2L;
+            }
+
+        };
+    }
+
+    @Test
+    public void testGetEntityOwnerIdForNullProject() {
+        ProjectService projectService = Mockito.mock(ProjectService.class);
+        Mockito.when(projectService.getProject(Mockito.anyLong())).thenReturn(
+                null);
+        activateProjectCmd._projectService = projectService;
+
+        try {
+            activateProjectCmd.getEntityOwnerId();
+        } catch (InvalidParameterValueException exception) {
+            Assert.assertEquals("Unable to find project by id 2",
+                    exception.getLocalizedMessage());
+        }
+    }
+
+    @Test
+    public void testGetEntityOwnerIdForProject() {
+        Project project = Mockito.mock(Project.class);
+        Mockito.when(project.getId()).thenReturn(2L);
+        ProjectService projectService = Mockito.mock(ProjectService.class);
+        Account account = Mockito.mock(Account.class);
+        Mockito.when(account.getId()).thenReturn(2L);
+        Mockito.when(projectService.getProject(Mockito.anyLong())).thenReturn(
+                project);
+
+        Mockito.when(projectService.getProjectOwner(Mockito.anyLong()))
+                .thenReturn(account);
+        activateProjectCmd._projectService = projectService;
+
+        Assert.assertEquals(2L, activateProjectCmd.getEntityOwnerId());
+
+    }
+
+}

http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/c5abc180/api/test/org/apache/cloudstack/api/command/test/AddAccountToProjectCmdTest.java
----------------------------------------------------------------------
diff --git a/api/test/org/apache/cloudstack/api/command/test/AddAccountToProjectCmdTest.java b/api/test/org/apache/cloudstack/api/command/test/AddAccountToProjectCmdTest.java
new file mode 100644
index 0000000..4d2000d
--- /dev/null
+++ b/api/test/org/apache/cloudstack/api/command/test/AddAccountToProjectCmdTest.java
@@ -0,0 +1,175 @@
+// 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 org.apache.cloudstack.api.command.test;
+
+import junit.framework.Assert;
+import junit.framework.TestCase;
+
+import org.apache.cloudstack.api.command.user.account.AddAccountToProjectCmd;
+import org.junit.Before;
+import org.junit.Rule;
+import org.junit.Test;
+import org.junit.rules.ExpectedException;
+import org.mockito.Mockito;
+
+import com.cloud.exception.InvalidParameterValueException;
+import com.cloud.projects.Project;
+import com.cloud.projects.ProjectService;
+import com.cloud.user.Account;
+
+public class AddAccountToProjectCmdTest extends TestCase {
+
+    private AddAccountToProjectCmd addAccountToProjectCmd;
+
+    @Rule
+    public ExpectedException expectedException = ExpectedException.none();
+
+    @Before
+    public void setUp() {
+        addAccountToProjectCmd = new AddAccountToProjectCmd() {
+
+            @Override
+            public Long getProjectId() {
+                return 2L;
+            }
+
+            @Override
+            public String getAccountName() {
+
+                // to run the test testGetEventDescriptionForAccount set the
+                // accountName
+                // return "accountName";
+                // to run the test the testGetEventDescriptionForNullAccount
+                // return accountname as null
+                return null;
+            }
+
+            @Override
+            public String getEmail() {
+                // return "customer@abc.com";
+                return null;
+            }
+
+        };
+    }
+
+    /****
+     * Condition not handled in the code
+     * 
+     *****/
+
+    /*
+     * @Test public void testGetEntityOwnerIdForNullProject() {
+     * 
+     * ProjectService projectService = Mockito.mock(ProjectService.class);
+     * Mockito
+     * .when(projectService.getProject(Mockito.anyLong())).thenReturn(null);
+     * addAccountToProjectCmd._projectService = projectService;
+     * 
+     * try { addAccountToProjectCmd.getEntityOwnerId(); }
+     * catch(InvalidParameterValueException exception) {
+     * Assert.assertEquals("Unable to find project by id 2",
+     * exception.getLocalizedMessage()); }
+     * 
+     * }
+     */
+
+    @Test
+    public void testGetEntityOwnerIdForProject() {
+
+        Project project = Mockito.mock(Project.class);
+        Mockito.when(project.getId()).thenReturn(2L);
+
+        ProjectService projectService = Mockito.mock(ProjectService.class);
+        Account account = Mockito.mock(Account.class);
+
+        Mockito.when(account.getId()).thenReturn(2L);
+        Mockito.when(projectService.getProject(Mockito.anyLong())).thenReturn(
+                project);
+
+        Mockito.when(projectService.getProjectOwner(Mockito.anyLong()))
+                .thenReturn(account);
+        addAccountToProjectCmd._projectService = projectService;
+
+        Assert.assertEquals(2L, addAccountToProjectCmd.getEntityOwnerId());
+
+    }
+
+    /**
+     * To run the test uncomment the return statement for getAccountName() in
+     * setup() and return null
+     * 
+     * **/
+
+    /*
+     * @Test public void testGetEventDescriptionForNullAccount() {
+     * 
+     * String result = addAccountToProjectCmd.getEventDescription(); String
+     * expected = "Sending invitation to email null to join project: 2";
+     * Assert.assertEquals(expected, result);
+     * 
+     * }
+     */
+
+    /***
+	 * 
+	 * 
+	 * 
+	 * ***/
+
+    /*
+     * @Test public void testGetEventDescriptionForAccount() {
+     * 
+     * String result = addAccountToProjectCmd.getEventDescription(); String
+     * expected = "Adding account accountName to project: 2";
+     * Assert.assertEquals(expected, result);
+     * 
+     * }
+     */
+
+    @Test
+    public void testExecuteForNullAccountNameEmail() {
+
+        try {
+            addAccountToProjectCmd.execute();
+        } catch (InvalidParameterValueException exception) {
+            Assert.assertEquals("Either accountName or email is required",
+                    exception.getLocalizedMessage());
+        }
+
+    }
+
+    /*
+     * @Test public void testExecuteForAccountNameEmail() {
+     * 
+     * try {
+     * 
+     * ComponentLocator c = Mockito.mock(ComponentLocator.class); UserContext
+     * userContext = Mockito.mock(UserContext.class);
+     * 
+     * // Mockito.when(userContext.current()).thenReturn(userContext);
+     * 
+     * 
+     * addAccountToProjectCmd.execute(); } catch(InvalidParameterValueException
+     * exception) {
+     * Assert.assertEquals("Either accountName or email is required",
+     * exception.getLocalizedMessage()); }
+     * 
+     * }
+     */
+
+}

http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/c5abc180/api/test/org/apache/cloudstack/api/command/test/AddClusterCmdTest.java
----------------------------------------------------------------------
diff --git a/api/test/org/apache/cloudstack/api/command/test/AddClusterCmdTest.java b/api/test/org/apache/cloudstack/api/command/test/AddClusterCmdTest.java
new file mode 100644
index 0000000..60fea9e
--- /dev/null
+++ b/api/test/org/apache/cloudstack/api/command/test/AddClusterCmdTest.java
@@ -0,0 +1,120 @@
+// 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 org.apache.cloudstack.api.command.test;
+
+import junit.framework.Assert;
+import junit.framework.TestCase;
+
+import org.apache.cloudstack.api.command.admin.cluster.AddClusterCmd;
+import org.junit.Before;
+import org.junit.Rule;
+import org.junit.Test;
+import org.junit.rules.ExpectedException;
+import org.mockito.Mockito;
+
+import org.apache.cloudstack.api.ResponseGenerator;
+import org.apache.cloudstack.api.ServerApiException;
+import com.cloud.exception.DiscoveryException;
+import com.cloud.exception.ResourceInUseException;
+import com.cloud.org.Cluster;
+import com.cloud.resource.ResourceService;
+
+import edu.emory.mathcs.backport.java.util.Arrays;
+
+public class AddClusterCmdTest extends TestCase {
+
+    private AddClusterCmd addClusterCmd;
+    private ResourceService resourceService;
+    private ResponseGenerator responseGenerator;
+
+    @Rule
+    public ExpectedException expectedException = ExpectedException.none();
+
+    @Before
+    public void setUp() {
+        /*
+         * resourceService = Mockito.mock(ResourceService.class);
+         * responseGenerator = Mockito.mock(ResponseGenerator.class);
+         */addClusterCmd = new AddClusterCmd() {
+        };
+    }
+
+    @Test
+    public void testExecuteForNullResult() {
+
+        ResourceService resourceService = Mockito.mock(ResourceService.class);
+
+        try {
+            Mockito.when(resourceService.discoverCluster(addClusterCmd))
+                    .thenReturn(null);
+        } catch (ResourceInUseException e) {
+            // TODO Auto-generated catch block
+            e.printStackTrace();
+        } catch (IllegalArgumentException e) {
+            // TODO Auto-generated catch block
+            e.printStackTrace();
+        } catch (DiscoveryException e) {
+            // TODO Auto-generated catch block
+            e.printStackTrace();
+        }
+
+        addClusterCmd._resourceService = resourceService;
+
+        try {
+            addClusterCmd.execute();
+        } catch (ServerApiException exception) {
+            Assert.assertEquals("Failed to add cluster",
+                    exception.getDescription());
+        }
+
+    }
+
+    @Test
+    public void testExecuteForEmptyResult() {
+
+        ResourceService resourceService = Mockito.mock(ResourceService.class);
+        addClusterCmd._resourceService = resourceService;
+
+        try {
+            addClusterCmd.execute();
+        } catch (ServerApiException exception) {
+            Assert.assertEquals("Failed to add cluster",
+                    exception.getDescription());
+        }
+
+    }
+
+    @Test
+    public void testExecuteForResult() throws Exception {
+
+        resourceService = Mockito.mock(ResourceService.class);
+        responseGenerator = Mockito.mock(ResponseGenerator.class);
+
+        addClusterCmd._resourceService = resourceService;
+        addClusterCmd._responseGenerator = responseGenerator;
+
+        Cluster cluster = Mockito.mock(Cluster.class);
+        Cluster[] clusterArray = new Cluster[] { cluster };
+
+        Mockito.when(resourceService.discoverCluster(addClusterCmd))
+                .thenReturn(Arrays.asList(clusterArray));
+
+        addClusterCmd.execute();
+
+    }
+
+}