package org.ovirt.engine.api.restapi.types; import org.ovirt.engine.api.model.Boot; import org.ovirt.engine.api.model.BootDevice; import org.ovirt.engine.api.model.DisplayType; import org.ovirt.engine.api.model.Template; import org.ovirt.engine.api.model.VmType; import org.ovirt.engine.core.common.businessentities.OriginType; import org.ovirt.engine.core.common.businessentities.VmTemplate; public class TemplateMapperTest extends AbstractInvertibleMappingTest<Template, VmTemplate, VmTemplate> { public TemplateMapperTest() { super(Template.class, VmTemplate.class, VmTemplate.class); } @Override protected Template postPopulate(Template from) { from.setType(MappingTestHelper.shuffle(VmType.class).value()); from.setOrigin(OriginType.VMWARE.name().toLowerCase()); from.getDisplay().setType(MappingTestHelper.shuffle(DisplayType.class).value()); for (Boot boot : from.getOs().getBoot()) { boot.setDev(MappingTestHelper.shuffle(BootDevice.class).value()); } while (from.getCpu().getTopology().getSockets() == 0) { from.getCpu().getTopology().setSockets(MappingTestHelper.rand(100)); } while (from.getCpu().getTopology().getCores() == 0) { from.getCpu().getTopology().setCores(MappingTestHelper.rand(100)); } from.setTimezone("Australia/Darwin"); return from; } @Override protected void verify(Template model, Template transform) { assertNotNull(transform); assertEquals(model.getName(), transform.getName()); assertEquals(model.getId(), transform.getId()); assertEquals(model.getDescription(), transform.getDescription()); assertEquals(model.getType(), transform.getType()); assertEquals(model.getOrigin(), transform.getOrigin()); assertTrue(Math.abs(model.getMemory() - transform.getMemory()) <= (1024 * 1024)); assertNotNull(transform.getCluster()); assertEquals(model.getCluster().getId(), transform.getCluster().getId()); assertNotNull(transform.getCpu()); assertNotNull(transform.getCpu().getTopology()); assertTrue(Math.abs(model.getCpu().getTopology().getCores() - transform.getCpu().getTopology().getCores()) < model.getCpu().getTopology().getSockets()); assertEquals(model.getCpu().getTopology().getSockets(), transform.getCpu().getTopology().getSockets()); assertNotNull(transform.isSetOs()); assertTrue(transform.getOs().isSetBoot()); assertEquals(model.getOs().getBoot().size(), transform.getOs().getBoot().size()); for (int i = 0; i < model.getOs().getBoot().size(); i++) { assertEquals(model.getOs().getBoot().get(i).getDev(), transform.getOs().getBoot().get(i).getDev()); } assertEquals(model.getOs().getKernel(), transform.getOs().getKernel()); assertEquals(model.getOs().getInitrd(), transform.getOs().getInitrd()); assertEquals(model.getOs().getCmdline(), transform.getOs().getCmdline()); assertNotNull(model.getDisplay()); assertEquals(model.getDisplay().getType(), transform.getDisplay().getType()); assertEquals(model.getDisplay().getMonitors(), transform.getDisplay().getMonitors()); assertEquals(model.getDomain().getName(), transform.getDomain().getName()); assertEquals(model.getTimezone(), transform.getTimezone()); assertEquals(model.getUsb().isEnabled(), transform.getUsb().isEnabled()); } }