package org.ovirt.engine.api.restapi.resource; import javax.ws.rs.core.Response; import org.junit.Test; import org.ovirt.engine.api.model.Network; import org.ovirt.engine.core.common.action.EditIscsiBondParameters; import org.ovirt.engine.core.common.action.VdcActionType; import org.ovirt.engine.core.common.interfaces.SearchType; import org.ovirt.engine.core.common.queries.IdQueryParameters; import org.ovirt.engine.core.common.queries.VdcQueryType; import org.ovirt.engine.core.compat.Guid; public class BackendIscsiBondNetworksResourceTest extends AbstractBackendNetworksResourceTest<BackendNetworksResource> { protected static final Guid ISCSI_BOND_ID = GUIDS[1]; protected static final Guid NETWORK_ID = GUIDS[2]; public BackendIscsiBondNetworksResourceTest() { super(new BackendIscsiBondNetworksResource(ISCSI_BOND_ID.toString()), SearchType.IscsiBond, "IscsiBonds : "); } private org.ovirt.engine.core.common.businessentities.IscsiBond getIscsiBondContainingNetwork() { org.ovirt.engine.core.common.businessentities.IscsiBond iscsiBond = getIscsiBondWithNoNetworks(); iscsiBond.getNetworkIds().add(NETWORK_ID); return iscsiBond; } private org.ovirt.engine.core.common.businessentities.IscsiBond getIscsiBondWithNoNetworks() { org.ovirt.engine.core.common.businessentities.IscsiBond iscsiBond = new org.ovirt.engine.core.common.businessentities.IscsiBond(); iscsiBond.setId(ISCSI_BOND_ID); return iscsiBond; } @Test public void testAdd() throws Exception { setUriInfo(setUpBasicUriExpectations()); Network network = getModel(0); network.setId(NETWORK_ID.toString()); setUpGetEntityExpectations(VdcQueryType.GetIscsiBondById, IdQueryParameters.class, new String[] { "Id" }, new Object[] { ISCSI_BOND_ID }, getIscsiBondWithNoNetworks()); setUpActionExpectations(VdcActionType.EditIscsiBond, EditIscsiBondParameters.class, new String[] { "IscsiBond" }, new Object[] { getIscsiBondContainingNetwork() }, true, true, null); Response response = collection.add(network); assertEquals(200, response.getStatus()); } @Override protected void setUpEntityQueryExpectations(int times, Object failure) throws Exception { while (times-- > 0) { setUpEntityQueryExpectations(VdcQueryType.GetNetworksByIscsiBondId, IdQueryParameters.class, new String[] { "Id" }, new Object[] { ISCSI_BOND_ID }, getEntityList(), failure); } } @Override protected void setUpQueryExpectations(String query, Object failure) throws Exception { setUpEntityQueryExpectations(VdcQueryType.GetNetworksByIscsiBondId, IdQueryParameters.class, new String[] { "Id" }, new Object[] { ISCSI_BOND_ID }, getEntityList(), failure); } }