From f66c8c7e7b15586b5a0f47d83e4d29d55f49235a Mon Sep 17 00:00:00 2001 From: Aron Roberts Date: Tue, 5 Jun 2012 11:46:46 -0700 Subject: [PATCH] CSPACE-5301,CSPACE-5073: Added refName parsing test for item display name containing a single apostrophe (') character. Added log4j properties file to suppress non-fatal exception when running common-api tests. Tests now output to console using logger, like other tests. --- .../services/common/api/test/RefNameTest.java | 113 ++++++++++-------- .../src/test/resources/log4j.properties | 27 +++++ 2 files changed, 92 insertions(+), 48 deletions(-) create mode 100644 services/common-api/src/test/resources/log4j.properties diff --git a/services/common-api/src/test/java/org/collectionspace/services/common/api/test/RefNameTest.java b/services/common-api/src/test/java/org/collectionspace/services/common/api/test/RefNameTest.java index 03a90bf4f..a91162f34 100644 --- a/services/common-api/src/test/java/org/collectionspace/services/common/api/test/RefNameTest.java +++ b/services/common-api/src/test/java/org/collectionspace/services/common/api/test/RefNameTest.java @@ -22,6 +22,8 @@ package org.collectionspace.services.common.api.test; import org.collectionspace.services.common.api.RefName; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; import org.testng.Assert; import org.testng.annotations.Test; @@ -29,30 +31,34 @@ import org.testng.annotations.Test; * User: laramie $LastChangedRevision: $ $LastChangedDate: $ */ public class RefNameTest { + + private static final Logger logger = LoggerFactory.getLogger(RefName.class); public static final String AUTHORITY_EXAMPLE = "urn:cspace:collectionspace.org:Loansin:name(shortID)'displayName'"; public static final String AUTHORITY_EXAMPLE2 = "urn:cspace:collectionspace.org:Loansin:name(shortID)"; public static final String AUTHORITY_ITEM_EXAMPLE = "urn:cspace:collectionspace.org:Loansin:name(shortID):item:name(itemShortID)'itemDisplayName'"; - public static final String EX_tenantName = "collectionspace.org"; - public static final String EX_resource = "Loansin"; - public static final String EX_shortIdentifier = "shortID"; - public static final String EX_displayName = "displayName"; - public static final String EX_itemShortIdentifier = "itemShortID"; - public static final String EX_itemDisplayName = "itemDisplayName"; - public static final String EX_itemDisplayNameContainsColon = "itemDisplayName:itemDisplayName2:itemDisplayName3"; - public static final String EX_itemDisplayNameContainsParens = "itemDisplayName (in parens) and more"; + public static final String TENANT_DOMAIN_NAME = "collectionspace.org"; + public static final String RESOURCE = "Loansin"; + public static final String SHORT_IDENTIFIER = "shortID"; + public static final String DISPLAY_NAME = "displayName"; + public static final String ITEM_SHORT_IDENTIFIER = "itemShortID"; + public static final String ITEM_DISPLAY_NAME = "itemDisplayName"; + public static final String DISPLAY_NAME_WITH_COLONS = "itemDisplayName:itemDisplayName2:itemDisplayName3"; + public static final String DISPLAY_NAME_WITH_PARENS = "itemDisplayName (in parens) and more"; + public static final String DISPLAY_NAME_WITH_APOSTROPHE = "itemDisplayName O'Reilly"; + private void testBanner(String msg) { String BANNER = "-------------------------------------------------------"; - System.out.println(BANNER + "\r\n" + this.getClass().getName() + "\r\n" + msg + "\r\n" + BANNER); + logger.debug("\r" + BANNER + "\r\n" + this.getClass().getName() + "\r\n" + msg + "\r\n" + BANNER); } private void check(String one, String two, String msg) { if (one == null || two == null || !(one.equals(two))) { - System.out.println("equals check FAILED. (msg: " + msg + ")\r\none: " + one + "\r\ntwo: " + two + "\r\n"); + logger.debug("equals check FAILED. (msg: " + msg + ")\r\none: " + one + "\r\ntwo: " + two + "\r\n"); } else { - System.out.println("equals check OK. (msg: " + msg + ")\r\none: " + one + "\r\ntwo: " + two + "\r\n"); + logger.debug("equals check OK. (msg: " + msg + ")\r\none: " + one + "\r\ntwo: " + two + "\r\n"); } Assert.assertEquals(one, two, msg); } @@ -61,17 +67,17 @@ public class RefNameTest { public void testRoundTrip() { testBanner("testRoundTrip"); RefName.AuthorityItem item = RefName.AuthorityItem.parse(AUTHORITY_ITEM_EXAMPLE); - check(item.displayName, EX_itemDisplayName, "EX_itemDisplayName"); - check(item.shortIdentifier, EX_itemShortIdentifier, "EX_itemShortIdentifier"); - check(item.toString(), AUTHORITY_ITEM_EXAMPLE, "AUTHORITY_ITEM_EXAMPLE"); + check(item.toString(), AUTHORITY_ITEM_EXAMPLE, "Item refName"); + check(item.displayName, ITEM_DISPLAY_NAME, "Item display name"); + check(item.shortIdentifier, ITEM_SHORT_IDENTIFIER, "Item short identifier"); check(item.inAuthority.displayName, "", "displayName from inAuthority should be empty"); RefName.Authority authority = RefName.Authority.parse(AUTHORITY_EXAMPLE); - check(authority.toString(), AUTHORITY_EXAMPLE, "AUTHORITY_ITEM_EXAMPLE"); - check(authority.tenantName, EX_tenantName, "EX_tenantName"); - check(authority.resource, EX_resource, "EX_resource"); - check(authority.displayName, EX_displayName, "EX_displayName"); - check(authority.shortIdentifier, EX_shortIdentifier, "EX_shortIdentifier"); + check(authority.toString(), AUTHORITY_EXAMPLE, "Authority refName"); + check(authority.tenantName, TENANT_DOMAIN_NAME, "Authority tenant domain name"); + check(authority.resource, RESOURCE, "Authority resource"); + check(authority.displayName, DISPLAY_NAME, "Authority display name"); + check(authority.shortIdentifier, SHORT_IDENTIFIER, "Authority short identifier"); Assert.assertEquals(authority, item.inAuthority, "inAuthority from AuthorityItem.parse() matches Authority from Authority.parse()"); } @@ -80,8 +86,8 @@ public class RefNameTest { public void testConstructors() { testBanner("testConstructors"); RefName.AuthorityItem item = RefName.buildAuthorityItem(AUTHORITY_EXAMPLE2, - EX_itemShortIdentifier, - EX_itemDisplayName); + ITEM_SHORT_IDENTIFIER, + ITEM_DISPLAY_NAME); RefName.AuthorityItem itemParsed = RefName.AuthorityItem.parse(AUTHORITY_ITEM_EXAMPLE); check(item.toString(), itemParsed.toString(), "buildAuthorityItem from AUTHORITY_EXAMPLE2 vs. parse(AUTHORITY_ITEM_EXAMPLE)"); Assert.assertEquals(item, itemParsed); @@ -90,8 +96,8 @@ public class RefNameTest { RefName.Authority authority2 = RefName.Authority.parse(AUTHORITY_EXAMPLE2); RefName.AuthorityItem item3 = RefName.buildAuthorityItem(authority2, - EX_itemShortIdentifier, - EX_itemDisplayName); + ITEM_SHORT_IDENTIFIER, + ITEM_DISPLAY_NAME); check(item.toString(), item3.toString(), "buildAuthorityItem(Authority,str,str) from AUTHORITY_EXAMPLE2 vs. AUTHORITY_ITEM_EXAMPLE"); Assert.assertEquals(item, item3); } @@ -104,21 +110,21 @@ public class RefNameTest { public void testShortIDGetters() { testBanner("testShortIDGetters"); RefName.Authority authority = RefName.Authority.parse(AUTHORITY_EXAMPLE); - Assert.assertEquals(authority.getShortIdentifier(), EX_shortIdentifier, + Assert.assertEquals(authority.getShortIdentifier(), SHORT_IDENTIFIER, "Short identifier from parsing parent authority refName does not match value of Authority.getShortIdentifier()."); RefName.AuthorityItem item = RefName.buildAuthorityItem(AUTHORITY_EXAMPLE, - EX_itemShortIdentifier, - EX_itemDisplayName); - Assert.assertEquals(item.getParentShortIdentifier(), EX_shortIdentifier, + ITEM_SHORT_IDENTIFIER, + ITEM_DISPLAY_NAME); + Assert.assertEquals(item.getParentShortIdentifier(), SHORT_IDENTIFIER, "Parent short identifier from parsing authority refName does not match value of AuthorityItem.getParentShortIdentifier()."); - Assert.assertEquals(item.getShortIdentifier(), EX_itemShortIdentifier, + Assert.assertEquals(item.getShortIdentifier(), ITEM_SHORT_IDENTIFIER, "Short identifier from item does not match value of AuthorityItem.getShortIdentifier()."); RefName.AuthorityItem parsedItem = RefName.AuthorityItem.parse(AUTHORITY_ITEM_EXAMPLE); - Assert.assertEquals(parsedItem.getParentShortIdentifier(), EX_shortIdentifier, + Assert.assertEquals(parsedItem.getParentShortIdentifier(), SHORT_IDENTIFIER, "Parent short identifier from parsing item refName does not match value of AuthorityItem.getParentShortIdentifier()."); - Assert.assertEquals(parsedItem.getShortIdentifier(), EX_itemShortIdentifier, + Assert.assertEquals(parsedItem.getShortIdentifier(), ITEM_SHORT_IDENTIFIER, "Short identifier from parsing item refName does not match value of AuthorityItem.getShortIdentifier()."); } @@ -132,26 +138,37 @@ public class RefNameTest { public void testSeparatorsInDisplayNames() { testBanner("testSeparatorsInDisplayNames"); - RefName.AuthorityItem itemDisplayNameContainsColon = + RefName.AuthorityItem itemWithDisplayNameColons = + RefName.buildAuthorityItem(AUTHORITY_EXAMPLE2, + ITEM_SHORT_IDENTIFIER, + DISPLAY_NAME_WITH_COLONS); + Assert.assertEquals(itemWithDisplayNameColons.getShortIdentifier(), ITEM_SHORT_IDENTIFIER, + "Short identifier from item " + itemWithDisplayNameColons.getShortIdentifier() + + "does not match expected value " + ITEM_SHORT_IDENTIFIER); + Assert.assertEquals(itemWithDisplayNameColons.displayName, DISPLAY_NAME_WITH_COLONS, + "Display name from item " + itemWithDisplayNameColons.displayName + + "does not match expected value " + DISPLAY_NAME_WITH_COLONS); + + RefName.AuthorityItem itemWithDisplayNameParens = RefName.buildAuthorityItem(AUTHORITY_EXAMPLE2, - EX_itemShortIdentifier, - EX_itemDisplayNameContainsColon); - Assert.assertEquals(itemDisplayNameContainsColon.getShortIdentifier(), EX_itemShortIdentifier, - "Short identifier from item " + itemDisplayNameContainsColon.getShortIdentifier() - + "does not match expected value " + EX_itemShortIdentifier); - Assert.assertEquals(itemDisplayNameContainsColon.displayName, EX_itemDisplayNameContainsColon, - "Display name from item " + itemDisplayNameContainsColon.displayName - + "does not match expected value " + EX_itemDisplayNameContainsColon); + ITEM_SHORT_IDENTIFIER, + DISPLAY_NAME_WITH_PARENS); + Assert.assertEquals(itemWithDisplayNameParens.getShortIdentifier(), ITEM_SHORT_IDENTIFIER, + "Short identifier from item " + itemWithDisplayNameParens.getShortIdentifier() + + "does not match expected value " + ITEM_SHORT_IDENTIFIER); + Assert.assertEquals(itemWithDisplayNameParens.displayName, DISPLAY_NAME_WITH_PARENS, + "Display name from item " + itemWithDisplayNameParens.displayName + + "does not match expected value " + DISPLAY_NAME_WITH_PARENS); - RefName.AuthorityItem itemDisplayNameContainsParens = + RefName.AuthorityItem itemWithDisplayNameApostrophe = RefName.buildAuthorityItem(AUTHORITY_EXAMPLE2, - EX_itemShortIdentifier, - EX_itemDisplayNameContainsParens); - Assert.assertEquals(itemDisplayNameContainsParens.getShortIdentifier(), EX_itemShortIdentifier, - "Short identifier from item " + itemDisplayNameContainsParens.getShortIdentifier() - + "does not match expected value " + EX_itemShortIdentifier); - Assert.assertEquals(itemDisplayNameContainsParens.displayName, EX_itemDisplayNameContainsParens, - "Display name from item " + itemDisplayNameContainsParens.displayName - + "does not match expected value " + EX_itemDisplayNameContainsParens); + ITEM_SHORT_IDENTIFIER, + DISPLAY_NAME_WITH_APOSTROPHE); + Assert.assertEquals(itemWithDisplayNameApostrophe.getShortIdentifier(), ITEM_SHORT_IDENTIFIER, + "Short identifier from item " + itemWithDisplayNameApostrophe.getShortIdentifier() + + "does not match expected value " + ITEM_SHORT_IDENTIFIER); + Assert.assertEquals(itemWithDisplayNameApostrophe.displayName, DISPLAY_NAME_WITH_APOSTROPHE, + "Display name from item " + itemWithDisplayNameApostrophe.displayName + + "does not match expected value " + DISPLAY_NAME_WITH_APOSTROPHE); } } diff --git a/services/common-api/src/test/resources/log4j.properties b/services/common-api/src/test/resources/log4j.properties new file mode 100644 index 000000000..e2db432ca --- /dev/null +++ b/services/common-api/src/test/resources/log4j.properties @@ -0,0 +1,27 @@ +log4j.rootLogger=debug, stdout, R + +log4j.appender.stdout=org.apache.log4j.ConsoleAppender +log4j.appender.stdout.layout=org.apache.log4j.PatternLayout + +# Pattern to output the caller's file name and line number. +# log4j.appender.stdout.layout.ConversionPattern=%d %-5p [%t] [%c:%L] %m%n +log4j.appender.stdout.layout.ConversionPattern=%m%n + +log4j.appender.R=org.apache.log4j.RollingFileAppender +log4j.appender.R.File=target/test-client.log + +log4j.appender.R.MaxFileSize=100KB +# Keep one backup file +log4j.appender.R.MaxBackupIndex=1 + +log4j.appender.R.layout=org.apache.log4j.PatternLayout +log4j.appender.R.layout.ConversionPattern=%d %-5p [%t] [%c:%L] %m%n + +#packages +log4j.logger.org.collectionspace.services.client.PoxPayloadIn=DEBUG +log4j.logger.org.collectionspace.services.client.PoxPayloadOut=DEBUG + +log4j.logger.org.collectionspace=DEBUG +log4j.logger.org.apache=INFO +log4j.logger.httpclient=INFO +log4j.logger.org.jboss.resteasy=INFO -- 2.47.3