com.atlassian.jira.webtests.ztests.email
Class TestEmailSubscription

java.lang.Object
  extended by junit.framework.Assert
      extended by junit.framework.TestCase
          extended by com.atlassian.jira.functest.framework.FuncTestCase
              extended by com.atlassian.jira.webtests.EmailFuncTestCase
                  extended by com.atlassian.jira.webtests.AbstractSubscriptionEmailTest
                      extended by com.atlassian.jira.webtests.ztests.email.TestEmailSubscription
All Implemented Interfaces:
FunctTestConstants, com.atlassian.jira.testkit.client.log.FuncTestLogger, EnvironmentAware, junit.framework.Test

public class TestEmailSubscription
extends AbstractSubscriptionEmailTest

Test email subscriptions in JIRA.

The test data in 'TestSubscription.xml' contains three projects. 'ProjectOne' (KEY: ONE) contains 210 issues. All of these issues can be returned using the global 'FilterOne' or 'FredFilterOne' saved search. 'ProjectTwo' (KEY: TWO) contains 2 issues. All of these issues can be returned using the global 'FilterTwo' or 'FredFilterTwo' saved search. Finally, there are global filters called 'ZeroFilter' and 'FredZeroFilter' that returns no issues.

The test data also contains three users. Admin is the administrator and expects text e-mails. Bob is not an administrator but also expects text e-mails. Fred is not an administrator and expects HTML e-mails.

Since:
v3.13

Nested Class Summary
 
Nested classes/interfaces inherited from class com.atlassian.jira.webtests.AbstractSubscriptionEmailTest
AbstractSubscriptionEmailTest.CountingIterator, AbstractSubscriptionEmailTest.FilterConfig
 
Nested classes/interfaces inherited from class com.atlassian.jira.webtests.EmailFuncTestCase
EmailFuncTestCase.MailBox
 
Field Summary
 
Fields inherited from class com.atlassian.jira.webtests.EmailFuncTestCase
DEFAULT_FROM_ADDRESS, DEFAULT_SUBJECT_PREFIX, HTML_FORMAT_REGEX, mailService, newline
 
Fields inherited from class com.atlassian.jira.functest.framework.FuncTestCase
administration, assertions, backdoor, environmentData, form, funcTestHelperFactory, issueTableAssertions, locator, log, navigation, oldway_consider_porting, page, parse, tester, text
 
Fields inherited from interface com.atlassian.jira.functest.framework.FunctTestConstants
ADMIN_EMAIL, ADMIN_FULLNAME, ADMIN_PASSWORD, ADMIN_USERNAME, ADMINISTER, AFFECTS_VERSIONS_FIELD_ID, ANYONE, ASSIGN_FIELD_SCREEN, ASSIGN_FIELD_SCREEN_NAME, ASSIGN_ISSUE, ASSIGNABLE_USER, ASSIGNEE_FIELD_ID, ATTACHMENT_FIELD_ID, BOB_EMAIL, BOB_FULLNAME, BOB_PASSWORD, BOB_USERNAME, BROWSE, BUILT_IN_CUSTOM_FIELD_KEY, BULK_CHANGE, BUTTON_CANCEL, BUTTON_CONFIRM, BUTTON_NAME_NEXT, BUTTON_NEXT, CHANGE_HISTORY, CLONERS_INWARD_LINK_NAME, CLONERS_LINK_TYPE_NAME, CLONERS_OUTWARD_LINK_NAME, CLOSE_ISSUE, COMMENT_DELETE_ALL, COMMENT_DELETE_OWN, COMMENT_EDIT_ALL, COMMENT_EDIT_OWN, COMMENT_ISSUE, COMPONENT_NAME_FOUR, COMPONENT_NAME_ONE, COMPONENT_NAME_THREE, COMPONENT_NAME_TWO, COMPONENTS_FIELD_ID, CREATE_ATTACHMENT, CREATE_ISSUE, CREATE_ISSUE_OPERATION_SCREEN, CREATE_SHARED_OBJECTS, CURRENT_USER, CUSTOM_FIELD_CASCADING_SELECT_SEARCHER, CUSTOM_FIELD_CHECKBOX_SEARCHER, CUSTOM_FIELD_CONFIGURATION, CUSTOM_FIELD_DATE_RANGE, CUSTOM_FIELD_EXACT_NUMBER, CUSTOM_FIELD_EXACT_TEXT_SEARCHER, CUSTOM_FIELD_GROUP_PICKER_SEARCHER, CUSTOM_FIELD_LABEL_SEARCHER, CUSTOM_FIELD_MULTI_SELECT_SEARCHER, CUSTOM_FIELD_NUMBER_RANGE, CUSTOM_FIELD_PREFIX, CUSTOM_FIELD_PROJECT_SEARCHER, CUSTOM_FIELD_RADIO_SEARCHER, CUSTOM_FIELD_SELECT_SEARCHER, CUSTOM_FIELD_TEXT_SEARCHER, CUSTOM_FIELD_TYPE_CASCADINGSELECT, CUSTOM_FIELD_TYPE_CHECKBOX, CUSTOM_FIELD_TYPE_DATEPICKER, CUSTOM_FIELD_TYPE_DATETIME, CUSTOM_FIELD_TYPE_FLOAT, CUSTOM_FIELD_TYPE_GROUPPICKER, CUSTOM_FIELD_TYPE_LABELS, CUSTOM_FIELD_TYPE_MULTICHECKBOXES, CUSTOM_FIELD_TYPE_MULTIGROUPPICKER, CUSTOM_FIELD_TYPE_MULTISELECT, CUSTOM_FIELD_TYPE_MULTIUSERPICKER, CUSTOM_FIELD_TYPE_PROJECT, CUSTOM_FIELD_TYPE_RADIO, CUSTOM_FIELD_TYPE_SELECT, CUSTOM_FIELD_TYPE_TEXTFIELD, CUSTOM_FIELD_TYPE_URL, CUSTOM_FIELD_TYPE_USERPICKER, CUSTOM_FIELD_TYPE_VERSION, CUSTOM_FIELD_USER_PICKER_GROUP_SEARCHER, CUSTOM_FIELD_USER_PICKER_SEARCHER, CUSTOM_FIELD_VERSION_SEARCHER, CUSTOM_SUB_TASK_SUMMARY, CUSTOM_SUB_TASK_TYPE_DESCRIPTION, CUSTOM_SUB_TASK_TYPE_NAME, DEFAULT_ASSIGNEE_ERROR_MESSAGE, DEFAULT_FIELD_CONFIGURATION, DEFAULT_FIELD_SCREEN_NAME, DEFAULT_ISSUE_TYPE_SCREEN_SCHEME, DEFAULT_OPERATION_SCREEN, DEFAULT_PERM_SCHEME, DEFAULT_PERM_SCHEME_ID, DEFAULT_SCREEN_SCHEME, DEFAULT_TEXT_RENDERER, DELETE_ISSUE, DUE_DATE_FIELD_ID, EDIT_ISSUE, EDIT_ISSUE_OPERATION_SCREEN, EVENT_TYPE_ACTIVE_STATUS, EVENT_TYPE_INACTIVE_STATUS, FIELD_ASSIGNEE, FIELD_COMMENT, FIELD_COMPONENTS, FIELD_FIX_VERSIONS, FIELD_OPERATION, FIELD_PRIORITY, FIELD_SCHEME_DESC, FIELD_SCHEME_NAME, FIELD_TABLE_ID, FIELD_VERSIONS, FIELD_WORKFLOW, FIX_VERSIONS_FIELD_ID, FORMAT_DAYS, FORMAT_HOURS, FORMAT_PRETTY, FRED_EMAIL, FRED_FULLNAME, FRED_PASSWORD, FRED_USERNAME, FS, FUNC_TEST_PLUGIN_REST_PATH, GLOBAL_ADMIN, HTM, ISSUE_ALL, ISSUE_BUG, ISSUE_IMAGE_BUG, ISSUE_IMAGE_GENERIC, ISSUE_IMAGE_IMPROVEMENT, ISSUE_IMAGE_NEWFEATURE, ISSUE_IMAGE_SUB_TASK, ISSUE_IMAGE_TASK, ISSUE_IMPROVEMENT, ISSUE_NEWFEATURE, ISSUE_TAB_ALL, ISSUE_TAB_CHANGE_HISTORY, ISSUE_TAB_COMMENTS, ISSUE_TAB_WORK_LOG, ISSUE_TASK, ISSUE_TYPE_ALL, ISSUE_TYPE_ALL_SUB_TASK, ISSUE_TYPE_ANY, ISSUE_TYPE_BUG, ISSUE_TYPE_IMPROVEMENT, ISSUE_TYPE_NEWFEATURE, ISSUE_TYPE_SUB_TASK, ISSUE_TYPE_TASK, ISSUETABLE_EDIT_ROW, ISSUETABLE_HEADER_ROW, ISSUETABLE_ID, JIRA_ADMIN_GROUP, JIRA_ADMIN_ROLE, JIRA_ADMIN_ROLE_ID, JIRA_DEV_GROUP, JIRA_DEV_ROLE, JIRA_DEV_ROLE_ID, JIRA_FORM_NAME, JIRA_USERS_GROUP, JIRA_USERS_ROLE, JIRA_USERS_ROLE_ID, LABEL_ISSUE_NAVIGATOR, LINK_ASSIGN_ISSUE, LINK_BULK_CHANGE_ALL, LINK_BULK_CHANGE_CURR_PG, LINK_CLONE_ISSUE, LINK_DELETE_ISSUE, LINK_EDIT_ISSUE, LINK_ISSUE, LINK_NEXT_PG, MANAGE_GROUP_FILTER_SUBSCRIPTIONS, MANAGE_WATCHER_LIST, minorPriority, MODIFY_REPORTER, MOVE_DOWN, MOVE_ISSUE, MOVE_TO_FIRST, MOVE_TO_LAST, MOVE_UP, PERM_SCHEME_DESC, PERM_SCHEME_NAME, PRIORITY_BLOCKER, PRIORITY_CRITICAL, PRIORITY_FIELD_ID, PRIORITY_IMAGE_BLOCKER, PRIORITY_IMAGE_CRITICAL, PRIORITY_IMAGE_MAJOR, PRIORITY_IMAGE_MINOR, PRIORITY_IMAGE_TRIVIAL, PRIORITY_MAJOR, PRIORITY_MINOR, PRIORITY_TRIVIAL, PROJECT_ADMIN, PROJECT_HOMOSAP, PROJECT_HOMOSAP_KEY, PROJECT_MONKEY, PROJECT_MONKEY_KEY, PROJECT_NEO, PROJECT_NEO_KEY, PROJECT_TAB_CHANGE_LOG, PROJECT_TAB_COMPONENTS, PROJECT_TAB_OPEN_ISSUES, PROJECT_TAB_ROAD_MAP, PROJECT_TAB_VERSIONS, RADIO_OPERATION_DELETE, RADIO_OPERATION_EDIT, RADIO_OPERATION_MOVE, RADIO_OPERATION_WORKFLOW, REPORTER_FIELD_ID, RESOLUTION_FIELD_ID, RESOLVE_FIELD_SCREEN_NAME, RESOLVE_ISSUE, SCHEDULE_ISSUE, SCREEN_TABLE_NAME_COLUMN_INDEX, SECURITY_LEVEL_FIELD_ID, SECURITY_LEVEL_ONE_DESC, SECURITY_LEVEL_ONE_NAME, SECURITY_LEVEL_THREE_DESC, SECURITY_LEVEL_THREE_NAME, SECURITY_LEVEL_TWO_DESC, SECURITY_LEVEL_TWO_NAME, SECURITY_SCHEME_DESC, SECURITY_SCHEME_NAME, SET_ISSUE_SECURITY, STATUS_IN_PROGRESS, STATUS_NAME, STATUS_OPEN, STATUS_RESOLVED, STEP_CHOOSE_ISSUES, STEP_CHOOSE_OPERATION, STEP_CONFIRMATION, STEP_NAME, STEP_OPERATION_DETAILS, STEP_PREFIX, SUB_TASK_DEFAULT_TYPE, SUB_TASK_SUMMARY, Summary, SYS_ADMIN_PASSWORD, SYS_ADMIN_USERNAME, SYSTEM_ADMINISTER, TEST_FIELD_SCREEN, TRANSIION_NAME_APPROVE, TRANSIION_NAME_CLOSE, TRANSIION_NAME_REOPEN, TRANSIION_NAME_RESOLVE, TRANSIION_NAME_START_PROGRESS, TRANSIION_NAME_STOP_PROGRESS, UNKNOWN, UNKNOWN_ID, USE, USER_PICKER, VERSION_NAME_FIVE, VERSION_NAME_FOUR, VERSION_NAME_ONE, VERSION_NAME_THREE, VERSION_NAME_TWO, VERSIONS_FIELD_ID, VIEW_ISSUE_OPERATION_SCREEN, VIEW_VERSION_CONTROL, VIEW_VOTERS_AND_WATCHERS, WIKI_STYLE_RENDERER, WORK_ISSUE, WORKFLOW_ADDED, WORKFLOW_COPIED, WORKFLOW_SCHEME
 
Constructor Summary
TestEmailSubscription()
           
 
Method Summary
 void setUpTest()
          Setup for an actual test
 void testGroupCompleteResults()
          Check for subscription e-mail that contains all issue matches.
 void testGroupPartialResults()
          Check the subscription of an e-mail that only contains some of the results.
 void testGroupZeroResults()
          Check e-mail subscription with no issues.
 void testPersonalCompleteResults()
          Check for subscription e-mail that contains all issue matches for an unprivileged user.
 void testPersonalPartialResults()
          Check the subscription of an e-mail that only contains some of the results for an unprivieleged user.
 void testPersonalZeroResults()
          Check e-mail subscription with no issues for an unprivileged user.
 void testSubscriptionIsHtmlEncoded()
          For JRA-17595
 void testUserNameIsEncodedInHtml()
          Asserts that the user name is also XSS encoded.
 
Methods inherited from class com.atlassian.jira.webtests.AbstractSubscriptionEmailTest
assertEditLinkHtml, assertEditLinkText, assertHtmlMessageValid, assertNotEditLink, assertNotPartialLink, assertPartialLinkHtml, assertPartialLinkText, assertTextMessageValid, subscribeToFilterAndRun
 
Methods inherited from class com.atlassian.jira.webtests.EmailFuncTestCase
assertCorrectNumberEmailsSent, assertEmailBodyContains, assertEmailBodyContains, assertEmailBodyContainsLine, assertEmailBodyDoesntContain, assertEmailCcEquals, assertEmailFromEquals, assertEmailHasNumberOfParts, assertEmailSent, assertEmailSubjectEquals, assertEmailToEquals, assertEmailToEquals, assertMessageAndType, assertNotMessageAndType, assertRecipientsHaveMessages, configureAndStartMailServers, configureAndStartSmtpServer, configureAndStartSmtpServer, configureAndStartSmtpServerWithNotify, flushMailQueue, flushMailQueueAndWait, flushMailQueueAndWait, getMailBox, getMessagesForRecipient, parseEmailAddresses, setupImapService, setupImapService, setupPopService, setupPopService, startMailService, tearDownTest, waitForMail
 
Methods inherited from class com.atlassian.jira.functest.framework.FuncTestCase
builtInCustomFieldKey, createRestClient, createRestClient, getAssertions, getEnvironmentData, getTester, getWebClientListener, isDumpHTML, log, log, runBare, runTest, setEnvironmentData, setUp, setUpHttpUnitOptions, shouldSkipSetup, tearDown, xpath
 
Methods inherited from class junit.framework.TestCase
countTestCases, createResult, getName, run, run, setName, toString
 
Methods inherited from class junit.framework.Assert
assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertFalse, assertFalse, assertNotNull, assertNotNull, assertNotSame, assertNotSame, assertNull, assertNull, assertSame, assertSame, assertTrue, assertTrue, fail, fail, failNotEquals, failNotSame, failSame, format
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

TestEmailSubscription

public TestEmailSubscription()
Method Detail

setUpTest

public void setUpTest()
Description copied from class: FuncTestCase
Setup for an actual test

Overrides:
setUpTest in class EmailFuncTestCase

testGroupZeroResults

public void testGroupZeroResults()
                          throws Exception
Check e-mail subscription with no issues.

Throws:
Exception - test just throws exception when unexpected error occurs to fail the test.

testGroupCompleteResults

public void testGroupCompleteResults()
                              throws Exception
Check for subscription e-mail that contains all issue matches.

Throws:
Exception - test just throws exception when unexpected error occurs to fail the test.

testGroupPartialResults

public void testGroupPartialResults()
                             throws Exception
Check the subscription of an e-mail that only contains some of the results. There should be a link to the filter in these e-mails.

Throws:
Exception - test just throws exception when unexpected error occurs to fail the test.

testPersonalZeroResults

public void testPersonalZeroResults()
                             throws Exception
Check e-mail subscription with no issues for an unprivileged user.

Throws:
Exception - test just throws exception when unexpected error occurs to fail the test.

testPersonalCompleteResults

public void testPersonalCompleteResults()
                                 throws Exception
Check for subscription e-mail that contains all issue matches for an unprivileged user.

Throws:
Exception - test just throws exception when unexpected error occurs to fail the test.

testPersonalPartialResults

public void testPersonalPartialResults()
                                throws Exception
Check the subscription of an e-mail that only contains some of the results for an unprivieleged user. There should be a link to the filter in these e-mails.

Throws:
Exception - test just throws exception when unexpected error occurs to fail the test.

testSubscriptionIsHtmlEncoded

public void testSubscriptionIsHtmlEncoded()
                                   throws Exception
For JRA-17595

Throws:
Exception

testUserNameIsEncodedInHtml

public void testUserNameIsEncodedInHtml()
                                 throws InterruptedException,
                                        javax.mail.MessagingException
Asserts that the user name is also XSS encoded. But seriously why call any one xss??

For JRA-17595

Throws:
InterruptedException - if stuff goes wrong
javax.mail.MessagingException - if the shit hits the fan


Copyright © 2002-2014 Atlassian. All Rights Reserved.