Search in sources :

Example 16 with Record

use of org.apache.avro.generic.GenericData.Record in project components by Talend.

the class MarketoSOAPClientTest method testSyncMultipleLeads.

@Test
public void testSyncMultipleLeads() throws Exception {
    doReturn(getSyncMultipleLeadsResult()).when(port).syncMultipleLeads(any(ParamsSyncMultipleLeads.class), any(AuthenticationHeader.class));
    oprops.afterOutputOperation();
    oprops.beforeMappingInput();
    mktoSR = client.syncLead(oprops, null);
    assertNotNull(mktoSR);
    assertFalse(mktoSR.isSuccess());
    IndexedRecord record = new Record(MarketoConstants.getSOAPOutputSchemaForSyncLead());
    record.put(0, 12345);
    record.put(1, "t@t.com");
    mktoSR = client.syncMultipleLeads(oprops, Arrays.asList(record));
    assertNotNull(mktoSR);
    assertTrue(mktoSR.isSuccess());
    // 
    doThrow(new RuntimeException("error")).when(port).syncMultipleLeads(any(ParamsSyncMultipleLeads.class), any(AuthenticationHeader.class));
    mktoSR = client.syncMultipleLeads(oprops, Arrays.asList(record));
    assertNotNull(mktoSR);
    assertFalse(mktoSR.isSuccess());
}
Also used : AuthenticationHeader(com.marketo.mktows.AuthenticationHeader) IndexedRecord(org.apache.avro.generic.IndexedRecord) ArrayOfLeadRecord(com.marketo.mktows.ArrayOfLeadRecord) Record(org.apache.avro.generic.GenericData.Record) ArrayOfActivityRecord(com.marketo.mktows.ArrayOfActivityRecord) IndexedRecord(org.apache.avro.generic.IndexedRecord) ActivityRecord(com.marketo.mktows.ActivityRecord) ArrayOfLeadChangeRecord(com.marketo.mktows.ArrayOfLeadChangeRecord) LeadChangeRecord(com.marketo.mktows.LeadChangeRecord) LeadRecord(com.marketo.mktows.LeadRecord) ParamsSyncMultipleLeads(com.marketo.mktows.ParamsSyncMultipleLeads) Test(org.junit.Test)

Example 17 with Record

use of org.apache.avro.generic.GenericData.Record in project components by Talend.

the class MarketoSourceOrSinkTest method getDescribeCO.

public MarketoRecordResult getDescribeCO() {
    MarketoRecordResult mkto = new MarketoRecordResult();
    mkto.setSuccess(true);
    IndexedRecord record = new Record(MarketoConstants.getCustomObjectDescribeSchema());
    record.put(0, "car_c");
    record.put(1, "car_c");
    // dedupe
    record.put(6, "[\"model\"]");
    record.put(8, "[{\"displayName\":\"CreatedAt\",\"dataType\":\"datetime\",\"name\":\"createdAt\"," + // fields
    "\"updateable\":false},{\"displayName\":\"MarketoGUID\",\"dataType\":\"string\",\"length\":36,\"name\":\"marketoGUID\",\"updateable\":false}]");
    mkto.setRecords(Arrays.asList(record));
    return mkto;
}
Also used : IndexedRecord(org.apache.avro.generic.IndexedRecord) Record(org.apache.avro.generic.GenericData.Record) IndexedRecord(org.apache.avro.generic.IndexedRecord) MarketoRecordResult(org.talend.components.marketo.runtime.client.type.MarketoRecordResult)

Example 18 with Record

use of org.apache.avro.generic.GenericData.Record in project components by Talend.

the class MarketoCustomObjectClientTest method testSyncCustomObjects.

@Test
public void testSyncCustomObjects() throws Exception {
    oprops.customObjectSyncAction.setValue(CustomObjectSyncAction.createOrUpdate);
    oprops.customObjectDedupeBy.setValue("marketoGUID");
    // 
    doThrow(new MarketoException("REST", "error")).when(client).executePostRequest(eq(SyncResult.class), any(JsonObject.class));
    List<IndexedRecord> records = new ArrayList<>();
    IndexedRecord record = new Record(MarketoConstants.getCustomObjectRecordSchema());
    record.put(0, "mkto-123456");
    records.add(record);
    mktoSR = client.syncCustomObjects(oprops, records);
    assertFalse(mktoSR.isSuccess());
    assertFalse(mktoSR.getErrorsString().isEmpty());
    // 
    doReturn(new SyncResult()).when(client).executePostRequest(eq(SyncResult.class), any(JsonObject.class));
    mktoSR = client.syncCustomObjects(oprops, records);
    assertFalse(mktoSR.isSuccess());
    // 
    doReturn(getListOperationResult(true, "deleted")).when(client).executePostRequest(eq(SyncResult.class), any(JsonObject.class));
    mktoSR = client.syncCustomObjects(oprops, records);
    assertTrue(mktoSR.isSuccess());
    assertTrue(mktoSR.getErrorsString().isEmpty());
}
Also used : IndexedRecord(org.apache.avro.generic.IndexedRecord) MarketoException(org.talend.components.marketo.runtime.client.type.MarketoException) ArrayList(java.util.ArrayList) JsonObject(com.google.gson.JsonObject) Record(org.apache.avro.generic.GenericData.Record) IndexedRecord(org.apache.avro.generic.IndexedRecord) SyncResult(org.talend.components.marketo.runtime.client.rest.response.SyncResult) Test(org.junit.Test)

Example 19 with Record

use of org.apache.avro.generic.GenericData.Record in project components by Talend.

the class MarketoCustomObjectClientTest method testGetCustomObjects.

@Test
public void testGetCustomObjects() throws Exception {
    iprops.customObjectAction.setValue(CustomObjectAction.get);
    doThrow(new MarketoException("REST", "error")).when(client).executeGetRequest(any(Schema.class));
    mktoRR = client.getCustomObjects(iprops, null);
    assertFalse(mktoRR.isSuccess());
    assertFalse(mktoRR.getErrorsString().isEmpty());
    // 
    doReturn(new MarketoRecordResult()).when(client).executeGetRequest(any(Schema.class));
    mktoRR = client.getCustomObjects(iprops, null);
    assertFalse(mktoRR.isSuccess());
    assertTrue(mktoRR.getErrorsString().isEmpty());
    // 
    MarketoRecordResult mrr = new MarketoRecordResult();
    mrr.setSuccess(true);
    mrr.setRemainCount(0);
    mrr.setRecordCount(1);
    List<IndexedRecord> records = new ArrayList<>();
    IndexedRecord record = new Record(MarketoConstants.getCustomObjectRecordSchema());
    record.put(0, "mkto-123456");
    record.put(1, 0);
    record.put(2, new Date());
    record.put(3, new Date());
    records.add(record);
    mrr.setRecords(records);
    doReturn(mrr).when(client).executeGetRequest(any(Schema.class));
    mktoRR = client.getCustomObjects(iprops, null);
    assertTrue(mktoRR.isSuccess());
    assertTrue(mktoRR.getErrorsString().isEmpty());
}
Also used : IndexedRecord(org.apache.avro.generic.IndexedRecord) MarketoException(org.talend.components.marketo.runtime.client.type.MarketoException) Schema(org.apache.avro.Schema) ArrayList(java.util.ArrayList) Record(org.apache.avro.generic.GenericData.Record) IndexedRecord(org.apache.avro.generic.IndexedRecord) Date(java.util.Date) MarketoRecordResult(org.talend.components.marketo.runtime.client.type.MarketoRecordResult) Test(org.junit.Test)

Example 20 with Record

use of org.apache.avro.generic.GenericData.Record in project components by Talend.

the class MarketoResultTest method testToString.

@Test
public void testToString() throws Exception {
    IndexedRecord ir = new Record(MarketoConstants.getRESTSchemaForGetLeadOrGetMultipleLeads());
    result = new MarketoRecordResult(true, "POS", 0, 0, Arrays.asList(ir));
    String s = "MarketoRecordResult{requestId='', success=true, errors=null, recordCount=0, remainCount=0, " + "streamPosition='POS', records=[{\"id\": null, \"email\": null, \"firstName\": null, \"lastName\": " + "null, \"createdAt\": null, \"updatedAt\": null}]}";
    assertEquals(s, result.toString());
}
Also used : IndexedRecord(org.apache.avro.generic.IndexedRecord) Record(org.apache.avro.generic.GenericData.Record) IndexedRecord(org.apache.avro.generic.IndexedRecord) MarketoRecordResult(org.talend.components.marketo.runtime.client.type.MarketoRecordResult) Test(org.junit.Test)

Aggregations

Record (org.apache.avro.generic.GenericData.Record)96 Test (org.junit.Test)44 IndexedRecord (org.apache.avro.generic.IndexedRecord)43 Schema (org.apache.avro.Schema)33 ArrayList (java.util.ArrayList)24 GenericRecord (org.apache.avro.generic.GenericRecord)14 Field (org.apache.avro.Schema.Field)11 List (java.util.List)10 GenericData (org.apache.avro.generic.GenericData)10 TestRunner (org.apache.nifi.util.TestRunner)8 GenericRecordBuilder (org.apache.avro.generic.GenericRecordBuilder)7 JsonObject (com.google.gson.JsonObject)6 DataFileStream (org.apache.avro.file.DataFileStream)6 DataFileWriter (org.apache.avro.file.DataFileWriter)6 GenericDatumReader (org.apache.avro.generic.GenericDatumReader)6 Utf8 (org.apache.avro.util.Utf8)6 TMarketoOutputProperties (org.talend.components.marketo.tmarketooutput.TMarketoOutputProperties)6 ActivityRecord (com.marketo.mktows.ActivityRecord)5 ArrayOfLeadRecord (com.marketo.mktows.ArrayOfLeadRecord)5 LeadChangeRecord (com.marketo.mktows.LeadChangeRecord)5