package org.ovirt.engine.api.restapi.resource;
import org.junit.Test;
import org.ovirt.engine.api.model.StorageConnectionExtension;
import org.ovirt.engine.core.common.action.IdParameters;
import org.ovirt.engine.core.common.action.StorageServerConnectionExtensionParameters;
import org.ovirt.engine.core.common.action.VdcActionType;
import org.ovirt.engine.core.common.businessentities.storage.StorageServerConnectionExtension;
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 BackendStorageServerConnectionExtensionResourceTest extends AbstractBackendSubResourceTest<StorageConnectionExtension, StorageServerConnectionExtension, BackendStorageServerConnectionExtensionResource> {
private static Guid extensionID = GUIDS[0];
private static Guid hostID = GUIDS[1];
private static String username = "user";
private static String pass = "pass";
private static String iqn = "iqn";
public BackendStorageServerConnectionExtensionResourceTest() {
super(new BackendStorageServerConnectionExtensionResource(extensionID.toString(),
new BackendStorageServerConnectionExtensionsResource(hostID)));
}
@Override protected void init() {
super.init();
initResource(resource.getParent());
}
public StorageServerConnectionExtension getDefaultEntity() {
return StorageConnectionExtensionResourceTestHelper.getEntity(extensionID, hostID, pass, username, iqn);
}
public StorageConnectionExtension getDefaultModel() {
return StorageConnectionExtensionResourceTestHelper.getModel(extensionID, hostID, pass, username, iqn);
}
private void setUpGetEntityExpectations() throws Exception {
setUpEntityQueryExpectations(VdcQueryType.GetStorageServerConnectionExtensionById,
IdQueryParameters.class,
new String[] { "Id" },
new Object[] { extensionID },
getDefaultEntity());
}
@Test
public void testGet() throws Exception {
setUpGetEntityExpectations();
setUriInfo(setUpBasicUriExpectations());
StorageConnectionExtension extension = resource.get();
assertNotNull(extension);
assertEquals(extension.getId(), extensionID.toString());
}
@Test
public void testRemove() throws Exception {
setUpGetEntityExpectations();
setUriInfo(
setUpActionExpectations(
VdcActionType.RemoveStorageServerConnectionExtension,
IdParameters.class,
new String[] { "Id" },
new Object[] { extensionID },
true,
true
)
);
verifyRemove(resource.remove());
}
@Test
public void testUpdate() throws Exception {
setUpGetEntityExpectations();
setUpGetEntityExpectations(); // Get is being called twice.
setUriInfo(
setUpActionExpectations(
VdcActionType.UpdateStorageServerConnectionExtension,
StorageServerConnectionExtensionParameters.class,
new String[] { "StorageServerConnectionExtension" },
new Object[] { getDefaultEntity() },
true,
true
)
);
StorageConnectionExtension extension = resource.update(getDefaultModel());
assertNotNull(extension);
assertEquals(extension.getId(), extensionID.toString());
}
}