/** * Deletes an existing tag. * * @param tagTypeCode the tag type code * @param tagCode the tag code * * @return the deleted tag */ @RequestMapping(value = TAGS_URI_PREFIX + "/tagTypes/{tagTypeCode}/tagCodes/{tagCode}", method = RequestMethod.DELETE) @Secured(SecurityFunctions.FN_TAGS_DELETE) public Tag deleteTag(@PathVariable("tagTypeCode") String tagTypeCode, @PathVariable("tagCode") String tagCode) { TagKey tagKey = new TagKey(tagTypeCode, tagCode); return tagService.deleteTag(tagKey); }
/** * Deletes an existing tag. * * @param tagTypeCode the tag type code * @param tagCode the tag code * * @return the deleted tag */ @RequestMapping(value = TAGS_URI_PREFIX + "/tagTypes/{tagTypeCode}/tagCodes/{tagCode}", method = RequestMethod.DELETE) @Secured(SecurityFunctions.FN_TAGS_DELETE) public Tag deleteTag(@PathVariable("tagTypeCode") String tagTypeCode, @PathVariable("tagCode") String tagCode) { TagKey tagKey = new TagKey(tagTypeCode, tagCode); return tagService.deleteTag(tagKey); }
@Test public void testDeleteTag() { // Create a tag key. TagKey tagKey = new TagKey(TAG_TYPE, TAG_CODE); Tag tag = getNewTag(tagKey); when(tagService.deleteTag(tagKey)).thenReturn(tag); // Delete this tag. Tag deletedTag = tagRestController.deleteTag(TAG_TYPE, TAG_CODE); // Verify the external calls. verify(tagService).deleteTag(tagKey); verifyNoMoreInteractions(tagService); // Validate the returned object. assertEquals(tag, deletedTag); }
@Test public void testDeleteTagMissingRequiredParameters() { // Try to delete a tag when tag type is not specified. try { tagService.deleteTag(new TagKey(BLANK_TEXT, TAG_CODE)); fail(); } catch (IllegalArgumentException e) { assertEquals("A tag type code must be specified.", e.getMessage()); } // Try to delete a tag when tag code is not specified. try { tagService.deleteTag(new TagKey(TAG_TYPE, BLANK_TEXT)); fail(); } catch (IllegalArgumentException e) { assertEquals("A tag code must be specified.", e.getMessage()); } }
@Test public void testDeleteTagTagNoExists() { // Try to delete a non-existing tag. try { tagService.deleteTag(new TagKey(TAG_TYPE, TAG_CODE)); fail(); } catch (ObjectNotFoundException e) { assertEquals(String.format("Tag with code \"%s\" doesn't exist for tag type \"%s\".", TAG_CODE, TAG_TYPE), e.getMessage()); } }
@Test public void testDeleteTagLowerCaseParameters() { // Create a tag key. TagKey tagKey = new TagKey(TAG_TYPE, TAG_CODE); // Create and persist a tag entity. tagDaoTestHelper.createTagEntity(TAG_TYPE, TAG_CODE, TAG_DISPLAY_NAME, TAG_SEARCH_SCORE_MULTIPLIER, TAG_DESCRIPTION); // Validate that this tag exists. TagEntity tagEntity = tagDao.getTagByKey(tagKey); assertNotNull(tagEntity); // Delete this tag using uppercase input parameters. Tag deletedTag = tagService.deleteTag(new TagKey(TAG_TYPE.toLowerCase(), TAG_CODE.toLowerCase())); // Validate the returned object. assertEquals(new Tag(tagEntity.getId(), tagKey, TAG_DISPLAY_NAME, TAG_SEARCH_SCORE_MULTIPLIER, TAG_DESCRIPTION, tagEntity.getCreatedBy(), tagEntity.getUpdatedBy(), HerdDateUtils.getXMLGregorianCalendarValue(tagEntity.getUpdatedOn()), NO_PARENT_TAG_KEY, NO_TAG_HAS_CHILDREN_FLAG), deletedTag); // Ensure that this tag is no longer there. assertNull(tagDao.getTagByKey(tagKey)); }
@Test public void testDeleteTagUpperCaseParameters() { // Create a tag key. TagKey tagKey = new TagKey(TAG_TYPE, TAG_CODE); // Create and persist a tag entity. tagDaoTestHelper.createTagEntity(TAG_TYPE, TAG_CODE, TAG_DISPLAY_NAME, TAG_SEARCH_SCORE_MULTIPLIER, TAG_DESCRIPTION); // Validate that this tag exists. TagEntity tagEntity = tagDao.getTagByKey(tagKey); assertNotNull(tagEntity); // Delete this tag using uppercase input parameters. Tag deletedTag = tagService.deleteTag(new TagKey(TAG_TYPE.toUpperCase(), TAG_CODE.toUpperCase())); // Validate the returned object. assertEquals(new Tag(tagEntity.getId(), tagKey, TAG_DISPLAY_NAME, TAG_SEARCH_SCORE_MULTIPLIER, TAG_DESCRIPTION, tagEntity.getCreatedBy(), tagEntity.getUpdatedBy(), HerdDateUtils.getXMLGregorianCalendarValue(tagEntity.getUpdatedOn()), NO_PARENT_TAG_KEY, NO_TAG_HAS_CHILDREN_FLAG), deletedTag); // Ensure that this tag is no longer there. assertNull(tagDao.getTagByKey(tagKey)); }
@Test public void testDeleteTag() { // Create a tag key. TagKey tagKey = new TagKey(TAG_TYPE, TAG_CODE); // Create and persist a tag entity. tagDaoTestHelper.createTagEntity(TAG_TYPE, TAG_CODE, TAG_DISPLAY_NAME, TAG_SEARCH_SCORE_MULTIPLIER, TAG_DESCRIPTION); // Validate that this tag exists. TagEntity tagEntity = tagDao.getTagByKey(tagKey); assertNotNull(tagEntity); // Delete this tag. Tag deletedTag = tagService.deleteTag(new TagKey(TAG_TYPE, TAG_CODE)); // Validate the returned object. assertEquals(new Tag(tagEntity.getId(), tagKey, TAG_DISPLAY_NAME, TAG_SEARCH_SCORE_MULTIPLIER, TAG_DESCRIPTION, tagEntity.getCreatedBy(), tagEntity.getUpdatedBy(), HerdDateUtils.getXMLGregorianCalendarValue(tagEntity.getUpdatedOn()), NO_PARENT_TAG_KEY, NO_TAG_HAS_CHILDREN_FLAG), deletedTag); // Ensure that this tag is no longer there. assertNull(tagDao.getTagByKey(tagKey)); }
@Test public void testDeleteTagTrimParameters() { // Create a tag key. TagKey tagKey = new TagKey(TAG_TYPE, TAG_CODE); // Create and persist a tag entity. tagDaoTestHelper.createTagEntity(TAG_TYPE, TAG_CODE, TAG_DISPLAY_NAME, TAG_SEARCH_SCORE_MULTIPLIER, TAG_DESCRIPTION); // Validate that this tag exists. TagEntity tagEntity = tagDao.getTagByKey(tagKey); assertNotNull(tagEntity); // Delete this tag using input parameters with leading and trailing empty spaces. Tag deletedTag = tagService.deleteTag(new TagKey(addWhitespace(TAG_TYPE), addWhitespace(TAG_CODE))); // Validate the returned object. assertEquals(new Tag(tagEntity.getId(), tagKey, TAG_DISPLAY_NAME, TAG_SEARCH_SCORE_MULTIPLIER, TAG_DESCRIPTION, tagEntity.getCreatedBy(), tagEntity.getUpdatedBy(), HerdDateUtils.getXMLGregorianCalendarValue(tagEntity.getUpdatedOn()), NO_PARENT_TAG_KEY, NO_TAG_HAS_CHILDREN_FLAG), deletedTag); // Ensure that this tag is no longer there. assertNull(tagDao.getTagByKey(tagKey)); }
Tag deletedTag = tagService.deleteTag(childTagKey);