package org.ovirt.engine.core.bll;
import static org.mockito.Mockito.when;
import static org.powermock.api.mockito.PowerMockito.mock;
import static org.powermock.api.mockito.PowerMockito.mockStatic;
import java.util.List;
import org.junit.Assert;
import org.junit.Before;
import org.junit.runner.RunWith;
import org.ovirt.engine.core.bll.interfaces.BackendInternal;
import org.ovirt.engine.core.bll.storage.StorageHelperDirector;
import org.ovirt.engine.core.compat.Guid;
import org.ovirt.engine.core.dal.VdcBllMessages;
import org.ovirt.engine.core.dal.dbbroker.DbFacade;
import org.powermock.core.classloader.annotations.PrepareForTest;
import org.powermock.modules.junit4.PowerMockRunner;
@RunWith(PowerMockRunner.class)
@PrepareForTest({ Backend.class, DbFacade.class, StorageHelperDirector.class })
public class BaseMockitoTest extends Assert {
protected static final Guid[] GUIDS = new Guid[] {
new Guid("11111111-1111-1111-1111-111111111111"),
new Guid("22222222-2222-2222-2222-222222222222"),
new Guid("33333333-3333-3333-3333-333333333333"),
};
@Before
public void setUp() {
mockStatic(Backend.class);
mockStatic(DbFacade.class);
mockStatic(StorageHelperDirector.class);
}
protected DbFacade setUpDB() {
DbFacade db = mock(DbFacade.class);
when(DbFacade.getInstance()).thenReturn(db);
return db;
}
protected BackendInternal setUpBackend() {
BackendInternal backend = mock(BackendInternal.class);
when(Backend.getInstance()).thenReturn(backend);
return backend;
}
protected void checkSucceeded(QueriesCommandBase<?> query, boolean expected) {
assertEquals(expected, query.getQueryReturnValue().getSucceeded());
}
protected void checkSucceeded(CommandBase<?> cmd, boolean expected) {
assertEquals(expected, cmd.getReturnValue().getSucceeded());
}
protected void checkMessages(CommandBase<?> cmd, VdcBllMessages... expected) {
List<String> returned = cmd.getReturnValue().getCanDoActionMessages();
assertEquals(expected.length, returned.size());
for (int i = 0; i < expected.length; i++) {
assertEquals(expected[i].toString(), returned.get(i));
}
}
}