Package com.jalios.jcms.test
Class JcmsTestCase4
- java.lang.Object
-
- com.jalios.jcms.test.JcmsTestCase4
-
- All Implemented Interfaces:
JcmsConstants,JaliosConstants
- Direct Known Subclasses:
FileParserTestCase
public abstract class JcmsTestCase4 extends java.lang.Object implements JcmsConstants
Provides a base class for development of JCMS unit tests with JUnit4.
Extending this class will automatically provides a working JCMS during execution of all your unit tests.The launched instance of JCMS will be using the following 3 files :
WEB-INF/data/store.xml.junit: copy ofWEB-INF/data/store.xml.releaseif it exists, otherwise copy ofWEB-INF/data/store.xmlWEB-INF/data/custom.prop.junit: copy ofWEB-INF/data/custom.prop.releaseif it exists, otherwise copy ofWEB-INF/data/custom.prop
Also, if file
WEB-INF/data/junit.propexists, its content is appended to the junit fileWEB-INF/data/custom.prop.junit.Warning!: Even though,
store.xmlandcustom.propare not modified by launching a test case using this class, beware that a real JCMS is being launched, thus some other legitimate file might be modified (monitor.xml, logs, stats, lucene index, etc).Some useful protected variables are provided to your subclass for easier Data manipulation in your test cases :
admin: default administrator (channel.getDefaultAdmin())defaultWorkspace: default workspace (channel.getDefaultWorkspace())defaultGroup: default group (channel.getDefaultGroup())
- getMockHttpSession()
- getMockHttpServletRequest() or getMockHttpServletRequest(HttpSession)
- getMockJcmsJspContext() or getMockJcmsJspContext(HttpServletRequest)
Assertclass.
By extending this class you can use any log4j logger starting with"unittests.", the log message will be appendended to standard console.Example :
public class MyFeatureTest extends com.jalios.jcms.test.JcmsTestCase4 { private static final Logger logger = Logger.getLogger(MyFeatureTest.class.getName()); Data testData = null; @Before protected void setUp() throws Exception { logger.info("Creating new article for MyFeature test..."); Article article = new Article(); article.setWorkspace(defaultWorkspace); article.setTitle("en", "Article Title en " + new Date()); article.performCreate(admin); testData = article } @Test public void articleMethod1BehavesCorrectly() { HttpSession testSession = getMockHttpSession(); assertTrue(MyFeature.method1(getMockHttpServletRequest(testSession), testData)); assertFalse(MyFeature.method1(getMockHttpServletRequest(testSession), testData)); ... } @After protected void tearDown() throws Exception { if (testData != null) { logger.info("Deleting article created for MyFeature test..."); testData.performDelete(admin); } } }
-
-
Field Summary
Fields Modifier and Type Field Description protected static Memberadminprotected static Channelchannelprotected static GroupdefaultGroupprotected static WorkspacedefaultWorkspaceorg.junit.rules.TestWatcherwatchman-
Fields inherited from interface com.jalios.util.JaliosConstants
CRLF, MILLIS_IN_ONE_DAY, MILLIS_IN_ONE_HOUR, MILLIS_IN_ONE_MINUTE, MILLIS_IN_ONE_MONTH, MILLIS_IN_ONE_SECOND, MILLIS_IN_ONE_WEEK, MILLIS_IN_ONE_YEAR
-
Fields inherited from interface com.jalios.jcms.JcmsConstants
ADATE_SEARCH, ADMIN_NOTES_PROP, ADVANCED_TAB, AJAX_MODE_ATTR, ARCHIVES_DIR, ASCII_WIDTH, CATEGORY_TAB, CDATE_SEARCH, CLASS_PROPERTY, COMMON_ALARM, CONTENT_TAB, COOKIE_MAX_AGE, COUNTRY_SPRITE, CS_TYPOLOGY_ROOT_CAT_VID, CTRL_TOPIC_INTERNAL, CTRL_TOPIC_REF, CTRL_TOPIC_VALUE, CTRL_TOPIC_WRITE, CUSTOM_PROP, DATA_DIRECTORY, DEFAULT_PHOTO_PROP, DOCCHOOSER_HEIGHT, DOCCHOOSER_WIDTH, DOCS_DIR, EDATE_SEARCH, EMAIL_REGEXP, ERROR_MSG, FORBIDDEN_FILE_ACCESS, FORBIDDEN_REDIRECT, FORCE_REDIRECT, GLYPH_ICON_PREFIX, ICON_ARCHIVE, ICON_ICON_PREFIX, ICON_LOCK, ICON_LOCK_STRONG, ICON_PREFIX_PROP, ICON_WARN, ICON_WH_BOOK_CLOSED, ICON_WH_BOOK_OPEN, INFORMATION_MSG, IS_IN_FRONT_OFFICE, JALIOS_JUNIT_PROP, JCMS_CADDY, JCMS_MSG_LIST, JCMS_TOASTR_COLLECTION, JSYNC_DOWNLOAD_DIR, JSYNC_SYNC_ALARM, LANG_SPRITE, LOG_FILE, LOG_TOPIC_SECURITY, LOGGER_PROP, LOGGER_XMLPROP, MBR_PHOTO_DIR, MDATE_SEARCH, MONITOR_XML, OP_CREATE, OP_CREATE_STR, OP_DEEP_COPY, OP_DEEP_COPY_STR, OP_DEEP_DELETE, OP_DEEP_DELETE_STR, OP_DELETE, OP_DELETE_STR, OP_MERGE, OP_MERGE_STR, OP_UPDATE, OP_UPDATE_STR, ORGANIZATION_ROOT_GROUP_PROP, PDATE_SEARCH, PHOTO_DIR, PHOTO_ICON, PHOTO_ICON_HEIGHT, PHOTO_ICON_PROP_PREFIX, PHOTO_ICON_WIDTH, PHOTO_LARGE, PHOTO_LARGE_HEIGHT, PHOTO_LARGE_PROP_PREFIX, PHOTO_LARGE_WIDTH, PHOTO_MINI, PHOTO_MINI_HEIGHT, PHOTO_MINI_PROP_PREFIX, PHOTO_MINI_WIDTH, PHOTO_NORMAL, PHOTO_NORMAL_HEIGHT, PHOTO_NORMAL_PROP_PREFIX, PHOTO_NORMAL_WIDTH, PHOTO_SMALL, PHOTO_SMALL_HEIGHT, PHOTO_SMALL_PROP_PREFIX, PHOTO_SMALL_WIDTH, PHOTO_TINY, PHOTO_TINY_HEIGHT, PHOTO_TINY_PROP_PREFIX, PHOTO_TINY_WIDTH, PREVIOUS_TAB, PRINT_VIEW, PRIVATE_FILE_ACCESS, PUBLIC_FILE_ACCESS, RAW_CONTENT_ICON_PREFIX, READ_RIGHT_TAB, SDATE_SEARCH, SEARCHENGINE_ALARM, SECURITY_LOG_FILE, SESSION_AUTHORIZED_FILENAMES_SET, SPRITE_ICON_PREFIX, STATS_REPORT_DIR, STATUS_PROP, STORE_DIR, STORE_XML, SUCCESS_MSG, SVG_ICON_PREFIX, SVGINLINE_ICON_PREFIX, TEMPLATE_TAB, THUMBNAIL_LARGE_HEIGHT, THUMBNAIL_LARGE_WIDTH, THUMBNAIL_SMALL_HEIGHT, THUMBNAIL_SMALL_WIDTH, TTCARD_MEDIA_HEIGHT, TTCARD_MEDIA_WIDTH, TYPES_ICON_ALT_PROP, TYPES_ICON_SUFFIX_PROP, TYPES_ICON_TITLE_PROP, TYPES_PREFIX_PROP, TYPES_THUMB_SUFFIX_PROP, UDATE_SEARCH, UPDATE_RIGHT_TAB, UPLOAD_DIR, UPLOAD_PERMISSION_COUNT_PROP_PREFIX, UPLOAD_PERMISSION_SIZE_PROP_PREFIX, URL_REGEXP, VID_LOGGED_MEMBER, WARNING_MSG, WEBAPP_PROP, WFEXPRESS_ALARM, WFREMINDER_ALARM, WORKFLOW_TAB, WORKFLOW_XML
-
-
Constructor Summary
Constructors Constructor Description JcmsTestCase4()
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description protected static voidbeginTransaction()protected static voidcommitTransaction()protected static voiddeleteAll(java.lang.Class<? extends DBData> dbDataClazz)protected static voiddeleteAllAlerts()protected static voiddeleteAllAlerts(Member mbr)protected java.io.FilegetResourceFile(java.lang.String name)Retrieves a new File instance pointing to the specified resource name.voidsetUpJcmsTestCase()voidtearDownJcmsTestCase()
-
-
-
Method Detail
-
setUpJcmsTestCase
public final void setUpJcmsTestCase() throws java.lang.Exception- Throws:
java.lang.Exception
-
tearDownJcmsTestCase
public final void tearDownJcmsTestCase() throws java.lang.Exception- Throws:
java.lang.Exception
-
beginTransaction
protected static void beginTransaction()
-
commitTransaction
protected static void commitTransaction()
-
deleteAllAlerts
protected static void deleteAllAlerts()
-
deleteAll
protected static void deleteAll(java.lang.Class<? extends DBData> dbDataClazz)
-
deleteAllAlerts
protected static void deleteAllAlerts(Member mbr)
-
getResourceFile
protected java.io.File getResourceFile(java.lang.String name)
Retrieves a new File instance pointing to the specified resource name.Delegates to
JcmsTestCaseUtil.getResourceFile(Class, String).- Parameters:
name- the name of the resource, a '/'-separated path name that identifies the resource. e.g"com/company/jcms/MyFeature_testFile1.txt"- Returns:
- the file
- Since:
- jcms-10.0.1
- See Also:
JcmsTestCaseUtil.getResourceFile(Class, String)
-
-