package org.ovirt.engine.api.restapi.types; import org.junit.Test; import org.ovirt.engine.api.model.ErrorHandling; import org.ovirt.engine.api.model.MigrateOnError; import org.ovirt.engine.api.model.RngSource; import org.ovirt.engine.api.model.SerialNumberPolicy; import org.ovirt.engine.core.common.businessentities.Cluster; public class ClusterMapperTest extends AbstractInvertibleMappingTest<org.ovirt.engine.api.model.Cluster, Cluster, Cluster> { public ClusterMapperTest() { super(org.ovirt.engine.api.model.Cluster.class, Cluster.class, Cluster.class); } @Override protected org.ovirt.engine.api.model.Cluster postPopulate(org.ovirt.engine.api.model.Cluster model) { ErrorHandling errorHandling = new ErrorHandling(); errorHandling.setOnError(MappingTestHelper.shuffle(MigrateOnError.class)); model.setErrorHandling(errorHandling); model.getSerialNumber().setPolicy(SerialNumberPolicy.CUSTOM); model.getRequiredRngSources().getRequiredRngSources().clear(); model.getRequiredRngSources().getRequiredRngSources().add(RngSource.RANDOM); return model; } @Override protected void verify(org.ovirt.engine.api.model.Cluster model, org.ovirt.engine.api.model.Cluster transform) { assertNotNull(transform); assertEquals(model.getName(), transform.getName()); assertEquals(model.getId(), transform.getId()); assertEquals(model.getDescription(), transform.getDescription()); assertEquals(model.getComment(), transform.getComment()); assertNotNull(transform.getCpu()); assertEquals(model.getCpu().getType(), transform.getCpu().getType()); assertNotNull(transform.getDataCenter()); assertEquals(model.getDataCenter().getId(), transform.getDataCenter().getId()); assertNotNull(transform.getSchedulingPolicy()); assertEquals(model.getSchedulingPolicy().getId(), transform.getSchedulingPolicy().getId()); assertEquals(model.getErrorHandling().getOnError(), transform.getErrorHandling().getOnError()); assertNotNull(transform.getMemoryPolicy()); assertNotNull(transform.getMemoryPolicy().getTransparentHugepages()); assertEquals(transform.getMemoryPolicy().getTransparentHugepages().isEnabled(), transform.getMemoryPolicy() .getTransparentHugepages() .isEnabled()); assertEquals(model.isVirtService(), transform.isVirtService()); assertEquals(model.isGlusterService(), transform.isGlusterService()); assertEquals(model.isTunnelMigration(), transform.isTunnelMigration()); assertEquals(model.isTrustedService(), transform.isTrustedService()); assertEquals(model.isBallooningEnabled(), transform.isBallooningEnabled()); assertEquals(model.getKsm().isEnabled(), transform.getKsm().isEnabled()); assertEquals(model.getKsm().isMergeAcrossNodes(), transform.getKsm() .isMergeAcrossNodes()); assertEquals(model.getDisplay().getProxy(), transform.getDisplay().getProxy()); assertEquals(model.getSerialNumber().getPolicy(), transform.getSerialNumber().getPolicy()); assertEquals(model.getSerialNumber().getValue(), transform.getSerialNumber().getValue()); assertEquals(model.getMacPool().getId(), transform.getMacPool().getId()); } private Mapper<org.ovirt.engine.api.model.Cluster, Cluster> getMapper() { MappingLocator mappingLocator = new MappingLocator(); mappingLocator.populate(); return mappingLocator.getMapper(org.ovirt.engine.api.model.Cluster.class, Cluster.class); } @Test public void thpDefaultFalseTest() { org.ovirt.engine.api.model.Cluster cluster = new org.ovirt.engine.api.model.Cluster(); cluster.setVersion(new org.ovirt.engine.api.model.Version() { { setMajor(2); setMinor(0); } }); Cluster transform = getMapper().map(cluster, null); assertFalse(transform.getTransparentHugepages()); } @Test public void thpDefaultTrueTest() { org.ovirt.engine.api.model.Cluster cluster = new org.ovirt.engine.api.model.Cluster(); cluster.setVersion(new org.ovirt.engine.api.model.Version() { { setMajor(3); setMinor(0); } }); Cluster transform = getMapper().map(cluster, null); assertTrue(transform.getTransparentHugepages()); } }