package org.ovirt.engine.core.bll;
import static org.junit.Assert.assertTrue;
import org.junit.Before;
import org.junit.Test;
import org.ovirt.engine.core.common.businessentities.QuotaEnforcementTypeEnum;
import org.ovirt.engine.core.common.businessentities.VmTemplate;
import org.ovirt.engine.core.compat.Guid;
import org.ovirt.engine.core.utils.RandomUtils;
/** A test case for the {@link VmTemplateHandler} class. */
public class VmTemplateHandlerTest {
private VmTemplateHandler vmTemplateHandler = new VmTemplateHandler();
@Before
public void setUp() {
vmTemplateHandler.init();
}
@Test
public void testUpdateFieldsName() {
VmTemplate src = new VmTemplate();
src.setName(RandomUtils.instance().nextString(10));
VmTemplate dest = new VmTemplate();
dest.setName(RandomUtils.instance().nextString(10));
assertTrue("Update should be valid for different names",
vmTemplateHandler.isUpdateValid(src, dest));
}
@Test
public void testUpdateFieldsQuotaEnforcementType() {
VmTemplate src = new VmTemplate();
src.setQuotaEnforcementType(QuotaEnforcementTypeEnum.DISABLED);
VmTemplate dest = new VmTemplate();
dest.setQuotaEnforcementType(QuotaEnforcementTypeEnum.HARD_ENFORCEMENT);
assertTrue("Update should be valid for different quota enforcement types",
vmTemplateHandler.isUpdateValid(src, dest));
}
@Test
public void testUpdateFieldsIsQuotaDefault() {
VmTemplate src = new VmTemplate();
src.setQuotaDefault(true);
VmTemplate dest = new VmTemplate();
dest.setQuotaDefault(false);
assertTrue("Update should be valid for different quota default statuses",
vmTemplateHandler.isUpdateValid(src, dest));
}
@Test
public void testValidUpdateOfEditableFieldOnTemplateVm() {
// Given
VmTemplate src = new VmTemplate();
src.setClusterId(Guid.newGuid());
VmTemplate dest = new VmTemplate();
dest.setClusterId(Guid.newGuid());
// When
boolean updateIsValid = vmTemplateHandler.isUpdateValid(src, dest);
// Then
assertTrue("Update should be valid for different cluster IDs", updateIsValid);
}
}