Search in sources :

Example 6 with TSalesforceInputProperties

use of org.talend.components.salesforce.tsalesforceinput.TSalesforceInputProperties in project components by Talend.

the class SalesforceComponentTestIT method testUseExistingConnection.

@Test
public void testUseExistingConnection() throws Throwable {
    SalesforceConnectionProperties connProps = (SalesforceConnectionProperties) getComponentService().getComponentProperties(TSalesforceConnectionDefinition.COMPONENT_NAME);
    setupProps(connProps, !ADD_QUOTES);
    final String currentComponentName = TSalesforceConnectionDefinition.COMPONENT_NAME + "_1";
    RuntimeContainer connContainer = new DefaultComponentRuntimeContainerImpl() {

        @Override
        public String getCurrentComponentId() {
            return currentComponentName;
        }
    };
    SalesforceSourceOrSink salesforceSourceOrSink = new SalesforceSourceOrSink();
    salesforceSourceOrSink.initialize(connContainer, connProps);
    assertEquals(ValidationResult.Result.OK, salesforceSourceOrSink.validate(connContainer).getStatus());
    // Input component get connection from the tSalesforceConnection
    ComponentDefinition inputDefinition = getComponentService().getComponentDefinition(TSalesforceInputDefinition.COMPONENT_NAME);
    TSalesforceInputProperties inProps = (TSalesforceInputProperties) getComponentService().getComponentProperties(TSalesforceInputDefinition.COMPONENT_NAME);
    inProps.connection.referencedComponent.componentInstanceId.setValue(currentComponentName);
    SalesforceSourceOrSink salesforceInputSourceOrSink = new SalesforceSourceOrSink();
    salesforceInputSourceOrSink.initialize(connContainer, inProps);
    assertEquals(ValidationResult.Result.OK, salesforceInputSourceOrSink.validate(connContainer).getStatus());
}
Also used : SalesforceConnectionProperties(org.talend.components.salesforce.SalesforceConnectionProperties) SalesforceSourceOrSink(org.talend.components.salesforce.runtime.SalesforceSourceOrSink) DefaultComponentRuntimeContainerImpl(org.talend.components.api.container.DefaultComponentRuntimeContainerImpl) TSalesforceInputProperties(org.talend.components.salesforce.tsalesforceinput.TSalesforceInputProperties) RuntimeContainer(org.talend.components.api.container.RuntimeContainer) ComponentDefinition(org.talend.components.api.component.ComponentDefinition) Test(org.junit.Test)

Example 7 with TSalesforceInputProperties

use of org.talend.components.salesforce.tsalesforceinput.TSalesforceInputProperties in project components by Talend.

the class SalesforceComponentTestIT method testModuleNames.

@Test
public void testModuleNames() throws Throwable {
    TSalesforceInputProperties props = (TSalesforceInputProperties) getComponentService().getComponentProperties(TSalesforceInputDefinition.COMPONENT_NAME);
    setupProps(props.connection, !ADD_QUOTES);
    ComponentTestUtils.checkSerialize(props, errorCollector);
    assertEquals(2, props.getForms().size());
    Form f = props.module.getForm(Form.REFERENCE);
    assertTrue(f.getWidget("moduleName").isCallBeforeActivate());
    // The Form is bound to a Properties object that created it. The Forms might not always be associated with the
    // properties object
    // they came from.
    ComponentProperties moduleProps = (ComponentProperties) f.getProperties();
    moduleProps = (ComponentProperties) PropertiesTestUtils.checkAndBeforeActivate(getComponentService(), f, "moduleName", moduleProps);
    Property prop = (Property) f.getWidget("moduleName").getContent();
    assertTrue(prop.getPossibleValues().size() > 100);
    LOGGER.debug(prop.getPossibleValues().toString());
    LOGGER.debug(moduleProps.getValidationResult().toString());
}
Also used : ComponentProperties(org.talend.components.api.properties.ComponentProperties) Form(org.talend.daikon.properties.presentation.Form) TSalesforceInputProperties(org.talend.components.salesforce.tsalesforceinput.TSalesforceInputProperties) Property(org.talend.daikon.properties.property.Property) Test(org.junit.Test)

Example 8 with TSalesforceInputProperties

use of org.talend.components.salesforce.tsalesforceinput.TSalesforceInputProperties in project components by Talend.

the class SalesforceComponentTestIT method testSchemaWithAPIVersion.

protected void testSchemaWithAPIVersion(String version) throws Throwable {
    TSalesforceInputProperties props = (TSalesforceInputProperties) getComponentService().getComponentProperties(TSalesforceInputDefinition.COMPONENT_NAME);
    props.connection.endpoint.setValue("https://login.salesforce.com/services/Soap/u/" + version);
    setupProps(props.connection, !ADD_QUOTES);
    Form f = props.module.getForm(Form.REFERENCE);
    SalesforceModuleProperties moduleProps = (SalesforceModuleProperties) f.getProperties();
    moduleProps = (SalesforceModuleProperties) PropertiesTestUtils.checkAndBeforeActivate(getComponentService(), f, "moduleName", moduleProps);
    moduleProps.moduleName.setValue("Account");
    moduleProps = (SalesforceModuleProperties) checkAndAfter(f, "moduleName", moduleProps);
    Schema schema = moduleProps.main.schema.getValue();
    LOGGER.debug(schema.toString());
    for (Schema.Field child : schema.getFields()) {
        LOGGER.debug(child.name());
    }
    assertEquals("Id", schema.getFields().get(0).name());
    LOGGER.debug("Endpoint:" + props.connection.endpoint.getValue());
    LOGGER.debug("Module \"Account\" column size:" + schema.getFields().size());
    assertTrue(schema.getFields().size() > 40);
}
Also used : SalesforceModuleProperties(org.talend.components.salesforce.SalesforceModuleProperties) Form(org.talend.daikon.properties.presentation.Form) Schema(org.apache.avro.Schema) TSalesforceInputProperties(org.talend.components.salesforce.tsalesforceinput.TSalesforceInputProperties)

Example 9 with TSalesforceInputProperties

use of org.talend.components.salesforce.tsalesforceinput.TSalesforceInputProperties in project components by Talend.

the class SalesforceTestBase method readRows.

protected List<IndexedRecord> readRows(SalesforceConnectionModuleProperties props) throws IOException {
    TSalesforceInputProperties inputProps = (TSalesforceInputProperties) new TSalesforceInputProperties("bar").init();
    inputProps.connection = props.connection;
    inputProps.module = props.module;
    inputProps.batchSize.setValue(200);
    inputProps.queryMode.setValue(TSalesforceInputProperties.QueryMode.Query);
    List<IndexedRecord> inputRows = readRows(inputProps);
    return inputRows;
}
Also used : IndexedRecord(org.apache.avro.generic.IndexedRecord) TSalesforceInputProperties(org.talend.components.salesforce.tsalesforceinput.TSalesforceInputProperties)

Example 10 with TSalesforceInputProperties

use of org.talend.components.salesforce.tsalesforceinput.TSalesforceInputProperties in project components by Talend.

the class SalesforceBulkRuntimeTest method setUp.

@Before
public void setUp() throws Exception {
    inputProperties = new TSalesforceInputProperties("input");
    conn = mock(BulkConnection.class);
    runtime = new SalesforceBulkRuntime(conn);
    assertTrue(conn == runtime.getBulkConnection());
}
Also used : SalesforceBulkRuntime(org.talend.components.salesforce.runtime.SalesforceBulkRuntime) TSalesforceInputProperties(org.talend.components.salesforce.tsalesforceinput.TSalesforceInputProperties) BulkConnection(com.sforce.async.BulkConnection) Before(org.junit.Before)

Aggregations

TSalesforceInputProperties (org.talend.components.salesforce.tsalesforceinput.TSalesforceInputProperties)55 Test (org.junit.Test)32 IndexedRecord (org.apache.avro.generic.IndexedRecord)30 Schema (org.apache.avro.Schema)11 ArrayList (java.util.ArrayList)10 ComponentDefinition (org.talend.components.api.component.ComponentDefinition)10 TSalesforceOutputProperties (org.talend.components.salesforce.tsalesforceoutput.TSalesforceOutputProperties)9 TSalesforceOutputDefinition (org.talend.components.salesforce.tsalesforceoutput.TSalesforceOutputDefinition)7 Result (org.talend.components.api.component.runtime.Result)6 DefaultComponentRuntimeContainerImpl (org.talend.components.api.container.DefaultComponentRuntimeContainerImpl)5 IOException (java.io.IOException)4 SalesforceConnectionProperties (org.talend.components.salesforce.SalesforceConnectionProperties)4 Form (org.talend.daikon.properties.presentation.Form)4 PartnerConnection (com.sforce.soap.partner.PartnerConnection)3 LoginFault (com.sforce.soap.partner.fault.LoginFault)3 File (java.io.File)3 List (java.util.List)3 Ignore (org.junit.Ignore)3 RuntimeContainer (org.talend.components.api.container.RuntimeContainer)3 TSalesforceInputDefinition (org.talend.components.salesforce.tsalesforceinput.TSalesforceInputDefinition)3