@Test public void testModifyTagsInSearchIndexBlankMessage() { // Create a tag entity list TagEntity tagEntity = new TagEntity(); tagEntity.setId(1); List<TagEntity> tagEntityList = new ArrayList<>(); tagEntityList.add(tagEntity); // Create a list of tag ids List<Integer> tagIds = new ArrayList<>(); tagIds.add(tagEntity.getId()); // Create a search index dto SearchIndexUpdateDto searchIndexUpdateDto = new SearchIndexUpdateDto(MESSAGE_TYPE_TAG_UPDATE, tagIds, SEARCH_INDEX_UPDATE_TYPE_UPDATE); // Mock the call to external methods when(jsonHelper.objectToJson(searchIndexUpdateDto)).thenReturn(""); when(configurationHelper.getProperty(ConfigurationValue.SEARCH_INDEX_UPDATE_JMS_LISTENER_ENABLED)).thenReturn("true"); when(configurationHelper.getProperty(ConfigurationValue.SEARCH_INDEX_UPDATE_SQS_QUEUE_NAME)).thenReturn(AWS_SQS_QUEUE_NAME); // Call the method under test searchIndexUpdateHelper.modifyTagsInSearchIndex(tagEntityList, SEARCH_INDEX_UPDATE_TYPE_UPDATE); // Verify the calls to external methods verify(jsonHelper).objectToJson(searchIndexUpdateDto); verify(configurationHelper).getProperty(ConfigurationValue.SEARCH_INDEX_UPDATE_JMS_LISTENER_ENABLED); verifyNoMoreInteractionsHelper(); }
@Test public void testModifyTagsInSearchIndex() { // Create a tag entity list TagEntity tagEntity = new TagEntity(); tagEntity.setId(1); List<TagEntity> tagEntityList = new ArrayList<>(); tagEntityList.add(tagEntity); // Create a list of tag ids List<Integer> tagIds = new ArrayList<>(); tagIds.add(tagEntity.getId()); // Create a search index dto SearchIndexUpdateDto searchIndexUpdateDto = new SearchIndexUpdateDto(MESSAGE_TYPE_TAG_UPDATE, tagIds, SEARCH_INDEX_UPDATE_TYPE_UPDATE); // Mock the call to external methods when(jsonHelper.objectToJson(searchIndexUpdateDto)).thenReturn(MESSAGE_TEXT); when(configurationHelper.getProperty(ConfigurationValue.SEARCH_INDEX_UPDATE_JMS_LISTENER_ENABLED)).thenReturn("true"); when(configurationHelper.getProperty(ConfigurationValue.SEARCH_INDEX_UPDATE_SQS_QUEUE_NAME)).thenReturn(AWS_SQS_QUEUE_NAME); // Call the method under test searchIndexUpdateHelper.modifyTagsInSearchIndex(tagEntityList, SEARCH_INDEX_UPDATE_TYPE_UPDATE); // Verify the calls to external methods verify(jsonHelper).objectToJson(searchIndexUpdateDto); verify(configurationHelper).getProperty(ConfigurationValue.SEARCH_INDEX_UPDATE_JMS_LISTENER_ENABLED); verify(configurationHelper).getProperty(ConfigurationValue.SEARCH_INDEX_UPDATE_SQS_QUEUE_NAME); verify(notificationMessagePublishingService) .addNotificationMessageToDatabaseQueue(new NotificationMessage(MessageTypeEntity.MessageEventTypes.SQS.name(), AWS_SQS_QUEUE_NAME, MESSAGE_TEXT, NO_MESSAGE_HEADERS)); verifyNoMoreInteractionsHelper(); }
@Test public void testModifyTagInSearchIndexBlankMessage() { // Create a tag entity TagEntity tagEntity = new TagEntity(); tagEntity.setId(1); // Create a list of tag ids List<Integer> tagIds = new ArrayList<>(); tagIds.add(tagEntity.getId()); // Create a search index dto SearchIndexUpdateDto searchIndexUpdateDto = new SearchIndexUpdateDto(MESSAGE_TYPE_TAG_UPDATE, tagIds, SEARCH_INDEX_UPDATE_TYPE_UPDATE); // Mock the call to external methods when(jsonHelper.objectToJson(searchIndexUpdateDto)).thenReturn(""); when(configurationHelper.getProperty(ConfigurationValue.SEARCH_INDEX_UPDATE_JMS_LISTENER_ENABLED)).thenReturn("true"); when(configurationHelper.getProperty(ConfigurationValue.SEARCH_INDEX_UPDATE_SQS_QUEUE_NAME)).thenReturn(AWS_SQS_QUEUE_NAME); // Call the method under test searchIndexUpdateHelper.modifyTagInSearchIndex(tagEntity, SEARCH_INDEX_UPDATE_TYPE_UPDATE); // Verify the calls to external methods verify(jsonHelper).objectToJson(searchIndexUpdateDto); verify(configurationHelper).getProperty(ConfigurationValue.SEARCH_INDEX_UPDATE_JMS_LISTENER_ENABLED); verifyNoMoreInteractionsHelper(); }
@Test public void testModifyTagInSearchIndexSearchIndexUpdateJmsListenerDisabled() { // Create a tag entity TagEntity tagEntity = new TagEntity(); tagEntity.setId(1); // Create a list of tag ids List<Integer> tagIds = new ArrayList<>(); tagIds.add(tagEntity.getId()); // Create a search index dto SearchIndexUpdateDto searchIndexUpdateDto = new SearchIndexUpdateDto(MESSAGE_TYPE_TAG_UPDATE, tagIds, SEARCH_INDEX_UPDATE_TYPE_UPDATE); // Mock the call to external methods when(jsonHelper.objectToJson(searchIndexUpdateDto)).thenReturn(MESSAGE_TEXT); when(configurationHelper.getProperty(ConfigurationValue.SEARCH_INDEX_UPDATE_JMS_LISTENER_ENABLED)).thenReturn("false"); // Call the method under test searchIndexUpdateHelper.modifyTagInSearchIndex(tagEntity, SEARCH_INDEX_UPDATE_TYPE_UPDATE); // Verify the calls to external methods verify(jsonHelper).objectToJson(searchIndexUpdateDto); verify(configurationHelper).getProperty(ConfigurationValue.SEARCH_INDEX_UPDATE_JMS_LISTENER_ENABLED); verifyNoMoreInteractionsHelper(); }
TagEntity tagEntity = new TagEntity(); tagEntity.setId(1); List<TagEntity> tagEntityList = new ArrayList<>();
@Test public void testGetTagChildrenEntities() { // Create a tag type entity TagTypeEntity tagTypeEntity = new TagTypeEntity(); tagTypeEntity.setCode(TAG_TYPE_CODE); // Create a tag entity TagEntity tagEntity = new TagEntity(); tagEntity.setTagType(tagTypeEntity); tagEntity.setTagCode(TAG_CODE); tagEntity.setDisplayName(TAG_DISPLAY_NAME); // Create a parent tag entities array list List<TagEntity> parentTagEntities = new ArrayList<>(); parentTagEntities.add(tagEntity); // Setup when clauses when(configurationHelper.getProperty(ConfigurationValue.MAX_ALLOWED_TAG_NESTING, Integer.class)).thenReturn(1); when(tagDao.getChildrenTags(parentTagEntities)).thenReturn(parentTagEntities); // Call the method under test List<TagEntity> result = tagDaoHelper.getTagChildrenEntities(tagEntity); // Confirm the result value assertThat("Result not equal to parent tag entities list.", result, is(equalTo(parentTagEntities))); // Setup verify clauses verify(configurationHelper).getProperty(ConfigurationValue.MAX_ALLOWED_TAG_NESTING, Integer.class); verify(tagDao).getChildrenTags(parentTagEntities); verifyNoMoreInteractions(configurationHelper, tagDao); }
TagEntity tagEntity = new TagEntity(); tagEntity.setId(1);
@Test public void testModifyTagInSearchIndex() { // Create a tag entity TagEntity tagEntity = new TagEntity(); tagEntity.setId(1); // Create a list of tag ids List<Integer> tagIds = new ArrayList<>(); tagIds.add(tagEntity.getId()); // Create a search index dto SearchIndexUpdateDto searchIndexUpdateDto = new SearchIndexUpdateDto(MESSAGE_TYPE_TAG_UPDATE, tagIds, SEARCH_INDEX_UPDATE_TYPE_UPDATE); // Mock the call to external methods when(jsonHelper.objectToJson(searchIndexUpdateDto)).thenReturn(MESSAGE_TEXT); when(configurationHelper.getProperty(ConfigurationValue.SEARCH_INDEX_UPDATE_JMS_LISTENER_ENABLED)).thenReturn("true"); when(configurationHelper.getProperty(ConfigurationValue.SEARCH_INDEX_UPDATE_SQS_QUEUE_NAME)).thenReturn(AWS_SQS_QUEUE_NAME); // Call the method under test searchIndexUpdateHelper.modifyTagInSearchIndex(tagEntity, SEARCH_INDEX_UPDATE_TYPE_UPDATE); // Verify the calls to external methods verify(jsonHelper).objectToJson(searchIndexUpdateDto); verify(configurationHelper).getProperty(ConfigurationValue.SEARCH_INDEX_UPDATE_JMS_LISTENER_ENABLED); verify(configurationHelper).getProperty(ConfigurationValue.SEARCH_INDEX_UPDATE_SQS_QUEUE_NAME); verify(notificationMessagePublishingService) .addNotificationMessageToDatabaseQueue(new NotificationMessage(MessageTypeEntity.MessageEventTypes.SQS.name(), AWS_SQS_QUEUE_NAME, MESSAGE_TEXT, NO_MESSAGE_HEADERS)); verifyNoMoreInteractionsHelper(); }
@Test public void testGetTagEntity() { // Create a tag type entity TagTypeEntity tagTypeEntity = new TagTypeEntity(); tagTypeEntity.setCode(TAG_TYPE_CODE); // Create a tag entity TagEntity tagEntity = new TagEntity(); tagEntity.setTagType(tagTypeEntity); tagEntity.setTagCode(TAG_CODE); tagEntity.setDisplayName(TAG_DISPLAY_NAME); // Create a tag key TagKey tagKey = new TagKey(TAG_TYPE_CODE, TAG_CODE); // Setup when clauses when(tagDao.getTagByKey(tagKey)).thenReturn(tagEntity); // Call method under test TagEntity result = tagDaoHelper.getTagEntity(tagKey); // Confirm the result value assertThat("Result not equal to tag entity.", result, is(equalTo(tagEntity))); // Setup verify clauses verify(tagDao).getTagByKey(tagKey); verifyNoMoreInteractions(configurationHelper, tagDao); }
@Test public void testValidateParentTagEntityWithTagEntityEqualToParentTagEntity() { // Create a tag type entity TagTypeEntity tagTypeEntity = new TagTypeEntity(); tagTypeEntity.setCode(TAG_TYPE_CODE); // Create a tag entity TagEntity tagEntity = new TagEntity(); tagEntity.setTagType(tagTypeEntity); tagEntity.setTagCode(TAG_CODE); tagEntity.setDisplayName(TAG_DISPLAY_NAME); // Setup when clauses when(configurationHelper.getProperty(ConfigurationValue.MAX_ALLOWED_TAG_NESTING, Integer.class)).thenReturn(0); // Call the method under test try { tagDaoHelper.validateParentTagEntity(tagEntity, tagEntity); fail("Expected to throw an exception."); } catch (IllegalArgumentException illegalArgumentException) { // Confirm the exception message is correct assertThat("Exception message is not correct.", illegalArgumentException.getMessage(), is(equalTo("Parent tag key cannot be the requested tag key or any of its children’s tag keys."))); } // Setup verify clauses verify(configurationHelper).getProperty(ConfigurationValue.MAX_ALLOWED_TAG_NESTING, Integer.class); verifyNoMoreInteractions(configurationHelper, tagDao); }
@Test public void testValidateParentTagEntity() { // Create a tag type entity TagTypeEntity tagTypeEntity = new TagTypeEntity(); tagTypeEntity.setCode(TAG_TYPE_CODE); // Create a tag entity TagEntity tagEntity = new TagEntity(); tagEntity.setTagType(tagTypeEntity); tagEntity.setTagCode(TAG_CODE); tagEntity.setDisplayName(TAG_DISPLAY_NAME); // Create a parent tag entity TagEntity parentTagEntity = new TagEntity(); parentTagEntity.setTagType(tagTypeEntity); parentTagEntity.setTagCode(TAG_CODE_2); parentTagEntity.setDisplayName(TAG_DISPLAY_NAME_2); parentTagEntity.setChildrenTagEntities(Lists.newArrayList(tagEntity)); // Set the parent tag entity on the child tag entity tagEntity.setParentTagEntity(parentTagEntity); // Setup when clauses when(configurationHelper.getProperty(ConfigurationValue.MAX_ALLOWED_TAG_NESTING, Integer.class)).thenReturn(1); // Call the method under test tagDaoHelper.validateParentTagEntity(tagEntity, parentTagEntity); // Setup verify clauses verify(configurationHelper).getProperty(ConfigurationValue.MAX_ALLOWED_TAG_NESTING, Integer.class); verifyNoMoreInteractions(configurationHelper, tagDao); }
@Test public void testAssertDisplayNameDoesNotExistForTag() { // Create a tag type entity TagTypeEntity tagTypeEntity = new TagTypeEntity(); tagTypeEntity.setCode(TAG_TYPE_CODE); // Create a tag entity TagEntity tagEntity = new TagEntity(); tagEntity.setTagType(tagTypeEntity); tagEntity.setTagCode(TAG_CODE); tagEntity.setDisplayName(TAG_DISPLAY_NAME); // Setup when clauses when(tagDao.getTagByTagTypeAndDisplayName(TAG_CODE, TAG_DISPLAY_NAME)).thenReturn(tagEntity); // Call method under test try { tagDaoHelper.assertDisplayNameDoesNotExistForTag(TAG_CODE, TAG_DISPLAY_NAME); fail("Expected to throw an exception."); } catch (AlreadyExistsException alreadyExistsException) { // Confirm the exception message is correct assertThat("Exception message is not correct.", alreadyExistsException.getMessage(), is(equalTo(String .format("Display name \"%s\" already exists for a tag with tag type \"%s\" and tag code \"%s\".", TAG_DISPLAY_NAME, tagEntity.getTagType().getCode(), tagEntity.getTagCode())))); } // Setup verify clauses verify(tagDao).getTagByTagTypeAndDisplayName(TAG_CODE, TAG_DISPLAY_NAME); verifyNoMoreInteractions(configurationHelper, tagDao); }
/** * Creates and persists a new Tag entity. * * @param request the tag create request * @param tagTypeEntity the specified tag type entity. * @param parentTagEntity the specified parent tag entity * * @return the newly created tag entity. */ private TagEntity createTagEntity(TagCreateRequest request, TagTypeEntity tagTypeEntity, TagEntity parentTagEntity) { TagEntity tagEntity = new TagEntity(); tagEntity.setTagType(tagTypeEntity); tagEntity.setTagCode(request.getTagKey().getTagCode()); tagEntity.setDisplayName(request.getDisplayName()); tagEntity.setSearchScoreMultiplier(request.getSearchScoreMultiplier()); tagEntity.setDescription(request.getDescription()); tagEntity.setParentTagEntity(parentTagEntity); return tagDao.saveAndRefresh(tagEntity); }
/** * Creates and persists a new Tag entity. * * @param request the tag create request * @param tagTypeEntity the specified tag type entity. * @param parentTagEntity the specified parent tag entity * * @return the newly created tag entity. */ private TagEntity createTagEntity(TagCreateRequest request, TagTypeEntity tagTypeEntity, TagEntity parentTagEntity) { TagEntity tagEntity = new TagEntity(); tagEntity.setTagType(tagTypeEntity); tagEntity.setTagCode(request.getTagKey().getTagCode()); tagEntity.setDisplayName(request.getDisplayName()); tagEntity.setSearchScoreMultiplier(request.getSearchScoreMultiplier()); tagEntity.setDescription(request.getDescription()); tagEntity.setParentTagEntity(parentTagEntity); return tagDao.saveAndRefresh(tagEntity); }
tagTypeEntity.setCode(tagKey.getTagCode()); TagEntity tagEntity = new TagEntity(); tagEntity.setTagCode(tagKey.getTagCode()); tagEntity.setTagType(tagTypeEntity); TagEntity childTagEntity = new TagEntity(); childTagEntity.setTagCode(childTagKey.getTagCode()); childTagEntity.setTagType(tagTypeEntity);
tagTypeEntity.setCode(tagKey.getTagCode()); TagEntity tagEntity = new TagEntity(); tagEntity.setTagCode(tagKey.getTagCode()); tagEntity.setTagType(tagTypeEntity);
TagEntity tagEntity = new TagEntity(); tagEntity.setTagCode(tagKey.getTagCode()); tagEntity.setTagType(tagTypeEntity);
TagEntity tagEntity = new TagEntity(); tagEntity.setTagCode(tagKey.getTagCode()); tagEntity.setTagType(tagTypeEntity);
/** * Creates and persists a new tag entity. * * @param tagTypeEntity the tag type entity * @param tagCode the tag code * @param tagDisplayName the tag display name * @param tagSearchScoreMultiplier the tag's search score multiplier * @param tagDescription the description of the tag * @param parentTagEntity the parent tag entity * * @return the newly created tag entity */ public TagEntity createTagEntity(TagTypeEntity tagTypeEntity, String tagCode, String tagDisplayName, BigDecimal tagSearchScoreMultiplier, String tagDescription, TagEntity parentTagEntity) { TagEntity tagEntity = new TagEntity(); tagEntity.setTagType(tagTypeEntity); tagEntity.setTagCode(tagCode); tagEntity.setDisplayName(tagDisplayName); tagEntity.setSearchScoreMultiplier(tagSearchScoreMultiplier); tagEntity.setDescription(tagDescription); tagEntity.setParentTagEntity(parentTagEntity); return tagDao.saveAndRefresh(tagEntity); } }