package org.ovirt.engine.api.restapi.types; import org.junit.Test; import org.ovirt.engine.api.model.GlusterBrick; import org.ovirt.engine.api.model.GlusterBrickStatus; import org.ovirt.engine.core.common.businessentities.gluster.GlusterBrickEntity; import org.ovirt.engine.core.common.businessentities.gluster.GlusterStatus; public class GlusterBrickMapperTest extends AbstractInvertibleMappingTest<GlusterBrick, GlusterBrickEntity, GlusterBrickEntity> { public GlusterBrickMapperTest() { super(GlusterBrick.class, GlusterBrickEntity.class, GlusterBrickEntity.class); } @Override protected void verify(GlusterBrick model, GlusterBrick transform) { assertNotNull(transform); assertNotNull(transform.getServerId()); assertEquals(model.getServerId(), transform.getServerId()); assertNotNull(transform.getBrickDir()); assertEquals(model.getBrickDir(), transform.getBrickDir()); } /** * this test was added to support 'status' field, which has only a one-way mapping (from Backend entity to REST * entity). The generic test does a round-trip, which would fail on status comparison when there's only one-way mapping. */ @Test public void testFromBackendToRest() { testStatusMapping(GlusterStatus.UP, GlusterBrickStatus.UP); testStatusMapping(GlusterStatus.DOWN, GlusterBrickStatus.DOWN); } private void testStatusMapping(GlusterStatus backendStatus, GlusterBrickStatus restStatus) { GlusterBrickEntity brick = new GlusterBrickEntity(); brick.setStatus(backendStatus); GlusterBrick restBrick = GlusterBrickMapper.map(brick, null); assertEquals(restBrick.getStatus(), restStatus); } }