cloudstack-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From d...@apache.org
Subject [1/3] git commit: updated refs/heads/master to f3afcb0
Date Wed, 17 Jun 2015 18:48:30 GMT
Repository: cloudstack
Updated Branches:
  refs/heads/master 64361d2b7 -> f3afcb089


CLOUDSTACK-8537 test for the sake of testing the fix seems so trivial but no testing is available
for it at all. when bugs arise test extension should be the start point here.

Signed-off-by: Daan Hoogland <daan.hoogland@gmail.com>

This closes #357


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

Branch: refs/heads/master
Commit: f3afcb089fac54b3269206df1fb938451df3e995
Parents: 968e71a
Author: Daan Hoogland <daan.hoogland@gmail.com>
Authored: Mon Jun 15 16:11:36 2015 +0200
Committer: Daan Hoogland <daan.hoogland@gmail.com>
Committed: Wed Jun 17 20:47:57 2015 +0200

----------------------------------------------------------------------
 .../com/cloud/server/ManagementServerImpl.java  |  8 +--
 .../cloud/server/ManagementServerImplTest.java  | 67 ++++++++++++++++++++
 2 files changed, 71 insertions(+), 4 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cloudstack/blob/f3afcb08/server/src/com/cloud/server/ManagementServerImpl.java
----------------------------------------------------------------------
diff --git a/server/src/com/cloud/server/ManagementServerImpl.java b/server/src/com/cloud/server/ManagementServerImpl.java
index 948a84d..85a561f 100644
--- a/server/src/com/cloud/server/ManagementServerImpl.java
+++ b/server/src/com/cloud/server/ManagementServerImpl.java
@@ -750,7 +750,7 @@ public class ManagementServerImpl extends ManagerBase implements ManagementServe
     @Inject
     private InstanceGroupDao _vmGroupDao;
     @Inject
-    private SSHKeyPairDao _sshKeyPairDao;
+    protected SSHKeyPairDao _sshKeyPairDao;
     @Inject
     private LoadBalancerDao _loadbalancerDao;
     @Inject
@@ -3650,7 +3650,7 @@ public class ManagementServerImpl extends ManagerBase implements ManagementServe
      * @param owner
      * @throws InvalidParameterValueException
      */
-    private void checkForKeyByName(RegisterSSHKeyPairCmd cmd, Account owner) throws InvalidParameterValueException
{
+    protected void checkForKeyByName(RegisterSSHKeyPairCmd cmd, Account owner) throws InvalidParameterValueException
{
         SSHKeyPairVO existingPair = _sshKeyPairDao.findByName(owner.getAccountId(), owner.getDomainId(),
cmd.getName());
         if (existingPair != null) {
             throw new InvalidParameterValueException("A key pair with name '" + cmd.getName()
+ "' already exists for this account.");
@@ -3684,7 +3684,7 @@ public class ManagementServerImpl extends ManagerBase implements ManagementServe
      * @param cmd
      * @return
      */
-    private Account getOwner(RegisterSSHKeyPairCmd cmd) {
+    protected Account getOwner(RegisterSSHKeyPairCmd cmd) {
         Account caller = getCaller();
 
         Account owner = _accountMgr.finalizeOwner(caller, cmd.getAccountName(), cmd.getDomainId(),
cmd.getProjectId());
@@ -3694,7 +3694,7 @@ public class ManagementServerImpl extends ManagerBase implements ManagementServe
     /**
      * @return
      */
-    private Account getCaller() {
+    protected Account getCaller() {
         Account caller = CallContext.current().getCallingAccount();
         return caller;
     }

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/f3afcb08/server/test/com/cloud/server/ManagementServerImplTest.java
----------------------------------------------------------------------
diff --git a/server/test/com/cloud/server/ManagementServerImplTest.java b/server/test/com/cloud/server/ManagementServerImplTest.java
new file mode 100644
index 0000000..1e530e6
--- /dev/null
+++ b/server/test/com/cloud/server/ManagementServerImplTest.java
@@ -0,0 +1,67 @@
+// 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.server;
+
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.mockito.Mock;
+import org.mockito.Mockito;
+import org.mockito.Spy;
+import org.mockito.runners.MockitoJUnitRunner;
+
+import org.apache.cloudstack.api.command.user.ssh.RegisterSSHKeyPairCmd;
+
+import com.cloud.exception.InvalidParameterValueException;
+import com.cloud.user.Account;
+import com.cloud.user.SSHKeyPairVO;
+import com.cloud.user.dao.SSHKeyPairDao;
+
+@RunWith(MockitoJUnitRunner.class)
+public class ManagementServerImplTest {
+
+    @Mock
+    RegisterSSHKeyPairCmd regCmd;
+    @Mock
+    SSHKeyPairVO existingPair;
+    @Mock
+    Account account;
+    @Mock
+    SSHKeyPairDao sshKeyPairDao;
+    ManagementServerImpl ms = new ManagementServerImpl();
+    @Spy
+    ManagementServerImpl spy;
+
+    @Test(expected = InvalidParameterValueException.class)
+    public void testExistingPairRegistration() {
+        String accountName = "account";
+        String publicKeyString = "very public";
+        // setup owner with domainid
+        Mockito.doReturn(account).when(spy).getCaller();
+        Mockito.doReturn(account).when(spy).getOwner(regCmd);
+        // mock _sshKeyPairDao.findByName to return null
+        Mockito.doNothing().when(spy).checkForKeyByName(regCmd, account);
+        // mock _sshKeyPairDao.findByPublicKey to return a known object
+        Mockito.doReturn(accountName).when(regCmd).getAccountName();
+        Mockito.doReturn(publicKeyString).when(regCmd).getPublicKey();
+        Mockito.doReturn("name").when(regCmd).getName();
+        spy._sshKeyPairDao = sshKeyPairDao;
+        Mockito.doReturn(1L).when(account).getAccountId();
+        Mockito.doReturn(1L).when(account).getDomainId();
+        Mockito.doReturn(existingPair).when(sshKeyPairDao).findByPublicKey(1L, 1L, publicKeyString);
+        spy.registerSSHKeyPair(regCmd);
+    }
+}


Mime
View raw message