[
https://issues.apache.org/jira/browse/CLOUDSTACK-8607?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14614824#comment-14614824
]
ASF GitHub Bot commented on CLOUDSTACK-8607:
--------------------------------------------
Github user karuturi commented on a diff in the pull request:
https://github.com/apache/cloudstack/pull/559#discussion_r33921332
--- Diff:
plugins/hypervisors/xenserver/test/com/cloud/hypervisor/xenserver/resource/wrapper/xenbase/CitrixRequestWrapperTest.java
---
@@ -1320,14 +1322,23 @@ public void testOvsDestroyTunnelCommandFailed() {
@Test
public void testUpdateHostPasswordCommand() {
- final UpdateHostPasswordCommand updatePwd = new
UpdateHostPasswordCommand("test", "123");
+ final ExecutionResult executionResult =
Mockito.mock(ExecutionResult.class);
+
+ final UpdateHostPasswordCommand updatePwd = new
UpdateHostPasswordCommand("test", "123", "127.0.0.1");
+
+ final StringBuffer buff = new StringBuffer();
+ buff.append(updatePwd.getUsername());
+ buff.append(' ');
+ buff.append(updatePwd.getNewPassword());
+
+ when(citrixResourceBase.executeInVR(updatePwd.getHostIp(),
VRScripts.UPDATE_HOST_PASSWD, buff.toString())).thenReturn(executionResult);
--- End diff --
Why do we need this mock here?
The test always succeeds as the SshHelper.execute fails with
"java.io.IOException: There was a problem while connecting to 127.0.0.1:22"
If I add the below line to test, it always fails
verify(citrixResourceBase,
Mockito.atLeastOnce()).executeInVR(Mockito.anyString(),Mockito.anyString(),
Mockito.anyString());`
Wanted but not invoked:
`citrixResourceBase.executeInVR(
<any>,
<any>,
<any>
);`
-> at
`com.cloud.hypervisor.xenserver.resource.wrapper.xenbase.CitrixRequestWrapperTest.testUpdateHostPasswordCommand(CitrixRequestWrapperTest.java:1341)`
However, there were other interactions with this mock:
-> at
`com.cloud.hypervisor.xenserver.resource.wrapper.xenbase.CitrixUpdateHostPasswordCommandWrapper.execute(CitrixUpdateHostPasswordCommandWrapper.java:57)`
> As an Operator I want to be able to change the host password on the host
> itself via the updateHostPassword API
> --------------------------------------------------------------------------------------------------------------
>
> Key: CLOUDSTACK-8607
> URL: https://issues.apache.org/jira/browse/CLOUDSTACK-8607
> Project: CloudStack
> Issue Type: Improvement
> Security Level: Public(Anyone can view this level - this is the
> default.)
> Components: KVM, XenServer
> Reporter: Wilder Rodrigues
> Assignee: Wilder Rodrigues
> Fix For: 4.6.0
>
>
> 1. Change the API to offer a flag to decide to update the host or not
> - The default should be false
> - The flag is not mandatory
> 2. When the flag is informed and true, in case of communication error with
> the host we have to rollback the DB changes
> 3. In case of XenServer, do not allow single host update
> - Update shall be done only when the cluster ID is informed
> - It doesn't apply for KVM
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)