package org.ovirt.engine.core.bll; import static org.junit.Assert.assertTrue; import static org.mockito.Mockito.doReturn; import org.junit.Before; import org.junit.Test; import org.mockito.InjectMocks; import org.mockito.Mock; import org.ovirt.engine.core.common.action.RemoveAuditLogByIdParameters; import org.ovirt.engine.core.common.businessentities.AuditLog; import org.ovirt.engine.core.common.errors.EngineMessage; import org.ovirt.engine.core.dao.AuditLogDao; public class RemoveAuditLogByIdCommandTest extends BaseCommandTest { @InjectMocks RemoveAuditLogByIdCommand<RemoveAuditLogByIdParameters> command = new RemoveAuditLogByIdCommand<>(new RemoveAuditLogByIdParameters(), null); @Mock private AuditLogDao auditLogDao; private static final String EXTERNAL_ORIGIN = "External"; private static final long EVENT_ID_1 = 101; private static final long EVENT_ID_2 = 102; private static final long EVENT_ID_3 = 103; @Before public void prepareMocks() { doReturn(getEventWithOvirtOrigin()).when(auditLogDao).get(EVENT_ID_2); doReturn(getEventWithExternalOrigin()).when(auditLogDao).get(EVENT_ID_3); } private AuditLog getEventWithOvirtOrigin() { AuditLog auditLog = new AuditLog(); auditLog.setAuditLogId(EVENT_ID_2); auditLog.setOrigin(AuditLog.OVIRT_ORIGIN); return auditLog; } private AuditLog getEventWithExternalOrigin() { AuditLog auditLog = new AuditLog(); auditLog.setAuditLogId(EVENT_ID_3); auditLog.setOrigin(EXTERNAL_ORIGIN); return auditLog; } @Test public void validateFailsOnNonExistingEvent() { command.getParameters().setAuditLogId(EVENT_ID_1); ValidateTestUtils.runAndAssertValidateFailure(command, EngineMessage.AUDIT_LOG_CANNOT_REMOVE_AUDIT_LOG_NOT_EXIST); } @Test public void validateSucceeds() { command.getParameters().setAuditLogId(EVENT_ID_3); assertTrue(command.validate()); } }