com.atlassian.confluence
Class EditGlobalPermissionsAcceptanceTest

java.lang.Object
  extended by junit.framework.Assert
      extended by junit.framework.TestCase
          extended by com.atlassian.confluence.ThreadLocalWebTestCase
              extended by com.atlassian.confluence.AbstractAtlassianWebTestCase
                  extended by com.atlassian.confluence.AbstractConfluenceAcceptanceTest
                      extended by com.atlassian.confluence.AbstractPermissionsAcceptanceTest
                          extended by com.atlassian.confluence.EditGlobalPermissionsAcceptanceTest
All Implemented Interfaces:
junit.framework.Test

public class EditGlobalPermissionsAcceptanceTest
extends AbstractPermissionsAcceptanceTest

Tests adding and removing various permissions in the Edit Global Permissions screen. May have a bit of overlap with the classes that Test the effectiveness of the permissions.

todo: Make this class work with LDAP. It's pretty broken at the moment.

See Also:
GlobalAdminAcceptanceTest

Field Summary
 
Fields inherited from class com.atlassian.confluence.AbstractPermissionsAcceptanceTest
ADMIN_GROUP_PERMISSION, ATTACH_TO_PROFILE_PERMISSION_INDEX, CONF_USERS_PERMISSION, CONFLUENCE_ADMIN_PERMISSION_INDEX, CREATE_SPACE_PERMISSION_INDEX, FOO_GROUPNAME, NO_PERMISSION, PERSONAL_SPACE_PERMISSION_INDEX, SYSTEM_ADMIN_PERMISSION_INDEX, UPDATE_STATUS_PERMISSION_INDEX, USE_CONFLUENCE_PERMISSION_INDEX
 
Fields inherited from class com.atlassian.confluence.AbstractConfluenceAcceptanceTest
adminConsole, adminToken, ANONYMOUS_USER, BLOG_DATE_FORMAT, BROWSE_MENU_LINK_ID, CONFLUNECE_ADMIN_GROUP, CONFLUNECE_USERS_GROUP, context, CROWD_MODE, DB2_MODE, DEFAULT_MAX_ATTACHMENT_SIZE, DEFAULT_MAX_ATTACHMENTS_PER_UPLOAD, filesToDelete, FUNCTEST_RPC_PLUGIN, LDAP_MODE, log, mailServices, PAUSE_MILLIS, RANDOM, rpc, RPCLOG_DEBUG, RPCLOG_ERROR, RPCLOG_INFO, RPCLOG_SYSTEM_ERR, RPCLOG_SYSTEM_OUT, RPCLOG_WARN, SMTP_SUBJECT_PREFIX, TCP_PORT_RANGE_END, TCP_PORT_RANGE_START, TEST_ADMIN, TEST_ADMIN_EMAIL, TEST_ADMIN_FULLNAME, TEST_ADMIN_PASSWORD, TEST_ADMIN_USERNAME, TEST_GEN_EMAIL1, TEST_GEN_EMAIL2, TEST_GEN_FULLNAME1, TEST_GEN_FULLNAME2, TEST_GEN_PASSWORD1, TEST_GEN_PASSWORD2, TEST_GEN_USERNAME1, TEST_GEN_USERNAME2, TEST_GROUP1, TEST_PAGE, TEST_SPACE, TEST_SPACE2, TEST_USER1, TEST_USER2, TESTMAILSERVER_HOSTNAME, TESTMAILSERVER_NAME, TESTPAGE_COMMENT, TESTPAGE_CONTENT, TESTPAGE_TITLE, TESTSPACE_DESCRIPTION, TESTSPACE_KEY, TESTSPACE_TITLE, TESTSPACE2_DESCRIPTION, TESTSPACE2_KEY, TESTSPACE2_TITLE, testUser2Token, testUserToken, userHelper, VIEW_PERSONAL_SPACE_LINK, WATCHDOG_RESIN_MODE, WEBSPHERE_MODE, xmlrpc
 
Fields inherited from class com.atlassian.confluence.AbstractAtlassianWebTestCase
SITE_TITLE_SUFFIX, TITLE_SEPARATOR
 
Constructor Summary
EditGlobalPermissionsAcceptanceTest()
           
 
Method Summary
 void runBare()
          Clean up unused memory.
 void setUp()
           
protected  void tearDown()
          Default tearDown method.
 void testCanGiveGroupConfluenceAdministratorPermission()
           
 void testCanGiveUserConfluenceAdministratorPermission()
           
 void testCanGrantGroupSystemAdministratorPermissionAsSystemAdministrator()
           
 void testCanGrantUserSystemAdministratorPermissionAsSystemAdministrator()
           
 void testCannotGrantGroupSystemAdministratorPermissionAsConfluenceAdministrator()
           
 void testCannotGrantUserSystemAdministratorPermissionAsConfluenceAdministrator()
           
 void testCannotRemoveGroupSystemAdministratorPermissionAsConfluenceAdministrator()
           
 void testCannotRemoveLastSystemAdministratorPermission()
           
 void testCannotRemoveUserSystemAdministratorPermissionAsConfluenceAdministrator()
           
 void testCannotRevokeConfluenceUsePermissionFromSystemAdminAsConfAdmin()
           
 void testCannotSetPermissionsOnSysAdminAsConfAdmin()
           
 void testCannotSetPermissionsOnSysAdminGroupAsConfAdmin()
           
 void testCanRemoveConfluenceAdministratorPermissionFromGroup()
           
 void testCanRemoveConfluenceAdministratorPermissionFromUser()
           
 void testCanRemoveGroupSystemAdministratorPermissionAsSystemAdministrator()
           
 void testCanRemoveUserSystemAdministratorPermissionAsSystemAdministrator()
           
 void testCanRevokeConfluenceUsePermissionFromSysAdminAsAnotherSysAdmin()
           
 void testCanSetAnonymousUsePermission()
           
 void testCanSetPermissionsOnNormalGroupsAsConfAdmin()
           
 void testCanSetPermissionsOnNormalUsersAsConfAdmin()
           
 void testCanUseRequiredForAnonymousPermissions()
          Test that more specific anonymous permissions cannot be set unless the anonymous can use permission is also set.
 void testPermissionTabs()
           
 
Methods inherited from class com.atlassian.confluence.AbstractPermissionsAcceptanceTest
assertGroupPermissionInViewPermissionsTable, assertUserHasNoPermissionsInViewPermissionsTable, assertUserPermissionErrorInViewPermissionsTable, assertUserPermissionInViewPermissionsTable, grantAdminSpaceToTestUser, grantCreateAttachmentToTestUser, grantCreateBlogToTestUser, grantCreateCommentToTestUser, grantCreatePageToTestUser, grantExportPageToTestUser, grantExportSpaceToTestUser, grantRemoveAttachmentToTestUser, grantRemoveBlogToTestUser, grantRemoveCommentToTestUser, grantRemovePageToTestUser, grantSetPagePermissionsToTestUser, grantViewSpacePermissionToAnonymous, removeAdminSpaceFromTestUser, removeCreateAttachmentFromTestUser, removeCreateBlogFromTestUser, removeCreateCommentFromTestUser, removeCreatePageFromTestUser, removeEditPermissions, removeExportPageFromTestUser, removeExportSpaceFromTestUser, removeRemoveAttachmentFromTestUser, removeRemoveBlogFromTestUser, removeRemoveCommentFromTestUser, removeRemovePageFromTestUser, removeSetPagePermissionsFromTestUser, removeViewPermissions, removeViewSpacePermissionToAnonymous
 
Methods inherited from class com.atlassian.confluence.AbstractConfluenceAcceptanceTest
addAnonymousPermissionsToSpace, addComment, addCommentToBlogPost, addPageComment, addSpaceLabel, addUserToGroupViaHelper, addWatchPage, assertImagePresent, assertImageValid, assertLoggedInAs, assertMailReceived, assertNoMailReceived, attachFile, attachFile, attachFileWithName, chooseRandomBaseUrl, cleanUp, createBlog, createGroup, createGroupViaHelper, createMail, createPage, createPageWithViewRestrictions, createSpaceViaWebUi, createSpaceViaWebUI, createSpaceViaWebUI, createTemplate, createTestMailServer, createTestSpaceViaWebUI, createUserViaHelper, createUserViaHelper, disableAnonymousAccess, disableAnonymousAccessToSpace, editBlogLabels, editBlogPostContent, editPage, editPageContent, editPageContent, editPageLabels, editPageWithContent, editPageWithContent, editSpaceDescription, editSpacePermsForm, emptyTrash, enableAnonymousAccess, enableAnonymousAccessToSpace, ensureTestUserCanViewTestSpace, ensureUserCanViewSpace, forceViewGlobalAdmin, generateBaseUrl, generateFile, getAppContext, getBaseUrl, getConfiguredBaseUrl, getCurrentMailQueueSize, getFriendlyRelativeDate, getPageId, getPluginHelper, getTestProperty, getTestPropertyAsBoolean, getTestPropertyAsInt, getTestPropertyAsInt, getTestSpace, getTodaysBlogPostDate, getUserGroups, goToEditGeneralConfiguration, gotoPageWithError, grantAnonymousUseConfluencePermission, grantGlobalBrowsePermissionToGroup, grantGlobalPermissionToGroup, grantGlobalPermissionToUser, grantSpacePermissionToGroup, grantSpacePermissionToGroupAndDelegate, grantSpacePermissionToUser, grantSpacePermissionToUserAndDelegate, grantViewSpacePermissionToGroup, grantViewSpacePermissionToGroupAndDelegate, grantViewSpacePermissionToUser, importGlobalBackup, importGlobalBackup, importMail, importMailAndAssertNoRunningTask, importSpaceBackup, isClustered, logIn, logIn, logInAs, logInAs, loginAs, logInAsAdminAtDashboard, logInAsAtDashboard, loginAsAtDashboard, loginAsTestUser, loginAsTestUser2, loginAsTestUserAtDashboard, loginViaForm, logout, makeParams, movePage, movePage, movePageToNewParent, movePageToNewParent, movePageToNewSpace, openInsertImagePopup, openInsertLinkPopup, pause, pause, rebuildIndex, removeAnonymousPermissionToSpace, removeBlog, removeGroup, removePageOrBlogById, removePersonalSpace, removeTestUser1, removeTestUser1ViaHelper, removeUser, removeUserFromGroupViaHelper, removeUserViaHelper, renamePage, resetEmailMask, restoreBaseUrl, revokeAnonymousUseConfluencePermission, revokeGlobalPermissionFromGroup, revokeGlobalPermissionFromUser, revokeSpacePermissionFromGroup, revokeSpacePermissionFromUser, rpcAddComment, rpcAddComment, rpcAddComment, rpcAddLabelToBlog, rpcAddLabelToPage, rpcAddLabelToPage, rpcAddLabelToSpace, rpcAddTestComment, rpcChangeLogLevel, rpcClearIndex, rpcClearQueue, rpcConvertToPersonalSpace, rpcCreateBlogPost, rpcCreateBlogPost, rpcCreatePage, rpcCreatePage, rpcCreatePersonalSpace, rpcCreateSpace, rpcCreateSpace, rpcCreateSpaceGroup, rpcCreateTestSpace, rpcCreateTestSpace2, rpcEditBlogPost, rpcEditComment, rpcEditPage, rpcFlushAllCaches, rpcFlushIndexQueue, rpcFlushMailQueue, rpcGetAdminToken, rpcGetBlogPostId, rpcGetChildren, rpcGetComments, rpcGetLocalisedText, rpcGetMailQueueSize, rpcGetPageId, rpcGetPageLabels, rpcGetPageLabels, rpcGetTestUser2Token, rpcGetTestUserToken, rpcGetTopLevelPages, rpcGetUserGroups, rpcGetUsersForActivity, rpcGetUserToken, rpcGetUserToken, rpcGetVersionForPage, rpcGrantAnonymousSpacePermission, rpcGrantGlobalPermission, rpcGrantSpacePermission, rpcGrantViewSpacePermission, rpcHasGroup, rpcHasUser, rpcLog, rpclogCommandOutput, rpcLogOutAdmin, rpcMovePage, rpcMovePageToTopLevel, rpcPauseJob, rpcRemoveAllSpaceGroups, rpcRemoveAnonymousSpacePermission, rpcRemoveAttachment, rpcRemoveComment, rpcRemoveComment, rpcRemoveGlobalPermissions, rpcRemoveGroup, rpcRemoveLabelFromPage, rpcRemoveLabelFromPage, rpcRemoveLabelFromSpace, rpcRemovePage, rpcRemoveSpace, rpcRemoveSpacePermission, rpcRemoveUserUncleanly, rpcRenderContent, rpcRestoreAbstractPage, rpcResumeJob, rpcStartActivity, rpcStoreBlogEntry, rpcTrashPage, rpcTrashPage, rpcTrashPage, rpcTriggerJob, search, setAllowCamelCase, setAnonymousRemoteApi, setAttachmentMaxUploadSize, setDraftSaveInterval, setEditPermissionsForGroups, setEditPermissionsForUsers, setEmailMask, setEnableWysiwyg, setExternalUserManagement, setHttpCompression, setMaxAttachmentsInUI, setPageLabels, setPublicSignup, setRemoteApi, setSharedMode, setThreadedComments, setUp, setViewPermissionsForGroups, setViewPermissionsForUsers, showAllUsers, shutdownQuartz, stopTestMailServer, stripContext, viewAbstractPage, viewBlog, viewEditBlogPostPage, viewGlobalAdmin, viewGlobalPermissions, viewHomepage, viewLabel, viewLanguages, viewPage, viewPeopleDirectory, viewSpaceAdmin, viewSpaceAdvanced, viewSpaceContent, viewSpacePermissions, viewSpaceSummary, viewSpaceSummary, viewTodaysBlog, viewTrash, viewUser, waitForLongRunningTaskToComplete, watchPage, watchSpace, watchSpace, xmlRpcExecute
 
Methods inherited from class com.atlassian.confluence.AbstractAtlassianWebTestCase
assertCollectionContainsKeyWithValue, assertContains, assertDoesNotContain, assertElementNotPresentByXPath, assertElementPresentByXPath, assertEndsWith, assertLinkNotPresentWithHrefContaining, assertLinkPresent, assertLinkPresentWithHref, assertLinkPresentWithHrefContaining, assertLinkPresentWithImage, assertLinkPresentWithText, assertLinkPresentWithTextAndHref, assertPageTitleEquals, assertServerResponseContains, assertServerResponseDoesNotContain, assertStartsWith, assertStatusCode, assertSubmitButtonNotPresent, assertTextNotPresent, assertTextsPresentInOrder, assertTextsPresentInOrder, assertTitleEquals, assertTitleEquals, clickLinkWithText, getGroupFromResponse, selectOptionByValue, setTextField
 
Methods inherited from class com.atlassian.confluence.ThreadLocalWebTestCase
assertButtonNotPresent, assertButtonNotPresentWithText, assertButtonPresent, assertButtonPresentWithText, assertCheckboxNotPresent, assertCheckboxNotPresent, assertCheckboxNotSelected, assertCheckboxNotSelected, assertCheckboxPresent, assertCheckboxPresent, assertCheckboxSelected, assertCheckboxSelected, assertCookiePresent, assertCookieValueEquals, assertCookieValueMatch, assertDownloadedFileEquals, assertElementNotPresent, assertElementPresent, assertFormElementEmpty, assertFormElementEquals, assertFormElementMatch, assertFormElementNotPresent, assertFormElementPresent, assertFormNotPresent, assertFormNotPresent, assertFormPresent, assertFormPresent, assertFramePresent, assertHiddenFieldPresent, assertImagePresent, assertImageValidAndStore, assertKeyInTable, assertKeyInTable, assertKeyNotInTable, assertKeyNotPresent, assertKeyNotPresent, assertKeyPresent, assertKeyPresent, assertKeysInTable, assertKeysInTable, assertLinkNotPresent, assertLinkNotPresentWithExactText, assertLinkNotPresentWithExactText, assertLinkNotPresentWithImage, assertLinkNotPresentWithText, assertLinkNotPresentWithText, assertLinkPresentWithExactText, assertLinkPresentWithExactText, assertLinkPresentWithText, assertMatch, assertMatchInElement, assertMatchInTable, assertMatchInTable, assertNoMatch, assertNoMatchInElement, assertNoMatchInTable, assertNoMatchInTable, assertRadioOptionNotPresent, assertRadioOptionNotSelected, assertRadioOptionPresent, assertRadioOptionSelected, assertResetButtonNotPresent, assertResetButtonNotPresent, assertResetButtonPresent, assertResetButtonPresent, assertSelectedOptionEquals, assertSelectedOptionMatches, assertSelectedOptionsEqual, assertSelectedOptionsMatch, assertSelectedOptionValueEquals, assertSelectedOptionValuesEqual, assertSelectOptionNotPresent, assertSelectOptionPresent, assertSelectOptionsEqual, assertSelectOptionsNotEqual, assertSelectOptionsPresent, assertSelectOptionValueNotPresent, assertSelectOptionValuePresent, assertSelectOptionValuesEqual, assertSelectOptionValuesNotEqual, assertSelectOptionValuesPresent, assertSubmitButtonNotPresent, assertSubmitButtonPresent, assertSubmitButtonPresent, assertSubmitButtonPresent, assertTableEquals, assertTableEquals, assertTableMatch, assertTableMatch, assertTableNotPresent, assertTablePresent, assertTableRowCountEquals, assertTableRowsEqual, assertTableRowsEqual, assertTableRowsMatch, assertTableRowsMatch, assertTextFieldEquals, assertTextInElement, assertTextInTable, assertTextInTable, assertTextNotInElement, assertTextNotInTable, assertTextNotInTable, assertTextPresent, assertTitleEqualsKey, assertTitleEqualsKey, assertTitleMatch, assertWindowCountEquals, assertWindowPresent, assertWindowPresent, assertWindowPresentWithTitle, beginAt, checkCheckbox, checkCheckbox, clickButton, clickButtonWithText, clickElementByXPath, clickLink, clickLinkWithExactText, clickLinkWithExactText, clickLinkWithImage, clickLinkWithText, clickRadioOption, closeBrowser, closeWindow, dumpCookies, dumpHtml, dumpHtml, dumpTable, dumpTable, getDialog, getElementAttributByXPath, getElementTextByXPath, getFormElementValue, getImage, getMessage, getMessage, getPageSource, getServeurResponse, getTable, getTestContext, getTester, getTestingEngineKey, gotoFrame, gotoPage, gotoRootWindow, gotoWindow, gotoWindow, gotoWindowByTitle, removeThreadLocal, reset, saveAs, selectOption, selectOptions, selectOptionsByValues, setDialog, setExpectedJavaScriptAlert, setExpectedJavaScriptAlert, setExpectedJavaScriptConfirm, setExpectedJavaScriptConfirm, setExpectedJavaScriptPrompt, setExpectedJavaScriptPrompt, setFormElement, setScriptingEnabled, setTestContext, setTester, setTestingEngineKey, setWorkingForm, setWorkingForm, setWorkingForm, submit, submit, submit, uncheckCheckbox, uncheckCheckbox
 
Methods inherited from class junit.framework.TestCase
countTestCases, createResult, getName, run, run, runTest, 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
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

EditGlobalPermissionsAcceptanceTest

public EditGlobalPermissionsAcceptanceTest()
Method Detail

setUp

public void setUp()
           throws java.lang.Exception
Overrides:
setUp in class AbstractConfluenceAcceptanceTest
Throws:
java.lang.Exception

tearDown

protected void tearDown()
                 throws java.lang.Exception
Description copied from class: AbstractConfluenceAcceptanceTest
Default tearDown method. Removes any files which were added to the AbstractConfluenceAcceptanceTest.filesToDelete list.

Overrides:
tearDown in class AbstractConfluenceAcceptanceTest
Throws:
java.lang.Exception

runBare

public void runBare()
             throws java.lang.Throwable
Description copied from class: ThreadLocalWebTestCase
Clean up unused memory. Using setUp and tearDown is not an option for this requires the subclasses of this class to call the respective super methods.

Original patch contributed by Budi Boentaran.

Overrides:
runBare in class ThreadLocalWebTestCase
Throws:
java.lang.Throwable

testCanGiveUserConfluenceAdministratorPermission

public void testCanGiveUserConfluenceAdministratorPermission()
                                                      throws java.lang.Exception
Throws:
java.lang.Exception

testCanGrantUserSystemAdministratorPermissionAsSystemAdministrator

public void testCanGrantUserSystemAdministratorPermissionAsSystemAdministrator()
                                                                        throws java.lang.Exception
Throws:
java.lang.Exception

testCannotGrantUserSystemAdministratorPermissionAsConfluenceAdministrator

public void testCannotGrantUserSystemAdministratorPermissionAsConfluenceAdministrator()
                                                                               throws java.lang.Exception
Throws:
java.lang.Exception

testCanRemoveUserSystemAdministratorPermissionAsSystemAdministrator

public void testCanRemoveUserSystemAdministratorPermissionAsSystemAdministrator()
                                                                         throws java.lang.Exception
Throws:
java.lang.Exception

testCannotRemoveUserSystemAdministratorPermissionAsConfluenceAdministrator

public void testCannotRemoveUserSystemAdministratorPermissionAsConfluenceAdministrator()
                                                                                throws java.lang.Exception
Throws:
java.lang.Exception

testCanGrantGroupSystemAdministratorPermissionAsSystemAdministrator

public void testCanGrantGroupSystemAdministratorPermissionAsSystemAdministrator()
                                                                         throws java.lang.Exception
Throws:
java.lang.Exception

testCannotGrantGroupSystemAdministratorPermissionAsConfluenceAdministrator

public void testCannotGrantGroupSystemAdministratorPermissionAsConfluenceAdministrator()
                                                                                throws java.lang.Exception
Throws:
java.lang.Exception

testCanRemoveGroupSystemAdministratorPermissionAsSystemAdministrator

public void testCanRemoveGroupSystemAdministratorPermissionAsSystemAdministrator()
                                                                          throws java.lang.Exception
Throws:
java.lang.Exception

testCannotRemoveGroupSystemAdministratorPermissionAsConfluenceAdministrator

public void testCannotRemoveGroupSystemAdministratorPermissionAsConfluenceAdministrator()
                                                                                 throws java.lang.Exception
Throws:
java.lang.Exception

testCanGiveGroupConfluenceAdministratorPermission

public void testCanGiveGroupConfluenceAdministratorPermission()
                                                       throws java.lang.Exception
Throws:
java.lang.Exception

testCanRemoveConfluenceAdministratorPermissionFromUser

public void testCanRemoveConfluenceAdministratorPermissionFromUser()
                                                            throws java.lang.Exception
Throws:
java.lang.Exception

testCanRemoveConfluenceAdministratorPermissionFromGroup

public void testCanRemoveConfluenceAdministratorPermissionFromGroup()
                                                             throws java.lang.Exception
Throws:
java.lang.Exception

testCannotRemoveLastSystemAdministratorPermission

public void testCannotRemoveLastSystemAdministratorPermission()

testCannotRevokeConfluenceUsePermissionFromSystemAdminAsConfAdmin

public void testCannotRevokeConfluenceUsePermissionFromSystemAdminAsConfAdmin()

testCanRevokeConfluenceUsePermissionFromSysAdminAsAnotherSysAdmin

public void testCanRevokeConfluenceUsePermissionFromSysAdminAsAnotherSysAdmin()

testCannotSetPermissionsOnSysAdminAsConfAdmin

public void testCannotSetPermissionsOnSysAdminAsConfAdmin()

testCannotSetPermissionsOnSysAdminGroupAsConfAdmin

public void testCannotSetPermissionsOnSysAdminGroupAsConfAdmin()

testPermissionTabs

public void testPermissionTabs()

testCanSetPermissionsOnNormalUsersAsConfAdmin

public void testCanSetPermissionsOnNormalUsersAsConfAdmin()

testCanSetPermissionsOnNormalGroupsAsConfAdmin

public void testCanSetPermissionsOnNormalGroupsAsConfAdmin()

testCanUseRequiredForAnonymousPermissions

public void testCanUseRequiredForAnonymousPermissions()
Test that more specific anonymous permissions cannot be set unless the anonymous can use permission is also set.


testCanSetAnonymousUsePermission

public void testCanSetAnonymousUsePermission()


Copyright © 2003-2010 Atlassian. All Rights Reserved.