@Test public void testSearchBusinessObjectDataPartitionValueFiltersBusinessObjectDefinitionNoExists() { businessObjectDataServiceTestHelper.createDatabaseEntitiesForBusinessObjectDataSearchTesting(); BusinessObjectDataSearchRequest request = new BusinessObjectDataSearchRequest(); List<BusinessObjectDataSearchFilter> filters = new ArrayList<>(); List<BusinessObjectDataSearchKey> businessObjectDataSearchKeys = new ArrayList<>(); BusinessObjectDataSearchKey key = new BusinessObjectDataSearchKey(); key.setNamespace(NAMESPACE); key.setBusinessObjectDefinitionName(I_DO_NOT_EXIST); List<PartitionValueFilter> partitionValueFilters = new ArrayList<>(); key.setPartitionValueFilters(partitionValueFilters); PartitionValueFilter partitionValueFilter = new PartitionValueFilter(); partitionValueFilters.add(partitionValueFilter); partitionValueFilter.setPartitionKey(PARTITION_KEY); partitionValueFilter.setPartitionValues(Arrays.asList(PARTITION_VALUE, PARTITION_VALUE_2)); businessObjectDataSearchKeys.add(key); filters.add(new BusinessObjectDataSearchFilter(businessObjectDataSearchKeys)); request.setBusinessObjectDataSearchFilters(filters); BusinessObjectDataSearchResultPagingInfoDto result = businessObjectDataService.searchBusinessObjectData(DEFAULT_PAGE_NUMBER, PAGE_SIZE, request); // The result list should be empty. assertEquals(0, result.getBusinessObjectDataSearchResult().getBusinessObjectDataElements().size()); // Validate the paging information. assertEquals(Long.valueOf(DEFAULT_PAGE_NUMBER), result.getPageNum()); assertEquals(Long.valueOf(PAGE_SIZE), result.getPageSize()); assertEquals(Long.valueOf(0), result.getPageCount()); assertEquals(Long.valueOf(0), result.getTotalRecordsOnPage()); assertEquals(Long.valueOf(0), result.getTotalRecordCount()); assertEquals(Long.valueOf(DEFAULT_PAGE_SIZE), result.getMaxResultsPerPage()); }
@Test public void testSearchBusinessObjectDataPartitionValueFilters() { businessObjectDataServiceTestHelper.createDatabaseEntitiesForBusinessObjectDataSearchTesting(); BusinessObjectDataSearchRequest request = new BusinessObjectDataSearchRequest(); List<BusinessObjectDataSearchFilter> filters = new ArrayList<>(); List<BusinessObjectDataSearchKey> businessObjectDataSearchKeys = new ArrayList<>(); BusinessObjectDataSearchKey key = new BusinessObjectDataSearchKey(); key.setNamespace(NAMESPACE); key.setBusinessObjectDefinitionName(BDEF_NAME); List<PartitionValueFilter> partitionValueFilters = new ArrayList<>(); key.setPartitionValueFilters(partitionValueFilters); PartitionValueFilter partitionValueFilter = new PartitionValueFilter(); partitionValueFilters.add(partitionValueFilter); partitionValueFilter.setPartitionKey(PARTITION_KEY); partitionValueFilter.setPartitionValues(Arrays.asList(PARTITION_VALUE, PARTITION_VALUE_2)); businessObjectDataSearchKeys.add(key); filters.add(new BusinessObjectDataSearchFilter(businessObjectDataSearchKeys)); request.setBusinessObjectDataSearchFilters(filters); BusinessObjectDataSearchResultPagingInfoDto result = businessObjectDataService.searchBusinessObjectData(DEFAULT_PAGE_NUMBER, PAGE_SIZE, request); // The search results expect to contain two business object data instances. assertEquals(2, result.getBusinessObjectDataSearchResult().getBusinessObjectDataElements().size()); // Validate the paging information. assertEquals(Long.valueOf(DEFAULT_PAGE_NUMBER), result.getPageNum()); assertEquals(Long.valueOf(PAGE_SIZE), result.getPageSize()); assertEquals(Long.valueOf(1), result.getPageCount()); assertEquals(Long.valueOf(2), result.getTotalRecordsOnPage()); assertEquals(Long.valueOf(2), result.getTotalRecordCount()); assertEquals(Long.valueOf(DEFAULT_PAGE_SIZE), result.getMaxResultsPerPage()); }
@Test public void testSearchBusinessObjectDataNoFiltersLowerCaseParameters() { // Create business object data entities required for testing. businessObjectDataServiceTestHelper.createDatabaseEntitiesForBusinessObjectDataSearchTesting(); // Search business object data by specifying all business object data search key parameters in lowercase. BusinessObjectDataSearchResultPagingInfoDto result = businessObjectDataService.searchBusinessObjectData(DEFAULT_PAGE_NUMBER, PAGE_SIZE, new BusinessObjectDataSearchRequest(Collections.singletonList(new BusinessObjectDataSearchFilter(Collections.singletonList( new BusinessObjectDataSearchKey(NAMESPACE.toLowerCase(), BDEF_NAME.toLowerCase(), FORMAT_USAGE_CODE.toLowerCase(), FORMAT_FILE_TYPE_CODE.toLowerCase(), FORMAT_VERSION, NO_PARTITION_VALUE_FILTERS, NO_REGISTRATION_DATE_RANGE_FILTER, NO_ATTRIBUTE_VALUE_FILTERS, NO_FILTER_ON_LATEST_VALID_VERSION, NO_FILTER_ON_RETENTION_EXPIRATION)))))); // Validate the results. assertEquals(1, result.getBusinessObjectDataSearchResult().getBusinessObjectDataElements().size()); for (BusinessObjectData businessObjectData : result.getBusinessObjectDataSearchResult().getBusinessObjectDataElements()) { assertEquals(NAMESPACE, businessObjectData.getNamespace()); assertEquals(BDEF_NAME, businessObjectData.getBusinessObjectDefinitionName()); assertEquals(FORMAT_USAGE_CODE, businessObjectData.getBusinessObjectFormatUsage()); assertEquals(FORMAT_FILE_TYPE_CODE, businessObjectData.getBusinessObjectFormatFileType()); assertEquals(FORMAT_VERSION, Integer.valueOf(businessObjectData.getBusinessObjectFormatVersion())); } // Validate the paging information. assertEquals(Long.valueOf(DEFAULT_PAGE_NUMBER), result.getPageNum()); assertEquals(Long.valueOf(PAGE_SIZE), result.getPageSize()); assertEquals(Long.valueOf(1), result.getPageCount()); assertEquals(Long.valueOf(1), result.getTotalRecordsOnPage()); assertEquals(Long.valueOf(1), result.getTotalRecordCount()); assertEquals(Long.valueOf(DEFAULT_PAGE_SIZE), result.getMaxResultsPerPage()); }
@Test public void testSearchBusinessObjectDataNoFiltersUpperCaseParameters() { // Create business object data entities required for testing. businessObjectDataServiceTestHelper.createDatabaseEntitiesForBusinessObjectDataSearchTesting(); // Search business object data by specifying all business object data search key parameters in uppercase. BusinessObjectDataSearchResultPagingInfoDto result = businessObjectDataService.searchBusinessObjectData(DEFAULT_PAGE_NUMBER, PAGE_SIZE, new BusinessObjectDataSearchRequest(Collections.singletonList(new BusinessObjectDataSearchFilter(Collections.singletonList( new BusinessObjectDataSearchKey(NAMESPACE.toUpperCase(), BDEF_NAME.toUpperCase(), FORMAT_USAGE_CODE.toUpperCase(), FORMAT_FILE_TYPE_CODE.toUpperCase(), FORMAT_VERSION, NO_PARTITION_VALUE_FILTERS, NO_REGISTRATION_DATE_RANGE_FILTER, NO_ATTRIBUTE_VALUE_FILTERS, NO_FILTER_ON_LATEST_VALID_VERSION, NO_FILTER_ON_RETENTION_EXPIRATION)))))); // Validate the results. assertEquals(1, result.getBusinessObjectDataSearchResult().getBusinessObjectDataElements().size()); for (BusinessObjectData businessObjectData : result.getBusinessObjectDataSearchResult().getBusinessObjectDataElements()) { assertEquals(NAMESPACE, businessObjectData.getNamespace()); assertEquals(BDEF_NAME, businessObjectData.getBusinessObjectDefinitionName()); assertEquals(FORMAT_USAGE_CODE, businessObjectData.getBusinessObjectFormatUsage()); assertEquals(FORMAT_FILE_TYPE_CODE, businessObjectData.getBusinessObjectFormatFileType()); assertEquals(FORMAT_VERSION, Integer.valueOf(businessObjectData.getBusinessObjectFormatVersion())); } // Validate the paging information. assertEquals(Long.valueOf(DEFAULT_PAGE_NUMBER), result.getPageNum()); assertEquals(Long.valueOf(PAGE_SIZE), result.getPageSize()); assertEquals(Long.valueOf(1), result.getPageCount()); assertEquals(Long.valueOf(1), result.getTotalRecordsOnPage()); assertEquals(Long.valueOf(1), result.getTotalRecordCount()); assertEquals(Long.valueOf(DEFAULT_PAGE_SIZE), result.getMaxResultsPerPage()); }
@Test public void testSearchBusinessObjectDataNoFiltersMissingOptionalParametersPassedAsWhitespace() { // Create business object data entities required for testing. businessObjectDataServiceTestHelper.createDatabaseEntitiesForBusinessObjectDataSearchTesting(); // Search business object data by specifying only parameters that are required for a business object data search key. BusinessObjectDataSearchResultPagingInfoDto result = businessObjectDataService.searchBusinessObjectData(DEFAULT_PAGE_NUMBER, PAGE_SIZE, new BusinessObjectDataSearchRequest(Collections.singletonList(new BusinessObjectDataSearchFilter(Collections.singletonList( new BusinessObjectDataSearchKey(NAMESPACE, BDEF_NAME, BLANK_TEXT, BLANK_TEXT, NO_FORMAT_VERSION, NO_PARTITION_VALUE_FILTERS, NO_REGISTRATION_DATE_RANGE_FILTER, NO_ATTRIBUTE_VALUE_FILTERS, NO_FILTER_ON_LATEST_VALID_VERSION, NO_FILTER_ON_RETENTION_EXPIRATION)))))); // Validate the results. assertEquals(2, result.getBusinessObjectDataSearchResult().getBusinessObjectDataElements().size()); for (BusinessObjectData businessObjectData : result.getBusinessObjectDataSearchResult().getBusinessObjectDataElements()) { assertEquals(NAMESPACE, businessObjectData.getNamespace()); assertEquals(BDEF_NAME, businessObjectData.getBusinessObjectDefinitionName()); } // Validate the paging information. assertEquals(Long.valueOf(DEFAULT_PAGE_NUMBER), result.getPageNum()); assertEquals(Long.valueOf(PAGE_SIZE), result.getPageSize()); assertEquals(Long.valueOf(1), result.getPageCount()); assertEquals(Long.valueOf(2), result.getTotalRecordsOnPage()); assertEquals(Long.valueOf(2), result.getTotalRecordCount()); assertEquals(Long.valueOf(DEFAULT_PAGE_SIZE), result.getMaxResultsPerPage()); }
assertEquals(Long.valueOf(DEFAULT_PAGE_NUMBER), result.getPageNum()); assertEquals(Long.valueOf(PAGE_SIZE), result.getPageSize()); assertEquals(Long.valueOf(1), result.getPageCount());
assertEquals(Long.valueOf(DEFAULT_PAGE_NUMBER), result.getPageNum()); assertEquals(Long.valueOf(PAGE_SIZE), result.getPageSize()); assertEquals(Long.valueOf(1), result.getPageCount());
@Test public void testSearchBusinessObjectDataNoFiltersMissingOptionalParametersPassedAsNulls() { // Create business object data entities required for testing. businessObjectDataServiceTestHelper.createDatabaseEntitiesForBusinessObjectDataSearchTesting(); // Search business object data by specifying only parameters that are required for a business object data search key. BusinessObjectDataSearchResultPagingInfoDto result = businessObjectDataService.searchBusinessObjectData(DEFAULT_PAGE_NUMBER, PAGE_SIZE, new BusinessObjectDataSearchRequest(Collections.singletonList(new BusinessObjectDataSearchFilter(Collections.singletonList( new BusinessObjectDataSearchKey(NAMESPACE, BDEF_NAME, NO_FORMAT_USAGE_CODE, NO_FORMAT_FILE_TYPE_CODE, NO_FORMAT_VERSION, NO_PARTITION_VALUE_FILTERS, NO_REGISTRATION_DATE_RANGE_FILTER, NO_ATTRIBUTE_VALUE_FILTERS, NO_FILTER_ON_LATEST_VALID_VERSION, NO_FILTER_ON_RETENTION_EXPIRATION)))))); // Validate the results. assertEquals(2, result.getBusinessObjectDataSearchResult().getBusinessObjectDataElements().size()); for (BusinessObjectData businessObjectData : result.getBusinessObjectDataSearchResult().getBusinessObjectDataElements()) { assertEquals(NAMESPACE, businessObjectData.getNamespace()); assertEquals(BDEF_NAME, businessObjectData.getBusinessObjectDefinitionName()); } // Validate the paging information. assertEquals(Long.valueOf(DEFAULT_PAGE_NUMBER), result.getPageNum()); assertEquals(Long.valueOf(PAGE_SIZE), result.getPageSize()); assertEquals(Long.valueOf(1), result.getPageCount()); assertEquals(Long.valueOf(2), result.getTotalRecordsOnPage()); assertEquals(Long.valueOf(2), result.getTotalRecordCount()); assertEquals(Long.valueOf(DEFAULT_PAGE_SIZE), result.getMaxResultsPerPage()); }
@Test public void testSearchBusinessObjectDataNoFilters() { // Create business object data entities required for testing. businessObjectDataServiceTestHelper.createDatabaseEntitiesForBusinessObjectDataSearchTesting(); // Search business object data by specifying all business object data search key parameters, except for filters. BusinessObjectDataSearchResultPagingInfoDto result = businessObjectDataService.searchBusinessObjectData(DEFAULT_PAGE_NUMBER, PAGE_SIZE, new BusinessObjectDataSearchRequest(Collections.singletonList(new BusinessObjectDataSearchFilter(Collections.singletonList( new BusinessObjectDataSearchKey(NAMESPACE, BDEF_NAME, FORMAT_USAGE_CODE, FORMAT_FILE_TYPE_CODE, FORMAT_VERSION, NO_PARTITION_VALUE_FILTERS, NO_REGISTRATION_DATE_RANGE_FILTER, NO_ATTRIBUTE_VALUE_FILTERS, NO_FILTER_ON_LATEST_VALID_VERSION, NO_FILTER_ON_RETENTION_EXPIRATION)))))); // Validate the results. assertEquals(1, result.getBusinessObjectDataSearchResult().getBusinessObjectDataElements().size()); for (BusinessObjectData businessObjectData : result.getBusinessObjectDataSearchResult().getBusinessObjectDataElements()) { assertEquals(NAMESPACE, businessObjectData.getNamespace()); assertEquals(BDEF_NAME, businessObjectData.getBusinessObjectDefinitionName()); assertEquals(FORMAT_USAGE_CODE, businessObjectData.getBusinessObjectFormatUsage()); assertEquals(FORMAT_FILE_TYPE_CODE, businessObjectData.getBusinessObjectFormatFileType()); assertEquals(FORMAT_VERSION, Integer.valueOf(businessObjectData.getBusinessObjectFormatVersion())); } // Validate the paging information. assertEquals(Long.valueOf(DEFAULT_PAGE_NUMBER), result.getPageNum()); assertEquals(Long.valueOf(PAGE_SIZE), result.getPageSize()); assertEquals(Long.valueOf(1), result.getPageCount()); assertEquals(Long.valueOf(1), result.getTotalRecordsOnPage()); assertEquals(Long.valueOf(1), result.getTotalRecordCount()); assertEquals(Long.valueOf(DEFAULT_PAGE_SIZE), result.getMaxResultsPerPage()); }
assertEquals(Long.valueOf(DEFAULT_PAGE_NUMBER), result.getPageNum()); assertEquals(Long.valueOf(PAGE_SIZE), result.getPageSize()); assertEquals(Long.valueOf(1), result.getPageCount());
assertEquals(Long.valueOf(1), result.getPageNum()); assertEquals(Long.valueOf(1), result.getPageSize()); assertEquals(Long.valueOf(2), result.getPageCount()); assertEquals(Long.valueOf(2), result.getPageNum()); assertEquals(Long.valueOf(1), result.getPageSize()); assertEquals(Long.valueOf(2), result.getPageCount()); assertEquals(Long.valueOf(1), result.getPageNum()); assertEquals(Long.valueOf(3), result.getPageSize()); assertEquals(Long.valueOf(1), result.getPageCount()); assertEquals(Long.valueOf(3), result.getPageNum()); assertEquals(Long.valueOf(1), result.getPageSize()); assertEquals(Long.valueOf(2), result.getPageCount());
@Test public void testSearchBusinessObjectDataNoFiltersTrimParameters() { // Create business object data entities required for testing. businessObjectDataServiceTestHelper.createDatabaseEntitiesForBusinessObjectDataSearchTesting(); // Search business object data by specifying all business object data search key string parameters with leading and trailing empty spaces. BusinessObjectDataSearchResultPagingInfoDto result = businessObjectDataService.searchBusinessObjectData(DEFAULT_PAGE_NUMBER, PAGE_SIZE, new BusinessObjectDataSearchRequest(Collections.singletonList(new BusinessObjectDataSearchFilter(Collections.singletonList( new BusinessObjectDataSearchKey(addWhitespace(NAMESPACE), addWhitespace(BDEF_NAME), addWhitespace(FORMAT_USAGE_CODE), addWhitespace(FORMAT_FILE_TYPE_CODE), FORMAT_VERSION, NO_PARTITION_VALUE_FILTERS, NO_REGISTRATION_DATE_RANGE_FILTER, NO_ATTRIBUTE_VALUE_FILTERS, NO_FILTER_ON_LATEST_VALID_VERSION, NO_FILTER_ON_RETENTION_EXPIRATION)))))); // Validate the results. assertEquals(1, result.getBusinessObjectDataSearchResult().getBusinessObjectDataElements().size()); for (BusinessObjectData businessObjectData : result.getBusinessObjectDataSearchResult().getBusinessObjectDataElements()) { assertEquals(NAMESPACE, businessObjectData.getNamespace()); assertEquals(BDEF_NAME, businessObjectData.getBusinessObjectDefinitionName()); assertEquals(FORMAT_USAGE_CODE, businessObjectData.getBusinessObjectFormatUsage()); assertEquals(FORMAT_FILE_TYPE_CODE, businessObjectData.getBusinessObjectFormatFileType()); assertEquals(FORMAT_VERSION, Integer.valueOf(businessObjectData.getBusinessObjectFormatVersion())); } // Validate the paging information. assertEquals(Long.valueOf(DEFAULT_PAGE_NUMBER), result.getPageNum()); assertEquals(Long.valueOf(PAGE_SIZE), result.getPageSize()); assertEquals(Long.valueOf(1), result.getPageCount()); assertEquals(Long.valueOf(1), result.getTotalRecordsOnPage()); assertEquals(Long.valueOf(1), result.getTotalRecordCount()); assertEquals(Long.valueOf(DEFAULT_PAGE_SIZE), result.getMaxResultsPerPage()); }