Search in sources :

Example 21 with Record

use of com.netsuite.webservices.v2016_2.platform.core.Record in project components by Talend.

the class NetSuiteMockTestBase method mockGetRequestResults.

protected <T extends Record> void mockGetRequestResults(final T record) throws Exception {
    final NetSuitePortType port = webServiceMockTestFixture.getPortMock();
    when(port.get(any(GetRequest.class))).then(new Answer<GetResponse>() {

        @Override
        public GetResponse answer(InvocationOnMock invocationOnMock) throws Throwable {
            GetResponse response = new GetResponse();
            ReadResponse readResponse = new ReadResponse();
            if (record != null) {
                readResponse.setStatus(createSuccessStatus());
            } else {
                readResponse.setStatus(createNotFoundStatus());
            }
            readResponse.setRecord(record);
            response.setReadResponse(readResponse);
            return response;
        }
    });
}
Also used : NetSuitePortType(com.netsuite.webservices.v2016_2.platform.NetSuitePortType) ReadResponse(com.netsuite.webservices.v2016_2.platform.messages.ReadResponse) InvocationOnMock(org.mockito.invocation.InvocationOnMock) GetRequest(com.netsuite.webservices.v2016_2.platform.messages.GetRequest) GetResponse(com.netsuite.webservices.v2016_2.platform.messages.GetResponse)

Example 22 with Record

use of com.netsuite.webservices.v2016_2.platform.core.Record in project components by Talend.

the class NetSuiteClientServiceIT method testSearchCustomRecord.

@Test
public void testSearchCustomRecord() throws Exception {
    NetSuiteClientService<?> connection = webServiceTestFixture.getClientService();
    connection.login();
    Collection<RecordTypeInfo> recordTypes = connection.getMetaDataSource().getRecordTypes();
    RecordTypeInfo recordType = getCustomRecordType(recordTypes, "customrecord_campaign_revenue");
    SearchQuery searchQuery = connection.newSearch();
    searchQuery.target(recordType.getName());
    SearchResultSet<Record> rs = searchQuery.search();
    int count = 10;
    while (rs.next() && count-- > 0) {
        Record record = rs.get();
        assertNotNull(record);
    }
}
Also used : SearchQuery(org.talend.components.netsuite.client.search.SearchQuery) RecordTypeInfo(org.talend.components.netsuite.client.model.RecordTypeInfo) Record(com.netsuite.webservices.v2016_2.platform.core.Record) Test(org.junit.Test)

Example 23 with Record

use of com.netsuite.webservices.v2016_2.platform.core.Record in project components by Talend.

the class NetSuiteClientServiceIT method testConnectAndLogin.

@Test
public void testConnectAndLogin() throws Exception {
    NetSuiteClientService<?> connection = webServiceTestFixture.getClientService();
    connection.login();
    SearchResultSet<Record> rs = connection.newSearch().target("Account").condition(new SearchCondition("Type", "List.anyOf", Arrays.asList("Bank"))).search();
    int count = 10;
    int retrievedCount = 0;
    while (rs.next() && count-- > 0) {
        Record record = rs.get();
        assertEquals(AccountType.BANK, getProperty(record, "acctType"));
        retrievedCount++;
    }
    assertTrue(retrievedCount > 1);
}
Also used : SearchCondition(org.talend.components.netsuite.client.search.SearchCondition) Record(com.netsuite.webservices.v2016_2.platform.core.Record) Test(org.junit.Test)

Example 24 with Record

use of com.netsuite.webservices.v2016_2.platform.core.Record in project components by Talend.

the class NsObjectInputTransducerIT method testIncludeAllFields.

@Test
public void testIncludeAllFields() throws Exception {
    NetSuiteClientService<?> connection = webServiceTestFixture.getClientService();
    connection.login();
    TypeDesc basicTypeDesc = connection.getBasicMetaData().getTypeInfo("Opportunity");
    Schema schema = getDynamicSchema();
    NsObjectInputTransducer transducer = new NsObjectInputTransducer(connection, schema, basicTypeDesc.getTypeName());
    SearchResultSet<Record> rs = connection.newSearch().target(basicTypeDesc.getTypeName()).search();
    TypeDesc typeDesc = connection.getMetaDataSource().getTypeInfo(basicTypeDesc.getTypeName());
    int count = 0;
    while (count++ < connection.getSearchPageSize() && rs.next()) {
        Record record = rs.get();
        IndexedRecord indexedRecord = transducer.read(record);
        logger.debug("Indexed record: {}", indexedRecord);
        Schema recordSchema = indexedRecord.getSchema();
        assertEquals(typeDesc.getFields().size(), recordSchema.getFields().size());
        for (FieldDesc fieldDesc : typeDesc.getFields()) {
            String fieldName = fieldDesc.getName();
            Schema.Field field = recordSchema.getField(fieldName);
            assertNotNull(field);
            Object value = indexedRecord.get(field.pos());
        }
    }
    if (count == 0) {
        throw new IllegalStateException("No records");
    }
}
Also used : IndexedRecord(org.apache.avro.generic.IndexedRecord) Schema(org.apache.avro.Schema) TypeDesc(org.talend.components.netsuite.client.model.TypeDesc) NsObjectInputTransducer(org.talend.components.netsuite.input.NsObjectInputTransducer) Record(com.netsuite.webservices.v2016_2.platform.core.Record) IndexedRecord(org.apache.avro.generic.IndexedRecord) FieldDesc(org.talend.components.netsuite.client.model.FieldDesc) Test(org.junit.Test)

Example 25 with Record

use of com.netsuite.webservices.v2016_2.platform.core.Record in project components by Talend.

the class NsObjectInputTransducerIT method testBasic.

@Test
public void testBasic() throws Exception {
    NetSuiteClientService<?> connection = webServiceTestFixture.getClientService();
    connection.login();
    TypeDesc typeDesc = connection.getMetaDataSource().getTypeInfo("Opportunity");
    Schema schema = NetSuiteDatasetRuntimeImpl.inferSchemaForType(typeDesc.getTypeName(), typeDesc.getFields());
    NsObjectInputTransducer transducer = new NsObjectInputTransducer(connection, schema, typeDesc.getTypeName());
    SearchResultSet<Record> rs = connection.newSearch().target(typeDesc.getTypeName()).search();
    if (!rs.next()) {
        throw new IllegalStateException("No records");
    }
    Record record = rs.get();
    IndexedRecord indexedRecord = transducer.read(record);
    logger.debug("Indexed record: {}", indexedRecord);
}
Also used : IndexedRecord(org.apache.avro.generic.IndexedRecord) Schema(org.apache.avro.Schema) TypeDesc(org.talend.components.netsuite.client.model.TypeDesc) NsObjectInputTransducer(org.talend.components.netsuite.input.NsObjectInputTransducer) Record(com.netsuite.webservices.v2016_2.platform.core.Record) IndexedRecord(org.apache.avro.generic.IndexedRecord) Test(org.junit.Test)

Aggregations

ArrayList (java.util.ArrayList)18 Test (org.junit.Test)15 Schema (org.apache.avro.Schema)13 IndexedRecord (org.apache.avro.generic.IndexedRecord)13 NetSuitePortType (com.netsuite.webservices.v2016_2.platform.NetSuitePortType)10 Record (com.netsuite.webservices.v2016_2.platform.core.Record)8 TypeDesc (org.talend.components.netsuite.client.model.TypeDesc)8 NetSuiteDatasetRuntime (org.talend.components.netsuite.NetSuiteDatasetRuntime)7 NetSuiteRuntimeImpl (org.talend.components.netsuite.v2016_2.NetSuiteRuntimeImpl)7 Record (com.netsuite.webservices.v2014_2.platform.core.Record)6 GetListRequest (com.netsuite.webservices.v2016_2.platform.messages.GetListRequest)6 Result (org.talend.components.api.component.runtime.Result)6 NetSuiteSink (org.talend.components.netsuite.NetSuiteSink)6 NsSearchResult (org.talend.components.netsuite.client.NsSearchResult)6 NsObjectInputTransducer (org.talend.components.netsuite.input.NsObjectInputTransducer)6 NetSuiteOutputWriter (org.talend.components.netsuite.output.NetSuiteOutputWriter)6 NetSuiteWriteOperation (org.talend.components.netsuite.output.NetSuiteWriteOperation)6 NetSuiteSinkImpl (org.talend.components.netsuite.v2016_2.NetSuiteSinkImpl)6 CustomFieldList (com.netsuite.webservices.v2016_2.platform.core.CustomFieldList)5 RecordRef (com.netsuite.webservices.v2016_2.platform.core.RecordRef)5