package org.ovirt.engine.core.bll.gluster;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertFalse;
import static org.junit.Assert.assertTrue;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.mockito.junit.MockitoJUnitRunner.Silent;
import org.ovirt.engine.core.common.AuditLogType;
import org.ovirt.engine.core.common.action.gluster.GlusterHookParameters;
import org.ovirt.engine.core.common.errors.EngineMessage;
@RunWith(Silent.class)
public class DisableGlusterHookCommandTest extends GlusterHookCommandTest<DisableGlusterHookCommand<GlusterHookParameters>> {
@Override
protected DisableGlusterHookCommand<GlusterHookParameters> createCommand() {
return new DisableGlusterHookCommand<>(new GlusterHookParameters(HOOK_ID), null);
}
@Test
public void validateSucceeds() {
setupMocks();
assertTrue(cmd.validate());
}
@Test
public void validateFailsOnNullHookId() {
setupMocks();
cmd.getParameters().setHookId(null);
assertFalse(cmd.validate());
assertTrue(cmd.getReturnValue().getValidationMessages().contains(EngineMessage.ACTION_TYPE_FAILED_GLUSTER_HOOK_ID_IS_REQUIRED.toString()));
}
@Test
public void validateFailsOnNullHook() {
setupMocks(false);
assertFalse(cmd.validate());
assertTrue(cmd.getReturnValue().getValidationMessages().contains(EngineMessage.ACTION_TYPE_FAILED_GLUSTER_HOOK_DOES_NOT_EXIST.toString()));
}
@Test
public void executeCommand() {
setupMocks();
mockBackendStatusChange(true);
cmd.executeCommand();
assertTrue(cmd.getReturnValue().getSucceeded());
assertEquals(AuditLogType.GLUSTER_HOOK_DISABLE, cmd.getAuditLogTypeValue());
}
@Test
public void executeCommandWhenFailed() {
setupMocks();
mockBackendStatusChange(false);
cmd.executeCommand();
assertFalse(cmd.getReturnValue().getSucceeded());
assertEquals(AuditLogType.GLUSTER_HOOK_DISABLE_FAILED, cmd.getAuditLogTypeValue());
}
}