use of org.talend.components.marketo.runtime.MarketoSource in project components by Talend.
the class MarketoSOAPClientTestIT method testGetMultipleLeadsListId.
@Test
public void testGetMultipleLeadsListId() throws Exception {
inputProperties.inputOperation.setValue(getMultipleLeads);
inputProperties.leadSelectorSOAP.setValue(StaticListSelector);
inputProperties.updateSchemaRelated();
inputProperties.batchSize.setValue(10);
//
inputProperties.listParam.setValue(STATIC_LIST_ID);
inputProperties.listParamListId.setValue(UNDX_TEST_LIST_SMALL_ID);
MarketoSource source = new MarketoSource();
source.initialize(null, inputProperties);
MarketoClientService client = source.getClientService(null);
//
MarketoRecordResult result = client.getMultipleLeads(inputProperties, null);
LOG.debug("{}", result);
assertTrue(result.isSuccess());
assertTrue(result.getErrors().isEmpty());
assertNotEquals(0, result.getRecordCount());
assertNotEquals(0, result.getRemainCount());
assertTrue(result.getRecordCount() > 4);
}
use of org.talend.components.marketo.runtime.MarketoSource in project components by Talend.
the class MarketoSOAPClientTestIT method testGetLeadActivity.
@Test
public void testGetLeadActivity() throws Exception {
inputProperties.inputOperation.setValue(getLeadActivity);
inputProperties.leadKeyTypeSOAP.setValue(EMAIL);
inputProperties.leadSelectorSOAP.setValue(LeadKeySelector);
inputProperties.afterInputOperation();
inputProperties.beforeMappingInput();
inputProperties.batchSize.setValue(11);
//
inputProperties.leadKeyValue.setValue(EMAIL_LEAD_MANY_INFOS);
MarketoSource source = new MarketoSource();
source.initialize(null, inputProperties);
MarketoClientService client = source.getClientService(null);
//
MarketoRecordResult result = client.getLeadActivity(inputProperties, null);
LOG.debug("{}", result);
assertTrue(result.isSuccess());
List<IndexedRecord> records = result.getRecords();
assertTrue(records.size() > 0);
for (IndexedRecord r : records) {
assertNotNull(r.get(0));
assertTrue(r.get(0) instanceof Long);
}
}
use of org.talend.components.marketo.runtime.MarketoSource in project components by Talend.
the class MarketoSOAPClientTestIT method testIsMemberOfList.
@Test
public void testIsMemberOfList() throws Exception {
MarketoSource source = new MarketoSource();
source.initialize(null, listProperties);
MarketoClientService client = source.getClientService(null);
//
ListOperationParameters parms = new ListOperationParameters();
parms.setApiMode(SOAP.name());
parms.setListKeyValue(UNDX_TEST_LIST_SMALL);
parms.setStrict(true);
parms.setLeadKeyValue(new String[] { createdLeads.get(0).toString(), createdLeads.get(1).toString(), createdLeads.get(2).toString(), "12345" });
//
MarketoSyncResult result = client.isMemberOfList(parms);
LOG.debug("result = {}.", result);
List<SyncStatus> changes = result.getRecords();
assertTrue(changes.size() > 0);
for (SyncStatus r : changes) {
assertNotNull(r);
assertNotNull(r.getId());
assertNotNull(r.getStatus());
LOG.debug("r = {}.", r);
}
}
use of org.talend.components.marketo.runtime.MarketoSource in project components by Talend.
the class MarketoSOAPClientTestIT method testSyncMultipleLeads.
@Test
public void testSyncMultipleLeads() throws Exception {
MarketoSource source = new MarketoSource();
outProperties.outputOperation.setValue(OutputOperation.syncLead);
outProperties.updateSchemaRelated();
source.initialize(null, listProperties);
MarketoClientService client = source.getClientService(null);
// test attributes
List<Field> fields = new ArrayList<>();
Field field = new Schema.Field("AccountType", Schema.create(Schema.Type.STRING), null, (Object) null);
fields.add(field);
Schema s = MarketoUtils.newSchema(outProperties.schemaInput.schema.getValue(), "leadAttribute", fields);
outProperties.schemaInput.schema.setValue(s);
outProperties.beforeMappingInput();
List<IndexedRecord> records = new ArrayList<>();
for (int i = 0; i < 3; i++) {
IndexedRecord record = new GenericData.Record(s);
record.put(0, null);
record.put(1, "undx" + i + "@undx.net");
record.put(2, "");
// CUSTOM, SFDC, NETSUITE;
record.put(3, "CUSTOM");
record.put(4, "customer" + i);
records.add(record);
}
//
MarketoSyncResult result = client.syncMultipleLeads(outProperties, records);
for (SyncStatus status : result.getRecords()) {
assertEquals("CREATED", status.getStatus());
}
//
outProperties.deDupeEnabled.setValue(true);
result = client.syncMultipleLeads(outProperties, records);
for (SyncStatus status : result.getRecords()) {
assertEquals("UPDATED", status.getStatus());
}
}
use of org.talend.components.marketo.runtime.MarketoSource in project components by Talend.
the class MarketoSOAPClientTestIT method testGetLeadFail.
@Test
public void testGetLeadFail() throws Exception {
inputProperties.inputOperation.setValue(getLead);
inputProperties.leadKeyTypeSOAP.setValue(EMAIL);
inputProperties.afterInputOperation();
//
inputProperties.leadKeyValue.setValue(EMAIL_INEXISTANT);
MarketoSource source = new MarketoSource();
source.initialize(null, inputProperties);
MarketoClientService client = source.getClientService(null);
//
MarketoRecordResult result = client.getLead(inputProperties, null);
List<IndexedRecord> records = result.getRecords();
assertEquals(emptyList(), records);
LOG.debug("record = " + records);
}
Aggregations