package org.ovirt.engine.api.restapi.types; import org.junit.Test; import org.ovirt.engine.api.model.HostStorage; import org.ovirt.engine.api.model.NfsVersion; import org.ovirt.engine.api.model.StorageConnection; import org.ovirt.engine.api.model.StorageDomain; import org.ovirt.engine.api.model.StorageDomainStatus; import org.ovirt.engine.api.model.StorageDomainType; import org.ovirt.engine.api.model.StorageFormat; import org.ovirt.engine.api.model.StorageType; import org.ovirt.engine.core.common.businessentities.StorageDomainStatic; import org.ovirt.engine.core.common.businessentities.StorageServerConnections; import org.ovirt.engine.core.compat.Guid; public class StorageDomainMapperTest extends AbstractInvertibleMappingTest<StorageDomain, StorageDomainStatic, org.ovirt.engine.core.common.businessentities.StorageDomain> { public StorageDomainMapperTest() { super(StorageDomain.class, StorageDomainStatic.class, org.ovirt.engine.core.common.businessentities.StorageDomain.class); } @Override protected StorageDomain postPopulate(StorageDomain model) { model.setType(MappingTestHelper.shuffle(StorageDomainType.class)); model.getStorage().setType(MappingTestHelper.shuffle(StorageType.class)); model.setStorageFormat(MappingTestHelper.shuffle(StorageFormat.class)); return model; } @Override protected org.ovirt.engine.core.common.businessentities.StorageDomain getInverse(StorageDomainStatic to) { org.ovirt.engine.core.common.businessentities.StorageDomain inverse = new org.ovirt.engine.core.common.businessentities.StorageDomain(); inverse.setId(to.getId()); inverse.setStorageName(to.getStorageName()); inverse.setStorageDomainType(to.getStorageDomainType()); inverse.setStorageType(to.getStorageType()); inverse.setStorageFormat(to.getStorageFormat()); inverse.setComment(to.getComment()); return inverse; } @Override protected void verify(StorageDomain model, StorageDomain transform) { assertNotNull(transform); assertEquals(model.getName(), transform.getName()); assertEquals(model.getId(), transform.getId()); // REVIST No descriptions for storage domains // assertEquals(model.getDescription(), transform.getDescription()); assertEquals(model.getComment(), transform.getComment()); assertEquals(model.getType(), transform.getType()); assertNotNull(transform.getStorage()); assertEquals(model.getStorage().getType(), transform.getStorage().getType()); assertEquals(model.getStorageFormat(), transform.getStorageFormat()); } @Test public void testMemory() { org.ovirt.engine.core.common.businessentities.StorageDomain entity = new org.ovirt.engine.core.common.businessentities.StorageDomain(); entity.setAvailableDiskSize(3); entity.setUsedDiskSize(4); entity.setCommittedDiskSize(5); StorageDomain model = StorageDomainMapper.map(entity, null); assertEquals(Long.valueOf(3221225472L), model.getAvailable()); assertEquals(Long.valueOf(4294967296L), model.getUsed()); assertEquals(Long.valueOf(5368709120L), model.getCommitted()); } @Test public void storageDomainMappings() { assertEquals( StorageDomainStatus.ACTIVE, StorageDomainMapper.mapStorageDomainStatus(org.ovirt.engine.core.common.businessentities.StorageDomainStatus.Active) ); assertEquals( StorageDomainStatus.INACTIVE, StorageDomainMapper.mapStorageDomainStatus(org.ovirt.engine.core.common.businessentities.StorageDomainStatus.Inactive) ); assertEquals( StorageDomainStatus.LOCKED, StorageDomainMapper.mapStorageDomainStatus(org.ovirt.engine.core.common.businessentities.StorageDomainStatus.Locked) ); assertEquals( StorageDomainStatus.UNATTACHED, StorageDomainMapper.mapStorageDomainStatus(org.ovirt.engine.core.common.businessentities.StorageDomainStatus.Unattached) ); assertEquals( StorageDomainStatus.UNKNOWN, StorageDomainMapper.mapStorageDomainStatus(org.ovirt.engine.core.common.businessentities.StorageDomainStatus.Unknown) ); assertNull( StorageDomainMapper.mapStorageDomainStatus(org.ovirt.engine.core.common.businessentities.StorageDomainStatus.Uninitialized) ); assertEquals( StorageDomainStatus.MAINTENANCE, StorageDomainMapper.mapStorageDomainStatus(org.ovirt.engine.core.common.businessentities.StorageDomainStatus.Maintenance) ); assertEquals(org.ovirt.engine.core.common.businessentities.NfsVersion.V3, StorageDomainMapper.map(NfsVersion.V3, null)); assertEquals(org.ovirt.engine.core.common.businessentities.NfsVersion.V4, StorageDomainMapper.map(NfsVersion.V4, null)); assertEquals(org.ovirt.engine.core.common.businessentities.NfsVersion.AUTO, StorageDomainMapper.map(NfsVersion.AUTO, null)); assertEquals(NfsVersion.V3, StorageDomainMapper.map(org.ovirt.engine.core.common .businessentities.NfsVersion.V3, null)); assertEquals(NfsVersion.V4, StorageDomainMapper.map(org.ovirt.engine.core.common .businessentities.NfsVersion.V4, null)); assertEquals(NfsVersion.AUTO, StorageDomainMapper.map(org.ovirt.engine.core.common .businessentities.NfsVersion.AUTO, null)); } @Test public void checkISCSIStorageConnectionsMappings() { StorageServerConnections connection = new StorageServerConnections(); Guid connId = Guid.newGuid(); connection.setId(connId.toString()); connection.setIqn("iqn.my.target1"); connection.setPort("3260"); connection.setStorageType(org.ovirt.engine.core.common.businessentities.storage.StorageType.ISCSI); connection.setConnection("1.2.135.255"); connection.setUserName("myuser1"); connection.setPassword("123"); HostStorage RESTConnection = new HostStorage(); RESTConnection.setId(connId.toString()); RESTConnection.setType(StorageType.ISCSI); RESTConnection.setPort(3260); RESTConnection.setTarget("iqn.my.target1"); RESTConnection.setAddress("1.2.135.255"); RESTConnection.setUsername("myuser1"); StorageConnection mappedResult = StorageDomainMapper.map(connection, null); assertEquals(RESTConnection.getId(), mappedResult.getId()); // Although password was set on StorageServerConnections object, it should not be returned via REST // thus testing here that it remains empty. assertEquals(RESTConnection.getPassword(), mappedResult.getPassword()); assertEquals(RESTConnection.getType(), mappedResult.getType()); assertEquals(RESTConnection.getAddress(), mappedResult.getAddress()); assertEquals(RESTConnection.getUsername(), mappedResult.getUsername()); assertEquals(RESTConnection.getTarget(), mappedResult.getTarget()); } @Test public void checkNFSStorageConnectionsMappings() { StorageServerConnections connection = new StorageServerConnections(); Guid connId = Guid.newGuid(); connection.setId(connId.toString()); connection.setStorageType(org.ovirt.engine.core.common.businessentities.storage.StorageType.NFS); connection.setConnection("1.2.135.255:/myshare/data"); connection.setNfsRetrans((short) 200); connection.setNfsTimeo((short) 400); connection.setNfsVersion(org.ovirt.engine.core.common.businessentities.NfsVersion.V3); connection.setMountOptions("tcp"); HostStorage RESTConnection = new HostStorage(); RESTConnection.setId(connId.toString()); RESTConnection.setType(StorageType.NFS); RESTConnection.setAddress("1.2.135.255"); RESTConnection.setPath("/myshare/data"); RESTConnection.setNfsRetrans(200); RESTConnection.setNfsTimeo(400); RESTConnection.setNfsVersion(NfsVersion.V3); RESTConnection.setMountOptions("tcp"); StorageConnection mappedResult = StorageDomainMapper.map(connection, null); assertEquals(RESTConnection.getId(), mappedResult.getId()); assertEquals(RESTConnection.getType(), mappedResult.getType()); assertEquals(RESTConnection.getAddress(), mappedResult.getAddress()); assertEquals(RESTConnection.getPath(), mappedResult.getPath()); assertEquals(RESTConnection.getNfsRetrans(), mappedResult.getNfsRetrans()); assertEquals(RESTConnection.getNfsTimeo(), mappedResult.getNfsTimeo()); assertEquals(RESTConnection.getNfsVersion(), mappedResult.getNfsVersion()); assertEquals(RESTConnection.getMountOptions(), mappedResult.getMountOptions()); } @Test public void checkPosixStorageConnectionsMappings() { StorageServerConnections connection = new StorageServerConnections(); Guid connId = Guid.newGuid(); connection.setId(connId.toString()); connection.setStorageType(org.ovirt.engine.core.common.businessentities.storage.StorageType.POSIXFS); connection.setConnection("1.2.135.255:/myshare/data"); connection.setVfsType("nfs"); connection.setMountOptions("timeo=30"); HostStorage RESTConnection = new HostStorage(); RESTConnection.setId(connId.toString()); RESTConnection.setType(StorageType.POSIXFS); RESTConnection.setAddress("1.2.135.255"); RESTConnection.setPath("/myshare/data"); RESTConnection.setVfsType("nfs"); RESTConnection.setMountOptions("timeo=30"); StorageConnection mappedResult = StorageDomainMapper.map(connection, null); assertEquals(RESTConnection.getId(), mappedResult.getId()); assertEquals(RESTConnection.getType(), mappedResult.getType()); assertEquals(RESTConnection.getAddress(), mappedResult.getAddress()); assertEquals(RESTConnection.getVfsType(), mappedResult.getVfsType()); assertEquals(RESTConnection.getPath(), mappedResult.getPath()); assertEquals(RESTConnection.getMountOptions(), mappedResult.getMountOptions()); } @Test public void checkPosixStorageConnectionsMappingsToBll() { StorageServerConnections connection = new StorageServerConnections(); Guid connId = Guid.newGuid(); connection.setId(connId.toString()); connection.setStorageType(org.ovirt.engine.core.common.businessentities.storage.StorageType.POSIXFS); connection.setConnection("1.2.135.255:/myshare/data"); connection.setVfsType("nfs"); connection.setMountOptions("timeo=30"); StorageConnection RESTConnection = new StorageConnection(); RESTConnection.setId(connId.toString()); RESTConnection.setType(StorageType.POSIXFS); RESTConnection.setAddress("1.2.135.255"); RESTConnection.setPath("/myshare/data"); RESTConnection.setVfsType("nfs"); RESTConnection.setMountOptions("timeo=30"); StorageServerConnections mappedResult = StorageDomainMapper.map(RESTConnection, null); assertEquals(connection.getId(), mappedResult.getId()); assertEquals(connection.getStorageType(), mappedResult.getStorageType()); assertEquals(connection.getConnection(), mappedResult.getConnection()); assertEquals(connection.getVfsType(), mappedResult.getVfsType()); assertEquals(connection.getMountOptions(), mappedResult.getMountOptions()); } @Test public void checkNFSStorageConnectionsMappingsToBll() { StorageServerConnections connection = new StorageServerConnections(); Guid connId = Guid.newGuid(); connection.setId(connId.toString()); connection.setStorageType(org.ovirt.engine.core.common.businessentities.storage.StorageType.NFS); connection.setConnection("1.2.135.255:/myshare/data"); connection.setNfsRetrans((short) 200); connection.setNfsTimeo((short) 400); connection.setNfsVersion(org.ovirt.engine.core.common.businessentities.NfsVersion.V3); connection.setMountOptions("tcp"); StorageConnection RESTConnection = new StorageConnection(); RESTConnection.setId(connId.toString()); RESTConnection.setType(StorageType.NFS); RESTConnection.setAddress("1.2.135.255"); RESTConnection.setPath("/myshare/data"); RESTConnection.setNfsRetrans(200); RESTConnection.setNfsTimeo(400); RESTConnection.setNfsVersion(NfsVersion.V3); RESTConnection.setMountOptions("tcp"); StorageServerConnections mappedResult = StorageDomainMapper.map(RESTConnection, null); assertEquals(connection.getId(), mappedResult.getId()); assertEquals(connection.getStorageType(), mappedResult.getStorageType()); assertEquals(connection.getConnection(), mappedResult.getConnection()); assertEquals(connection.getNfsRetrans(), mappedResult.getNfsRetrans()); assertEquals(connection.getNfsTimeo(), mappedResult.getNfsTimeo()); assertEquals(connection.getNfsVersion(), mappedResult.getNfsVersion()); assertEquals(connection.getMountOptions(), mappedResult.getMountOptions()); } @Test public void checkISCSISStorageConnectionsMappingsToBll() { StorageServerConnections connection = new StorageServerConnections(); Guid connId = Guid.newGuid(); connection.setId(connId.toString()); connection.setIqn("iqn.my.target1"); connection.setPort("3260"); connection.setStorageType(org.ovirt.engine.core.common.businessentities.storage.StorageType.ISCSI); connection.setConnection("1.2.135.255"); connection.setUserName("myuser1"); connection.setPassword("123"); StorageConnection RESTConnection = new StorageConnection(); RESTConnection.setId(connId.toString()); RESTConnection.setType(StorageType.ISCSI); RESTConnection.setPort(3260); RESTConnection.setTarget("iqn.my.target1"); RESTConnection.setAddress("1.2.135.255"); RESTConnection.setUsername("myuser1"); RESTConnection.setPassword("123"); StorageServerConnections mappedResult = StorageDomainMapper.map(RESTConnection, null); assertEquals(mappedResult.getId(), mappedResult.getId()); assertEquals(mappedResult.getStorageType(), mappedResult.getStorageType()); assertEquals(mappedResult.getConnection(), mappedResult.getConnection()); assertEquals(mappedResult.getIqn(), mappedResult.getIqn()); assertEquals(mappedResult.getUserName(), mappedResult.getUserName()); assertEquals(mappedResult.getPassword(), mappedResult.getPassword()); assertEquals(mappedResult.getPort(), mappedResult.getPort()); } }