@Test public void testGetBusinessObjectDefinitionColumnBusinessObjectDefinitionColumnNoExists() { // Try to get a non-existing business object definition column. try { businessObjectDefinitionColumnService .getBusinessObjectDefinitionColumn(new BusinessObjectDefinitionColumnKey(BDEF_NAMESPACE, BDEF_NAME, BDEF_COLUMN_NAME), false); fail("Should throw an ObjectNotFoundException when business object definition column does not exist."); } catch (ObjectNotFoundException e) { assertEquals(String.format("Column with name \"%s\" does not exist for business object definition {%s}.", BDEF_COLUMN_NAME, businessObjectDefinitionServiceTestHelper.getExpectedBusinessObjectDefinitionKeyAsString(BDEF_NAMESPACE, BDEF_NAME)), e.getMessage()); } }
@Test public void testDeleteBusinessObjectDefinitionSubjectMatterExpertBusinessObjectDefinitionSubjectMatterExpertNoExists() { // Try to delete a non-existing business object definition subject matter expert. try { businessObjectDefinitionSubjectMatterExpertService .deleteBusinessObjectDefinitionSubjectMatterExpert(new BusinessObjectDefinitionSubjectMatterExpertKey(BDEF_NAMESPACE, BDEF_NAME, USER_ID)); fail(); } catch (ObjectNotFoundException e) { assertEquals(String.format("Subject matter expert with user id \"%s\" does not exist for business object definition {%s}.", USER_ID, businessObjectDefinitionServiceTestHelper.getExpectedBusinessObjectDefinitionKeyAsString(BDEF_NAMESPACE, BDEF_NAME)), e.getMessage()); } }
@Test public void testDeleteBusinessObjectDefinitionColumnBusinessObjectDefinitionColumnNoExists() { // Try to delete a non-existing business object definition column. try { businessObjectDefinitionColumnService .deleteBusinessObjectDefinitionColumn(new BusinessObjectDefinitionColumnKey(BDEF_NAMESPACE, BDEF_NAME, BDEF_COLUMN_NAME)); fail("Should throw an ObjectNotFoundException when business object definition column does not exist."); } catch (ObjectNotFoundException e) { assertEquals(String.format("Column with name \"%s\" does not exist for business object definition {%s}.", BDEF_COLUMN_NAME, businessObjectDefinitionServiceTestHelper.getExpectedBusinessObjectDefinitionKeyAsString(BDEF_NAMESPACE, BDEF_NAME)), e.getMessage()); } }
@Test public void testCreateBusinessObjectDefinitionSubjectMatterExpertBusinessObjectDefinitionSubjectMatterExpertAlreadyExists() { // Create and persist a business object definition subject matter expert entity. businessObjectDefinitionSubjectMatterExpertDaoTestHelper .createBusinessObjectDefinitionSubjectMatterExpertEntity(new BusinessObjectDefinitionSubjectMatterExpertKey(BDEF_NAMESPACE, BDEF_NAME, USER_ID)); // Try to add a duplicate business object definition subject matter expert. for (String userId : Arrays.asList(USER_ID, USER_ID.toUpperCase(), USER_ID.toLowerCase())) { try { businessObjectDefinitionSubjectMatterExpertService.createBusinessObjectDefinitionSubjectMatterExpert( new BusinessObjectDefinitionSubjectMatterExpertCreateRequest( new BusinessObjectDefinitionSubjectMatterExpertKey(BDEF_NAMESPACE, BDEF_NAME, userId))); fail(); } catch (AlreadyExistsException e) { assertEquals(String.format("Unable to create business object definition subject matter expert with user id \"%s\" " + "because it already exists for the business object definition {%s}.", userId, businessObjectDefinitionServiceTestHelper.getExpectedBusinessObjectDefinitionKeyAsString(BDEF_NAMESPACE, BDEF_NAME)), e.getMessage()); } } }
@Test public void testCreateBusinessObjectDefinitionColumnBusinessObjectDefinitionColumnAlreadyExists() { // Create and persist a business object definition column entity. businessObjectDefinitionColumnDaoTestHelper .createBusinessObjectDefinitionColumnEntity(new BusinessObjectDefinitionColumnKey(BDEF_NAMESPACE, BDEF_NAME, BDEF_COLUMN_NAME), BDEF_COLUMN_DESCRIPTION); // Try to add a duplicate business object definition column. for (String businessObjectDefinitionColumnName : Lists.newArrayList(BDEF_COLUMN_NAME, BDEF_COLUMN_NAME.toUpperCase(), BDEF_COLUMN_NAME.toLowerCase())) { try { businessObjectDefinitionColumnService.createBusinessObjectDefinitionColumn(new BusinessObjectDefinitionColumnCreateRequest( new BusinessObjectDefinitionColumnKey(BDEF_NAMESPACE, BDEF_NAME, businessObjectDefinitionColumnName), COLUMN_NAME, BDEF_COLUMN_DESCRIPTION_2)); fail("Should throw an AlreadyExistsException when business object definition column already exists."); } catch (AlreadyExistsException e) { assertEquals(String.format( "Unable to create business object definition column with name \"%s\" because it already exists for the business object definition {%s}.", businessObjectDefinitionColumnName, businessObjectDefinitionServiceTestHelper.getExpectedBusinessObjectDefinitionKeyAsString(BDEF_NAMESPACE, BDEF_NAME)), e.getMessage()); } } }
@Test public void testUpdateBusinessObjectDefinitionColumnBusinessObjectDefinitionColumnNoExists() { // Try to update a non-existing business object definition column. try { businessObjectDefinitionColumnService .updateBusinessObjectDefinitionColumn(new BusinessObjectDefinitionColumnKey(BDEF_NAMESPACE, BDEF_NAME, BDEF_COLUMN_NAME), new BusinessObjectDefinitionColumnUpdateRequest(BDEF_COLUMN_DESCRIPTION)); fail("Should throw an ObjectNotFoundException when business object definition column does not exist."); } catch (ObjectNotFoundException e) { assertEquals(String.format("Column with name \"%s\" does not exist for business object definition {%s}.", BDEF_COLUMN_NAME, businessObjectDefinitionServiceTestHelper.getExpectedBusinessObjectDefinitionKeyAsString(BDEF_NAMESPACE, BDEF_NAME)), e.getMessage()); } }
businessObjectDefinitionServiceTestHelper.getExpectedBusinessObjectDefinitionKeyAsString(BDEF_NAMESPACE, BDEF_NAME)), e.getMessage());
@Test public void testDeleteBusinessObjectDefinitionTagTagNoExists() { // Try to create a non-existing business object definition tag. try { businessObjectDefinitionTagService.deleteBusinessObjectDefinitionTag( new BusinessObjectDefinitionTagKey(new BusinessObjectDefinitionKey(BDEF_NAMESPACE, BDEF_NAME), new TagKey(TAG_TYPE, TAG_CODE))); fail(); } catch (ObjectNotFoundException e) { assertEquals(String.format("Tag with tag type \"%s\" and code \"%s\" does not exist for business object definition {%s}.", TAG_TYPE, TAG_CODE, businessObjectDefinitionServiceTestHelper.getExpectedBusinessObjectDefinitionKeyAsString(BDEF_NAMESPACE, BDEF_NAME)), e.getMessage()); } }
@Test public void testCreateBusinessObjectDefinitionColumnSchemaColumnNoExists() { // Create and persist a business object definition entity. businessObjectDefinitionDaoTestHelper.createBusinessObjectDefinitionEntity(BDEF_NAMESPACE, BDEF_NAME, DATA_PROVIDER_NAME, BDEF_DESCRIPTION); // Try to create a business object definition column when there are no matching schema columns. try { businessObjectDefinitionColumnService.createBusinessObjectDefinitionColumn( new BusinessObjectDefinitionColumnCreateRequest(new BusinessObjectDefinitionColumnKey(BDEF_NAMESPACE, BDEF_NAME, BDEF_COLUMN_NAME), COLUMN_NAME, BDEF_COLUMN_DESCRIPTION)); fail("Should throw an ObjectNotFoundException when no matching schema column exists."); } catch (ObjectNotFoundException e) { assertEquals(String.format("Unable to create business object definition column because there are no format schema columns " + "with name \"%s\" for the business object definition {%s}.", COLUMN_NAME, businessObjectDefinitionServiceTestHelper.getExpectedBusinessObjectDefinitionKeyAsString(BDEF_NAMESPACE, BDEF_NAME)), e.getMessage()); } }
@Test public void testCreateBusinessObjectDefinitionTagBusinessObjectDefinitionTagAlreadyExists() { // Create a business object definition tag key. BusinessObjectDefinitionTagKey businessObjectDefinitionTagKey = new BusinessObjectDefinitionTagKey(new BusinessObjectDefinitionKey(BDEF_NAMESPACE, BDEF_NAME), new TagKey(TAG_TYPE, TAG_CODE)); // Create and persist a business object definition tag entity. businessObjectDefinitionTagDaoTestHelper.createBusinessObjectDefinitionTagEntity(businessObjectDefinitionTagKey); // Try to add a duplicate business object definition tag. try { businessObjectDefinitionTagService.createBusinessObjectDefinitionTag(new BusinessObjectDefinitionTagCreateRequest(businessObjectDefinitionTagKey)); fail(); } catch (AlreadyExistsException e) { assertEquals(String.format("Tag with tag type \"%s\" and code \"%s\" already exists for business object definition {%s}.", TAG_TYPE, TAG_CODE, businessObjectDefinitionServiceTestHelper.getExpectedBusinessObjectDefinitionKeyAsString(BDEF_NAMESPACE, BDEF_NAME)), e.getMessage()); } }
@Test public void testCreateBusinessObjectDefinitionColumnSchemaColumnNoExistsForDescriptiveFormat() { // Create and persist a business object definition entity. BusinessObjectDefinitionEntity businessObjectDefinitionEntity = businessObjectDefinitionDaoTestHelper.createBusinessObjectDefinitionEntity(BDEF_NAMESPACE, BDEF_NAME, DATA_PROVIDER_NAME, BDEF_DESCRIPTION); // Create and persist a business object format entity. BusinessObjectFormatEntity businessObjectFormatEntity = businessObjectFormatDaoTestHelper .createBusinessObjectFormatEntity(BDEF_NAMESPACE, BDEF_NAME, FORMAT_USAGE_CODE, FORMAT_FILE_TYPE_CODE, FORMAT_VERSION, FORMAT_DESCRIPTION, FORMAT_DOCUMENT_SCHEMA, LATEST_VERSION_FLAG_SET, PARTITION_KEY); // Add descriptive format to definition businessObjectDefinitionEntity.setDescriptiveBusinessObjectFormat(businessObjectFormatEntity); businessObjectDefinitionDao.saveAndRefresh(businessObjectDefinitionEntity); // Try to create a business object definition column when there are no matching schema columns. try { businessObjectDefinitionColumnService.createBusinessObjectDefinitionColumn( new BusinessObjectDefinitionColumnCreateRequest(new BusinessObjectDefinitionColumnKey(BDEF_NAMESPACE, BDEF_NAME, BDEF_COLUMN_NAME), COLUMN_NAME, BDEF_COLUMN_DESCRIPTION)); fail("Should throw an ObjectNotFoundException when no matching schema column exists."); } catch (ObjectNotFoundException e) { assertEquals(String.format("Unable to create business object definition column because there are no format schema " + "columns with name \"%s\" in the descriptive business object format for the business object definition {%s}.", COLUMN_NAME, businessObjectDefinitionServiceTestHelper.getExpectedBusinessObjectDefinitionKeyAsString(BDEF_NAMESPACE, BDEF_NAME)), e.getMessage()); } }