Search in sources :

Example 1 with Record

use of com.netsuite.webservices.v2014_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();
            readResponse.setStatus(createSuccessStatus());
            readResponse.setRecord(record);
            response.setReadResponse(readResponse);
            return response;
        }
    });
}
Also used : NetSuitePortType(com.netsuite.webservices.v2014_2.platform.NetSuitePortType) ReadResponse(com.netsuite.webservices.v2014_2.platform.messages.ReadResponse) InvocationOnMock(org.mockito.invocation.InvocationOnMock) GetRequest(com.netsuite.webservices.v2014_2.platform.messages.GetRequest) GetResponse(com.netsuite.webservices.v2014_2.platform.messages.GetResponse)

Example 2 with Record

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

the class NetSuiteMockTestBase method mockSearchRequestResults.

protected <T extends Record> void mockSearchRequestResults(List<T> recordList, int pageSize) throws Exception {
    final NetSuitePortType port = webServiceMockTestFixture.getPortMock();
    final List<SearchResult> pageResults = makeRecordPages(recordList, pageSize);
    when(port.search(any(SearchRequest.class))).then(new Answer<SearchResponse>() {

        @Override
        public SearchResponse answer(InvocationOnMock invocationOnMock) throws Throwable {
            SearchResponse response = new SearchResponse();
            response.setSearchResult(pageResults.get(0));
            return response;
        }
    });
    when(port.searchMoreWithId(any(SearchMoreWithIdRequest.class))).then(new Answer<SearchMoreWithIdResponse>() {

        @Override
        public SearchMoreWithIdResponse answer(InvocationOnMock invocationOnMock) throws Throwable {
            SearchMoreWithIdRequest request = (SearchMoreWithIdRequest) invocationOnMock.getArguments()[0];
            SearchMoreWithIdResponse response = new SearchMoreWithIdResponse();
            response.setSearchResult(pageResults.get(request.getPageIndex() - 1));
            return response;
        }
    });
}
Also used : NetSuitePortType(com.netsuite.webservices.v2014_2.platform.NetSuitePortType) SearchRequest(com.netsuite.webservices.v2014_2.platform.messages.SearchRequest) SearchMoreWithIdResponse(com.netsuite.webservices.v2014_2.platform.messages.SearchMoreWithIdResponse) InvocationOnMock(org.mockito.invocation.InvocationOnMock) SearchResult(com.netsuite.webservices.v2014_2.platform.core.SearchResult) SearchResponse(com.netsuite.webservices.v2014_2.platform.messages.SearchResponse) SearchMoreWithIdRequest(com.netsuite.webservices.v2014_2.platform.messages.SearchMoreWithIdRequest)

Example 3 with Record

use of com.netsuite.webservices.v2014_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.v2014_2.platform.core.Record) IndexedRecord(org.apache.avro.generic.IndexedRecord) FieldDesc(org.talend.components.netsuite.client.model.FieldDesc) Test(org.junit.Test)

Example 4 with Record

use of com.netsuite.webservices.v2014_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("Not 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.v2014_2.platform.core.Record) IndexedRecord(org.apache.avro.generic.IndexedRecord) Test(org.junit.Test)

Example 5 with Record

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

the class NetSuiteClientServiceImpl method toRecordList.

public static <RecT> List<Record> toRecordList(List<RecT> nsRecordList) {
    List<Record> recordList = new ArrayList<>(nsRecordList.size());
    for (RecT nsRecord : nsRecordList) {
        Record r = (Record) nsRecord;
        recordList.add(r);
    }
    return recordList;
}
Also used : ArrayList(java.util.ArrayList) Record(com.netsuite.webservices.v2016_2.platform.core.Record) SearchRecord(com.netsuite.webservices.v2016_2.platform.core.SearchRecord)

Aggregations

Test (org.junit.Test)11 ArrayList (java.util.ArrayList)10 Schema (org.apache.avro.Schema)9 IndexedRecord (org.apache.avro.generic.IndexedRecord)9 Record (com.netsuite.webservices.v2016_2.platform.core.Record)8 TypeDesc (org.talend.components.netsuite.client.model.TypeDesc)7 Record (com.netsuite.webservices.v2014_2.platform.core.Record)6 NsObjectInputTransducer (org.talend.components.netsuite.input.NsObjectInputTransducer)6 NetSuitePortType (com.netsuite.webservices.v2014_2.platform.NetSuitePortType)5 InvocationOnMock (org.mockito.invocation.InvocationOnMock)5 NetSuiteDatasetRuntime (org.talend.components.netsuite.NetSuiteDatasetRuntime)3 NetSuiteRuntime (org.talend.components.netsuite.NetSuiteRuntime)3 NetSuiteRuntimeImpl (org.talend.components.netsuite.v2014_2.NetSuiteRuntimeImpl)3 RecordRef (com.netsuite.webservices.v2014_2.platform.core.RecordRef)2 SearchRecord (com.netsuite.webservices.v2014_2.platform.core.SearchRecord)2 SearchResult (com.netsuite.webservices.v2014_2.platform.core.SearchResult)2 ReadResponse (com.netsuite.webservices.v2014_2.platform.messages.ReadResponse)2 WriteResponse (com.netsuite.webservices.v2014_2.platform.messages.WriteResponse)2 WriteResponseList (com.netsuite.webservices.v2014_2.platform.messages.WriteResponseList)2 SearchRecord (com.netsuite.webservices.v2016_2.platform.core.SearchRecord)2