package org.ovirt.engine.api.restapi.resource; import static org.mockito.Mockito.when; import java.util.ArrayList; import java.util.List; import org.ovirt.engine.api.model.Network; import org.ovirt.engine.core.common.businessentities.network.NetworkCluster; import org.ovirt.engine.core.common.interfaces.SearchType; public abstract class AbstractBackendNetworksResourceTest<R extends AbstractBackendNetworksResource> extends AbstractBackendCollectionResourceTest<Network, org.ovirt.engine.core.common.businessentities.network.Network, R> { public AbstractBackendNetworksResourceTest(R collection) { super(collection, null, ""); } public AbstractBackendNetworksResourceTest(R collection, SearchType searchType, String searchPrefix) { super(collection, searchType, searchPrefix); } protected void setUpEntityQueryExpectations(int times) throws Exception { setUpEntityQueryExpectations(times, null); } protected abstract void setUpEntityQueryExpectations(int times, Object failure) throws Exception; protected List<org.ovirt.engine.core.common.businessentities.network.Network> getEntityList() { List<org.ovirt.engine.core.common.businessentities.network.Network> entities = new ArrayList<>(); for (int i = 0; i < NAMES.length; i++) { entities.add(getEntity(i)); } return entities; } @Override protected org.ovirt.engine.core.common.businessentities.network.Network getEntity(int index) { org.ovirt.engine.core.common.businessentities.network.Network network = new org.ovirt.engine.core.common.businessentities.network.Network(); NetworkCluster networkCluster = new NetworkCluster(); networkCluster.setDisplay(false); networkCluster.setMigration(false); networkCluster.setRequired(false); networkCluster.setDefaultRoute(false); network.setCluster(networkCluster); network.setId(GUIDS[index]); network.setName(NAMES[index]); network.setDescription(DESCRIPTIONS[index]); network.setDataCenterId(GUIDS[1]); return network; } static org.ovirt.engine.core.common.businessentities.network.Network setUpEntityExpectations(org.ovirt.engine.core.common.businessentities.network.Network entity, boolean isDisplay, boolean isMigration, boolean isRequired, boolean isDefaultRoute, int index) { NetworkCluster networkCluster = new NetworkCluster(); networkCluster.setDisplay(isDisplay); networkCluster.setMigration(isMigration); networkCluster.setRequired(isRequired); networkCluster.setDefaultRoute(isDefaultRoute); when(entity.getCluster()).thenReturn(networkCluster); return setUpEntityExpectations(entity, index); } static org.ovirt.engine.core.common.businessentities.network.Network setUpEntityExpectations(org.ovirt.engine.core.common.businessentities.network.Network entity, int index) { when(entity.getId()).thenReturn(GUIDS[index]); when(entity.getName()).thenReturn(NAMES[index]); when(entity.getDescription()).thenReturn(DESCRIPTIONS[index]); when(entity.getDataCenterId()).thenReturn(GUIDS[1]); return entity; } protected List<Network> getCollection() { return collection.list().getNetworks(); } static Network getModel(int index) { Network model = new Network(); model.setId(GUIDS[0].toString()); model.setName(NAMES[index]); model.setDescription(DESCRIPTIONS[index]); return model; } }