restTemplate.postForObject(BASE_URL + "connector/create.json", connectorTO, ConnInstanceTO.class);
}
@Test
public void create() {
ConnInstanceTO connectorTO = new ConnInstanceTO();
// set connector version
connectorTO.setVersion(connidSoapVersion);
// set connector name
connectorTO.setConnectorName(WebServiceConnector.class.getName());
// set bundle name
connectorTO.setBundleName("org.connid.bundles.soap");
connectorTO.setDisplayName("Display name");
// set the connector configuration using PropertyTO
Set<ConnConfProperty> conf = new HashSet<ConnConfProperty>();
ConnConfPropSchema endpointSchema = new ConnConfPropSchema();
endpointSchema.setName("endpoint");
endpointSchema.setType(String.class.getName());
endpointSchema.setRequired(true);
ConnConfProperty endpoint = new ConnConfProperty();
endpoint.setSchema(endpointSchema);
endpoint.setValues(Collections.singletonList("http://localhost:8888/wssample/services"));
ConnConfPropSchema servicenameSchema = new ConnConfPropSchema();
servicenameSchema.setName("servicename");
servicenameSchema.setType(String.class.getName());
servicenameSchema.setRequired(true);
ConnConfProperty servicename = new ConnConfProperty();
servicename.setSchema(servicenameSchema);
servicename.setValues(Collections.singletonList("Provisioning"));
conf.add(endpoint);
conf.add(servicename);
// set connector configuration
connectorTO.setConfiguration(conf);
// set connector capabilities
connectorTO.addCapability(ConnectorCapability.TWO_PHASES_CREATE);
connectorTO.addCapability(ConnectorCapability.ONE_PHASE_CREATE);
connectorTO.addCapability(ConnectorCapability.TWO_PHASES_UPDATE);
ConnInstanceTO actual = restTemplate.postForObject(BASE_URL + "connector/create.json", connectorTO,
ConnInstanceTO.class);
assertNotNull(actual);
assertEquals(actual.getBundleName(), connectorTO.getBundleName());
assertEquals(actual.getConnectorName(), connectorTO.getConnectorName());
assertEquals(actual.getVersion(), connectorTO.getVersion());
assertEquals("Display name", actual.getDisplayName());
assertEquals(connectorTO.getCapabilities(), actual.getCapabilities());
Throwable t = null;
// check for the updating
connectorTO.setId(actual.getId());
connectorTO.removeCapability(ConnectorCapability.TWO_PHASES_UPDATE);
actual = null;
try {
actual = restTemplate.postForObject(BASE_URL + "connector/update.json", connectorTO, ConnInstanceTO.class);
} catch (HttpStatusCodeException e) {
LOG.error("update failed", e);
t = e;
}
assertNull(t);
assertNotNull(actual);
assertEquals(connectorTO.getCapabilities(), actual.getCapabilities());
// check also for the deletion of the created object
try {
ConnInstanceTO deletedConn = restTemplate.getForObject(
BASE_URL + "connector/delete/{connectorId}.json",
ConnInstanceTO.class,
String.valueOf(actual.getId()));
assertNotNull(deletedConn);
} catch (HttpStatusCodeException e) {