/** * Gets an existing tag. * * @param tagTypeCode the tag type code * @param tagCode the tag code * * @return the tag */ @RequestMapping(value = TAGS_URI_PREFIX + "/tagTypes/{tagTypeCode}/tagCodes/{tagCode}", method = RequestMethod.GET) @Secured(SecurityFunctions.FN_TAGS_GET) public Tag getTag(@PathVariable("tagTypeCode") String tagTypeCode, @PathVariable("tagCode") String tagCode) { TagKey tagKey = new TagKey(tagTypeCode, tagCode); return tagService.getTag(tagKey); }
/** * Gets an existing tag. * * @param tagTypeCode the tag type code * @param tagCode the tag code * * @return the tag */ @RequestMapping(value = TAGS_URI_PREFIX + "/tagTypes/{tagTypeCode}/tagCodes/{tagCode}", method = RequestMethod.GET) @Secured(SecurityFunctions.FN_TAGS_GET) public Tag getTag(@PathVariable("tagTypeCode") String tagTypeCode, @PathVariable("tagCode") String tagCode) { TagKey tagKey = new TagKey(tagTypeCode, tagCode); return tagService.getTag(tagKey); }
@Test public void testGetTag() { TagKey tagKey = new TagKey(TAG_TYPE, TAG_CODE); Tag tag = getNewTag(tagKey); when(tagService.getTag(tagKey)).thenReturn(tag); // Retrieve the tag. Tag resultTag = tagRestController.getTag(TAG_TYPE, TAG_CODE); // Verify the external calls. verify(tagService).getTag(tagKey); verifyNoMoreInteractions(tagService); // Validate the returned object. assertEquals(tag, resultTag); }
@Test public void testGetTagMissingRequiredParameters() { // Try to get a tag when tag type is not specified. try { tagService.getTag(new TagKey(BLANK_TEXT, TAG_CODE)); fail(); } catch (IllegalArgumentException e) { assertEquals("A tag type code must be specified.", e.getMessage()); } // Try to get a tag when tag code is not specified. try { tagService.getTag(new TagKey(TAG_TYPE, BLANK_TEXT)); fail(); } catch (IllegalArgumentException e) { assertEquals("A tag code must be specified.", e.getMessage()); } }
@Test public void testGetTagTagNoExists() { // Try to get a non-existing tag. try { tagService.getTag(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 testGetTagUpperCaseParameters() { // Create and persist a tag entity. TagEntity tagEntity = tagDaoTestHelper.createTagEntity(TAG_TYPE, TAG_CODE, TAG_DISPLAY_NAME, TAG_SEARCH_SCORE_MULTIPLIER, TAG_DESCRIPTION); // Get the tag using uppercase input parameters. Tag resultTag = tagService.getTag(new TagKey(TAG_TYPE.toUpperCase(), TAG_CODE.toUpperCase())); // Validate the returned object. assertEquals( new Tag(tagEntity.getId(), new TagKey(TAG_TYPE, TAG_CODE), 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), resultTag); }
@Test public void testGetTagLowerCaseParameters() { // Create and persist a tag entity. TagEntity tagEntity = tagDaoTestHelper.createTagEntity(TAG_TYPE, TAG_CODE, TAG_DISPLAY_NAME, TAG_SEARCH_SCORE_MULTIPLIER, TAG_DESCRIPTION); // Get the tag using lower case input parameters. Tag resultTag = tagService.getTag(new TagKey(TAG_TYPE.toLowerCase(), TAG_CODE.toLowerCase())); // Validate the returned object. assertEquals( new Tag(tagEntity.getId(), new TagKey(TAG_TYPE, TAG_CODE), 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), resultTag); }
@Test public void testGetTag() { // Create and persist a tag entity. TagEntity tagEntity = tagDaoTestHelper.createTagEntity(TAG_TYPE, TAG_CODE, TAG_DISPLAY_NAME, TAG_SEARCH_SCORE_MULTIPLIER, TAG_DESCRIPTION); // Retrieve the tag. Tag resultTag = tagService.getTag(new TagKey(TAG_TYPE, TAG_CODE)); // Validate the returned object. assertEquals( new Tag(tagEntity.getId(), new TagKey(TAG_TYPE, TAG_CODE), 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), resultTag); }
@Test public void testGetTagTrimParameters() { // Create and persist a tag entity. TagEntity tagEntity = tagDaoTestHelper.createTagEntity(TAG_TYPE, TAG_CODE, TAG_DISPLAY_NAME, TAG_SEARCH_SCORE_MULTIPLIER, TAG_DESCRIPTION); // Retrieve the tag using input parameters with leading and trailing empty spaces. Tag resultTag = tagService.getTag(new TagKey(addWhitespace(TAG_TYPE), addWhitespace(TAG_CODE))); // Validate the returned object. assertEquals( new Tag(tagEntity.getId(), new TagKey(TAG_TYPE, TAG_CODE), 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), resultTag); }