Search in sources :

Example 1 with AccountSearch

use of com.netsuite.webservices.test.lists.accounting.AccountSearch in project components by Talend.

the class SearchQueryTest method testBasics.

@Test
public void testBasics() throws Exception {
    SearchQuery s1 = clientService.newSearch();
    s1.target("Account");
    s1.condition(new SearchCondition("Type", "List.anyOf", Arrays.asList("bank")));
    s1.condition(new SearchCondition("Balance", "Double.greaterThanOrEqualTo", Arrays.asList("10000.0", "")));
    s1.condition(new SearchCondition("LegalName", "String.contains", Arrays.asList("Acme")));
    s1.condition(new SearchCondition("IsInactive", "Boolean", Arrays.asList("true")));
    s1.condition(new SearchCondition("CustomBooleanField1", "Boolean", Arrays.asList("true")));
    s1.condition(new SearchCondition("CustomStringField1", "String.doesNotContain", Arrays.asList("Foo")));
    s1.condition(new SearchCondition("CustomLongField1", "Long.lessThan", Arrays.asList("100", "")));
    SearchRecord sr1 = (SearchRecord) s1.toNativeQuery();
    assertNotNull(sr1);
    Assert.assertEquals(AccountSearch.class, sr1.getClass());
    AccountSearch search = (AccountSearch) sr1;
    assertNotNull(search.getBasic());
    AccountSearchBasic searchBasic = search.getBasic();
    assertNotNull(searchBasic.getBalance());
    SearchEnumMultiSelectField typeField = searchBasic.getType();
    Assert.assertEquals(SearchEnumMultiSelectFieldOperator.ANY_OF, typeField.getOperator());
    Assert.assertEquals(Arrays.asList("bank"), typeField.getSearchValue());
    SearchDoubleField balanceField = searchBasic.getBalance();
    Assert.assertEquals(SearchDoubleFieldOperator.GREATER_THAN_OR_EQUAL_TO, balanceField.getOperator());
    Assert.assertEquals(Double.valueOf(10000.0), balanceField.getSearchValue());
    SearchBooleanField isInactiveField = searchBasic.getIsInactive();
    Assert.assertEquals(Boolean.TRUE, isInactiveField.getSearchValue());
    SearchStringField legalNameField = searchBasic.getLegalName();
    Assert.assertEquals(SearchStringFieldOperator.CONTAINS, legalNameField.getOperator());
    Assert.assertEquals("Acme", legalNameField.getSearchValue());
    SearchCustomFieldList customFieldList = searchBasic.getCustomFieldList();
    assertNotNull(customFieldList);
    assertNotNull(customFieldList.getCustomField());
    Assert.assertEquals(3, customFieldList.getCustomField().size());
    SearchBooleanCustomField customBooleanField1 = (SearchBooleanCustomField) customFieldList.getCustomField().get(0);
    Assert.assertEquals(Boolean.TRUE, customBooleanField1.getSearchValue());
    SearchStringCustomField customStringField1 = (SearchStringCustomField) customFieldList.getCustomField().get(1);
    Assert.assertEquals(SearchStringFieldOperator.DOES_NOT_CONTAIN, customStringField1.getOperator());
    Assert.assertEquals("Foo", customStringField1.getSearchValue());
    SearchLongCustomField customLongField1 = (SearchLongCustomField) customFieldList.getCustomField().get(2);
    Assert.assertEquals(SearchLongFieldOperator.LESS_THAN, customLongField1.getOperator());
    Assert.assertEquals(Long.valueOf(100), customLongField1.getSearchValue());
}
Also used : SearchQuery(org.talend.components.netsuite.client.search.SearchQuery) SearchBooleanCustomField(com.netsuite.webservices.test.platform.core.SearchBooleanCustomField) SearchStringCustomField(com.netsuite.webservices.test.platform.core.SearchStringCustomField) SearchCustomFieldList(com.netsuite.webservices.test.platform.core.SearchCustomFieldList) SearchLongCustomField(com.netsuite.webservices.test.platform.core.SearchLongCustomField) AccountSearchBasic(com.netsuite.webservices.test.platform.common.AccountSearchBasic) AccountSearch(com.netsuite.webservices.test.lists.accounting.AccountSearch) SearchRecord(com.netsuite.webservices.test.platform.core.SearchRecord) SearchBooleanField(com.netsuite.webservices.test.platform.core.SearchBooleanField) SearchCondition(org.talend.components.netsuite.client.search.SearchCondition) SearchDoubleField(com.netsuite.webservices.test.platform.core.SearchDoubleField) SearchStringField(com.netsuite.webservices.test.platform.core.SearchStringField) SearchEnumMultiSelectField(com.netsuite.webservices.test.platform.core.SearchEnumMultiSelectField) Test(org.junit.Test)

Example 2 with AccountSearch

use of com.netsuite.webservices.test.lists.accounting.AccountSearch in project components by Talend.

the class SearchResultSetTest method testEmptyResult.

@Test
public void testEmptyResult() throws Exception {
    NetSuiteClientService<?> conn = mock(NetSuiteClientService.class);
    SearchResult result1 = new SearchResult();
    Status status = new Status();
    status.setIsSuccess(true);
    result1.setStatus(status);
    result1.setSearchId("abc123");
    result1.setPageIndex(1);
    result1.setTotalRecords(0);
    result1.setTotalPages(0);
    SearchResponse response1 = new SearchResponse();
    response1.setSearchResult(result1);
    AccountSearch nsSearchRecord1 = new AccountSearch();
    NsSearchResult nsSearchResult1 = TestNetSuiteClientService.toNsSearchResult(result1);
    when(conn.search(eq(nsSearchRecord1))).thenReturn(nsSearchResult1);
    NetSuiteClientService<?> clientService = new TestNetSuiteClientService();
    RecordTypeInfo recordTypeInfo = clientService.getMetaDataSource().getRecordType("Account");
    SearchRecordTypeDesc searchRecordTypeDesc = clientService.getMetaDataSource().getSearchRecordType(recordTypeInfo.getRecordType().getSearchRecordType());
    SearchResultSet<Record> resultSet = new SearchResultSet<>(conn, recordTypeInfo.getRecordType(), searchRecordTypeDesc, nsSearchResult1);
    assertFalse(resultSet.next());
}
Also used : Status(com.netsuite.webservices.test.platform.core.Status) SearchRecordTypeDesc(org.talend.components.netsuite.client.model.SearchRecordTypeDesc) TestNetSuiteClientService(org.talend.components.netsuite.test.client.TestNetSuiteClientService) RecordTypeInfo(org.talend.components.netsuite.client.model.RecordTypeInfo) SearchResultSet(org.talend.components.netsuite.client.search.SearchResultSet) SearchResult(com.netsuite.webservices.test.platform.core.SearchResult) Record(com.netsuite.webservices.test.platform.core.Record) SearchResponse(com.netsuite.webservices.test.platform.messages.SearchResponse) AccountSearch(com.netsuite.webservices.test.lists.accounting.AccountSearch) Test(org.junit.Test)

Example 3 with AccountSearch

use of com.netsuite.webservices.test.lists.accounting.AccountSearch in project components by Talend.

the class SearchResultSetTest method testPagination.

@Test
public void testPagination() throws Exception {
    NetSuiteClientService<?> conn = mock(NetSuiteClientService.class);
    List<Record> page1 = new ArrayList<>();
    for (int i = 0; i < 1000; i++) {
        page1.add(new Account());
    }
    List<Record> page2 = new ArrayList<>();
    for (int i = 0; i < 750; i++) {
        page2.add(new Account());
    }
    SearchResult result1 = new SearchResult();
    Status status = new Status();
    status.setIsSuccess(true);
    result1.setStatus(status);
    result1.setSearchId("abc123");
    result1.setPageIndex(1);
    result1.setTotalRecords(page1.size() + page2.size());
    result1.setTotalPages(2);
    result1.setRecordList(new RecordList());
    result1.getRecordList().getRecord().addAll(page1);
    SearchResult result2 = new SearchResult();
    result2.setStatus(status);
    result2.setSearchId(result1.getSearchId());
    result2.setPageIndex(2);
    result2.setTotalRecords(result1.getTotalRecords());
    result2.setTotalPages(result1.getTotalPages());
    result2.setRecordList(new RecordList());
    result2.getRecordList().getRecord().addAll(page2);
    SearchResponse response1 = new SearchResponse();
    response1.setSearchResult(result1);
    SearchMoreWithIdResponse response2 = new SearchMoreWithIdResponse();
    response2.setSearchResult(result2);
    AccountSearch nsSearchRecord1 = new AccountSearch();
    NsSearchResult nsSearchResult1 = TestNetSuiteClientService.toNsSearchResult(result1);
    NsSearchResult nsSearchResult2 = TestNetSuiteClientService.toNsSearchResult(result2);
    when(conn.search(eq(nsSearchRecord1))).thenReturn(nsSearchResult1);
    when(conn.searchMoreWithId(eq("abc123"), eq(2))).thenReturn(nsSearchResult2);
    NetSuiteClientService<?> clientService = new TestNetSuiteClientService();
    RecordTypeInfo recordTypeInfo = clientService.getMetaDataSource().getRecordType("Account");
    SearchRecordTypeDesc searchRecordTypeDesc = clientService.getMetaDataSource().getSearchRecordType(recordTypeInfo.getRecordType().getSearchRecordType());
    SearchResultSet<Record> resultSet = new SearchResultSet<>(conn, recordTypeInfo.getRecordType(), searchRecordTypeDesc, nsSearchResult1);
    List<Object> recordList = new ArrayList<>();
    while (resultSet.next()) {
        Object record = resultSet.get();
        assertNotNull(record);
        recordList.add(record);
    }
    assertEquals(page1.size() + page2.size(), recordList.size());
}
Also used : Status(com.netsuite.webservices.test.platform.core.Status) Account(com.netsuite.webservices.test.lists.accounting.Account) TestNetSuiteClientService(org.talend.components.netsuite.test.client.TestNetSuiteClientService) SearchMoreWithIdResponse(com.netsuite.webservices.test.platform.messages.SearchMoreWithIdResponse) ArrayList(java.util.ArrayList) SearchResult(com.netsuite.webservices.test.platform.core.SearchResult) SearchResponse(com.netsuite.webservices.test.platform.messages.SearchResponse) AccountSearch(com.netsuite.webservices.test.lists.accounting.AccountSearch) SearchRecordTypeDesc(org.talend.components.netsuite.client.model.SearchRecordTypeDesc) RecordList(com.netsuite.webservices.test.platform.core.RecordList) RecordTypeInfo(org.talend.components.netsuite.client.model.RecordTypeInfo) SearchResultSet(org.talend.components.netsuite.client.search.SearchResultSet) Record(com.netsuite.webservices.test.platform.core.Record) Test(org.junit.Test)

Example 4 with AccountSearch

use of com.netsuite.webservices.test.lists.accounting.AccountSearch in project components by Talend.

the class SearchQueryTest method testSearchOperatorWithoutValues.

@Test
public void testSearchOperatorWithoutValues() throws Exception {
    SearchQuery s1 = clientService.newSearch();
    s1.target("Account");
    s1.condition(new SearchCondition("LegalName", "String.notEmpty", null));
    SearchRecord sr1 = (SearchRecord) s1.toNativeQuery();
    AccountSearch search = (AccountSearch) sr1;
    AccountSearchBasic searchBasic = search.getBasic();
    SearchStringField legalNameField = searchBasic.getLegalName();
    Assert.assertEquals(SearchStringFieldOperator.NOT_EMPTY, legalNameField.getOperator());
    assertNull(legalNameField.getSearchValue());
}
Also used : SearchQuery(org.talend.components.netsuite.client.search.SearchQuery) SearchRecord(com.netsuite.webservices.test.platform.core.SearchRecord) SearchCondition(org.talend.components.netsuite.client.search.SearchCondition) SearchStringField(com.netsuite.webservices.test.platform.core.SearchStringField) AccountSearchBasic(com.netsuite.webservices.test.platform.common.AccountSearchBasic) AccountSearch(com.netsuite.webservices.test.lists.accounting.AccountSearch) Test(org.junit.Test)

Aggregations

AccountSearch (com.netsuite.webservices.test.lists.accounting.AccountSearch)4 Test (org.junit.Test)4 AccountSearchBasic (com.netsuite.webservices.test.platform.common.AccountSearchBasic)2 Record (com.netsuite.webservices.test.platform.core.Record)2 SearchRecord (com.netsuite.webservices.test.platform.core.SearchRecord)2 SearchResult (com.netsuite.webservices.test.platform.core.SearchResult)2 SearchStringField (com.netsuite.webservices.test.platform.core.SearchStringField)2 Status (com.netsuite.webservices.test.platform.core.Status)2 SearchResponse (com.netsuite.webservices.test.platform.messages.SearchResponse)2 RecordTypeInfo (org.talend.components.netsuite.client.model.RecordTypeInfo)2 SearchRecordTypeDesc (org.talend.components.netsuite.client.model.SearchRecordTypeDesc)2 SearchCondition (org.talend.components.netsuite.client.search.SearchCondition)2 SearchQuery (org.talend.components.netsuite.client.search.SearchQuery)2 SearchResultSet (org.talend.components.netsuite.client.search.SearchResultSet)2 TestNetSuiteClientService (org.talend.components.netsuite.test.client.TestNetSuiteClientService)2 Account (com.netsuite.webservices.test.lists.accounting.Account)1 RecordList (com.netsuite.webservices.test.platform.core.RecordList)1 SearchBooleanCustomField (com.netsuite.webservices.test.platform.core.SearchBooleanCustomField)1 SearchBooleanField (com.netsuite.webservices.test.platform.core.SearchBooleanField)1 SearchCustomFieldList (com.netsuite.webservices.test.platform.core.SearchCustomFieldList)1