package org.ovirt.engine.core.bll;
import static org.mockito.Mockito.when;
import org.junit.Before;
import org.mockito.InjectMocks;
import org.mockito.Mock;
import org.ovirt.engine.core.common.action.RolesParameterBase;
import org.ovirt.engine.core.common.businessentities.Role;
import org.ovirt.engine.core.compat.Guid;
import org.ovirt.engine.core.dao.RoleDao;
import org.ovirt.engine.core.dao.RoleGroupMapDao;
/** An abstract base class for tests for roles commands */
public abstract class AbstractRolesCommandTestBase extends BaseCommandTest {
private RolesParameterBase params = generateParameters();
@InjectMocks
private RolesCommandBase<? extends RolesParameterBase> command = generateCommand();
private Role role;
@Mock
private RoleDao roleDaoMock;
@Mock
private RoleGroupMapDao roleGroupMapDaoMock;
@Before
public void setUp() {
role = new Role();
role.setId(params.getRoleId());
when(roleDaoMock.get(params.getRoleId())).thenReturn(role);
}
protected RolesParameterBase generateParameters() {
return new RolesParameterBase(Guid.newGuid());
}
protected abstract RolesCommandBase<? extends RolesParameterBase> generateCommand();
protected RolesParameterBase getParams() {
return params;
}
protected RolesCommandBase<? extends RolesParameterBase> getCommand() {
return command;
}
protected Role getRole() {
return role;
}
protected RoleDao getRoleDaoMock() {
return roleDaoMock;
}
protected RoleGroupMapDao getRoleGroupMapDaoMock() {
return roleGroupMapDaoMock;
}
}