Search in sources :

Example 81 with Record

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

the class MarketoLeadClientTest method testDeleteLeads.

@Test
public void testDeleteLeads() throws Exception {
    IndexedRecord record = new Record(MarketoConstants.getDeleteLeadsSchema());
    record.put(0, 12345);
    // 
    doThrow(new MarketoException("REST", "error")).when(client).executePostRequest(eq(SyncResult.class), any(JsonObject.class));
    mktoSR = client.deleteLeads(new Integer[] { 12345 });
    mktoSR = client.deleteLeads(Arrays.asList(record));
    assertFalse(mktoSR.isSuccess());
    assertFalse(mktoSR.getErrorsString().isEmpty());
    // 
    doReturn(new SyncResult()).when(client).executePostRequest(eq(SyncResult.class), any(JsonObject.class));
    mktoSR = client.deleteLeads(new Integer[] { 12345 });
    assertFalse(mktoSR.isSuccess());
    // 
    SyncResult sr = new SyncResult();
    sr.setSuccess(true);
    List<SyncStatus> ssr = new ArrayList<>();
    SyncStatus ss = new SyncStatus();
    ss.setStatus("created");
    ss.setMarketoGUID("mkto-123456");
    ss.setSeq(0);
    ss.setId(12345);
    ss.setErrorMessage("");
    ssr.add(ss);
    sr.setResult(ssr);
    doReturn(sr).when(client).executePostRequest(eq(SyncResult.class), any(JsonObject.class));
    mktoSR = client.deleteLeads(new Integer[] { 12345 });
    assertTrue(mktoSR.isSuccess());
    assertTrue(mktoSR.getErrorsString().isEmpty());
}
Also used : IndexedRecord(org.apache.avro.generic.IndexedRecord) MarketoException(org.talend.components.marketo.runtime.client.type.MarketoException) SyncStatus(org.talend.components.marketo.runtime.client.rest.type.SyncStatus) ArrayList(java.util.ArrayList) JsonObject(com.google.gson.JsonObject) Record(org.apache.avro.generic.GenericData.Record) ListRecord(org.talend.components.marketo.runtime.client.rest.type.ListRecord) IndexedRecord(org.apache.avro.generic.IndexedRecord) LeadChangeRecord(org.talend.components.marketo.runtime.client.rest.type.LeadChangeRecord) LeadActivityRecord(org.talend.components.marketo.runtime.client.rest.type.LeadActivityRecord) SyncResult(org.talend.components.marketo.runtime.client.rest.response.SyncResult) MarketoSyncResult(org.talend.components.marketo.runtime.client.type.MarketoSyncResult) Test(org.junit.Test)

Example 82 with Record

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

the class MarketoSOAPClientTest method testSyncLead.

@Test
public void testSyncLead() throws Exception {
    doReturn(getSyncLeadResult()).when(port).syncLead(any(ParamsSyncLead.class), any(AuthenticationHeader.class), any(MktowsContextHeader.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.syncLead(oprops, record);
    assertNotNull(mktoSR);
    assertTrue(mktoSR.isSuccess());
    // 
    doThrow(new RuntimeException("error")).when(port).syncLead(any(ParamsSyncLead.class), any(AuthenticationHeader.class), any(MktowsContextHeader.class));
    mktoSR = client.syncLead(oprops, record);
    assertNotNull(mktoSR);
    assertFalse(mktoSR.isSuccess());
}
Also used : MktowsContextHeader(com.marketo.mktows.MktowsContextHeader) AuthenticationHeader(com.marketo.mktows.AuthenticationHeader) IndexedRecord(org.apache.avro.generic.IndexedRecord) ParamsSyncLead(com.marketo.mktows.ParamsSyncLead) 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) Test(org.junit.Test)

Example 83 with Record

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

the class MarketoCustomObjectClientTest method getCustomObjectResult.

public MarketoRecordResult getCustomObjectResult() {
    MarketoRecordResult cor = new MarketoRecordResult();
    cor.setSuccess(true);
    List<IndexedRecord> cos = new ArrayList<>();
    IndexedRecord co = new Record(MarketoConstants.getCustomObjectDescribeSchema());
    co.put(0, "car_c");
    co.put(1, "marketoGUID");
    co.put(2, "Car");
    co.put(3, "Car system");
    co.put(4, new Date());
    co.put(5, new Date());
    co.put(6, "");
    co.put(7, "{ \"brand\", \"model\" }");
    co.put(8, "{}");
    co.put(9, "{}");
    cos.add(co);
    cor.setRecords(cos);
    return cor;
}
Also used : IndexedRecord(org.apache.avro.generic.IndexedRecord) 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)

Example 84 with Record

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

the class MarketoCustomObjectClientTest method testDeleteCustomObjects.

@Test
public void testDeleteCustomObjects() throws Exception {
    oprops.customObjectDeleteBy.setValue(CustomObjectDeleteBy.idField);
    // 
    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.deleteCustomObjects(oprops, records);
    assertFalse(mktoSR.isSuccess());
    assertFalse(mktoSR.getErrorsString().isEmpty());
    // 
    doReturn(new SyncResult()).when(client).executePostRequest(eq(SyncResult.class), any(JsonObject.class));
    mktoSR = client.deleteCustomObjects(oprops, records);
    assertFalse(mktoSR.isSuccess());
    // 
    doReturn(getListOperationResult(true, "deleted")).when(client).executePostRequest(eq(SyncResult.class), any(JsonObject.class));
    mktoSR = client.deleteCustomObjects(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 85 with Record

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

the class MarketoInputWriterTest method setUp.

@Before
public void setUp() throws Exception {
    super.setUp();
    props = new TMarketoInputProperties("test");
    props.connection.setupProperties();
    props.setupProperties();
    props.leadKeyValues.setValue("email");
    props.updateSchemaRelated();
    when(sink.getProperties()).thenReturn(props);
    wop = new MarketoWriteOperation(sink);
    writer = new MarketoInputWriter(wop, null);
    writer.properties = props;
    assertTrue(writer instanceof MarketoInputWriter);
    record = new Record(MarketoConstants.getRESTSchemaForGetLeadOrGetMultipleLeads());
    record.put(1, "toto@toto.com");
}
Also used : TMarketoInputProperties(org.talend.components.marketo.tmarketoinput.TMarketoInputProperties) Record(org.apache.avro.generic.GenericData.Record) IndexedRecord(org.apache.avro.generic.IndexedRecord) Before(org.junit.Before)

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