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.release
if it exists, otherwise copy ofWEB-INF/data/store.xml
WEB-INF/data/custom.prop.junit
: copy ofWEB-INF/data/custom.prop.release
if it exists, otherwise copy ofWEB-INF/data/custom.prop
Also, if file
WEB-INF/data/junit.prop
exists, its content is appended to the junit fileWEB-INF/data/custom.prop.junit
.Warning!: Even though,
store.xml
andcustom.prop
are 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)
Assert
class.
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 Member
admin
protected static Channel
channel
protected static Group
defaultGroup
protected static Workspace
defaultWorkspace
org.junit.rules.TestWatcher
watchman
-
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 void
beginTransaction()
protected static void
commitTransaction()
protected static void
deleteAll(java.lang.Class<? extends DBData> dbDataClazz)
protected static void
deleteAllAlerts()
protected static void
deleteAllAlerts(Member mbr)
protected java.io.File
getResourceFile(java.lang.String name)
Retrieves a new File instance pointing to the specified resource name.void
setUpJcmsTestCase()
void
tearDownJcmsTestCase()
-
-
-
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)
-
-