Class SAMLAuthTest
java.lang.Object
com.atlassian.crowd.acceptance.tests.applications.crowd.CrowdWebDriverTest
com.atlassian.crowd.acceptance.utils.CrowdWebTestCase
com.atlassian.crowd.acceptance.tests.applications.crowd.CrowdAcceptanceTestCase
com.atlassian.crowd.acceptance.tests.applications.crowd.plugin.saml.SAMLAuthTest
This tests the SAML Authentication interaction but does
not rigorously examine the actual response message sent
back to Google.
Please see the TestSAMLMessageManagerImpl for response testing.
In place of the Google server, we use the 500.jsp page as our "mock Google" response recipient and use GET requests as our "mock Google" request generator.
Both SSO and sign-in-after-login workflows are tested.
-
Nested Class Summary
Nested classes/interfaces inherited from class com.atlassian.crowd.acceptance.utils.CrowdWebTestCase
CrowdWebTestCase.GenericPage, CrowdWebTestCase.TestContext
-
Field Summary
Fields inherited from class com.atlassian.crowd.acceptance.tests.applications.crowd.CrowdAcceptanceTestCase
ADMIN_PW, ADMIN_USER, BATCHED_TEST_RULE, EXPIRED_MAINTENANCE_KEY, logger, testkitClient, testName, testWatcher, URL_HOME, USER_DETAILS_TABLE_ID
Fields inherited from class com.atlassian.crowd.acceptance.tests.applications.crowd.CrowdWebDriverTest
applinksClient, BACKUP_RESOURCE, COOKIE_ABSENT, i18n, IMMUTABLE_USER_NAME, IMMUTABLE_USER_PW, JSESSIONID_COOKIE, log, REMEMBER_ME_COOKIE, restAdminClient, SSO_COOKIE, TEST_USER_DISPLAYNAME, TEST_USER_NAME, TEST_USER_PW, testedProduct, webDriverRules
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionvoid
void
void
void
protected void
protected void
protected io.restassured.response.Response
protected void
protected void
void
Self sanity check that we're generating properly encoded requests.void
setUp()
protected void
Methods inherited from class com.atlassian.crowd.acceptance.tests.applications.crowd.CrowdAcceptanceTestCase
_loginAsUser, _logout, assertAtLoginForm, assertAtLoginForm, assertIsLoggedIn, assertIsLoggedOut, assertMatchInTableBody, assertNoMatchInTableBody, assertPageNotFound, assertUnescapedKeyNotPresent, assertUnescapedKeyPresent, assertUserInTable, assertUserInTable, assertUserNotInTable, disableIPValidation, doBackup, getGroupTableContents, getInstanceProperties, getUserDetailsTableContents, getUsersCount, getUsersForDirectory, gotoAddApplication, gotoAddGroup, gotoAddPrincipal, gotoAdministrationPage, gotoBrowseApplications, gotoBrowseDirectories, gotoBrowseGroups, gotoBrowseGroups, gotoBrowsePrincipals, gotoBrowsePrincipals, gotoCreateDirectory, gotoCurrentApplicationSessions, gotoCurrentPrincipalSessions, gotoGeneral, gotoImporters, gotoLdapConnectionPool, gotoLicensing, gotoLoggingProfiling, gotoMailServer, gotoMailTemplate, gotoRemovePrincipal, gotoRestore, gotoSAMLConfig, gotoSessionConfig, gotoSystemInfo, gotoTrustedProxies, gotoViewApplication, gotoViewApplicationDirectories, gotoViewGroup, gotoViewPrincipal, intendToModifyLdapData, isLoggedIn, isLoggedInAfterRefresh, log, loginAdmin, loginWithRestAndRedirectToStartPage, loginWithRestEndpoint, loginWithRestEndpoint, namesOf, performRequestWithCookieExchange, restGet, restoreCrowdFromXMLWithoutReloggingIn, restPost, userWithDetails, userWithUsernameAndDisplayName
Methods inherited from class com.atlassian.crowd.acceptance.utils.CrowdWebTestCase
addRequestHeader, assertButtonNotPresent, assertCheckboxNotPresent, assertCheckboxNotSelected, assertCheckboxPresent, assertCheckboxSelected, assertCheckboxSelected, assertElementIsDisabled, assertElementIsEnabled, assertElementNotPresent, assertElementNotPresentByXPath, assertElementPresent, assertElementPresentByXPath, assertErrorNotPresent, assertErrorPresent, assertErrorPresentWithKey, assertFieldErrorPresentWithKey, assertInfoPresent, assertKeyInElement, assertKeyNotPresent, assertKeyPresent, assertKeyPresent, assertKeyPresent, assertLinkNotPresent, assertLinkPresent, assertLinkPresentWithKey, assertMatchInTable, assertRadioOptionNotPresent, assertRadioOptionSelected, assertSelectedOptionEquals, assertSelectedOptionValueEquals, assertSelectOptionsEqual, assertSuccessPresent, assertTableNotPresent, assertTablePresent, assertTableRowCountEquals, assertTextFieldEquals, assertTextInElement, assertTextInTable, assertTextInTable, assertTextNotInTable, assertTextNotInTable, assertTextNotPresent, assertTextPresent, assertTitleEquals, assertTitleMatch, assertTitleNotEquals, assertWarningAndErrorNotPresent, assertWarningNotPresent, beginAt, checkCheckbox, checkCheckbox, clearCookies, clickButton, clickButtonWithText, clickElementByXPath, clickLink, clickLinkInNavbar, clickLinkInNavbarDropdown, clickLinkWithExactText, clickLinkWithKey, clickLinkWithText, clickRadioOption, closeBrowser, disableIpAddressValidation, equalToIgnoringWhiteSpace, findElementWithText, getBaseUrlIPv6, getElementById, getElementByXPath, getElementsByXPath, getElementTextById, getElementTextByXPath, getElementValueByID, getFinder, getLinkInNavbar, getLinkInNavbarDropdown, getMessage, getMessage, getName, getPageSource, getPageText, getPoller, getRadiosFromRadioGroup, getRadioWithValue, getRestAssuredCookies, getTable, getTestContext, getText, getTextForList, gotoPage, isElementWithIdPresent, isTextPresent, scrapeTable, scrapeTable, scrapeTable, selectOption, selectOption, selectOptionBy, selectOptionByValue, seleniumCookieToRestAssuredCookie, setRadioButton, setResourceBundleName, setTextField, setWorkingForm, setWorkingForm, submit, submit, uncheckCheckbox, waitForElementById, waitUntilPageLoad
Methods inherited from class com.atlassian.crowd.acceptance.tests.applications.crowd.CrowdWebDriverTest
assertAtRelativePath, assertAtURIContaining, assertAtURIEndingWith, assertAtUrl, assertHasError, assertHasErrorKey, bind, bind, clearAndInvalidateSsoCookieIfPresent, clearAndInvalidateSsoCookieOrFail, deleteAllCookies, deleteCookie, expectState, getBaseUrl, getBaseUrlWithoutPort, getCookie, getCookieOrThrow, getCurrentUrl, getDriver, getSsoCookieOrFail, getTestkitClient, hasCookie, hasSsoCookie, loginAsExpiredPasswordUser, loginAsNonAdmin, loginAsNonAdmin, loginAsSysAdmin, loginAsSysAdmin, loginAsSysAdminWithRememberMe, loginAsUser, loginExpectingFailure, loginImmutableUser, loginImmutableUser, loginTestUser, loginTestUser, logout, manage, navigateToAndBind, navigateToUrl, restoreBaseSetup, restoreCrowdFromXML, restoreCrowdFromXML, waitForUrl, waitUntilAsyncFinished
-
Field Details
-
KEYDEL_BUTTON
- See Also:
-
KEYGEN_BUTTON
- See Also:
-
-
Constructor Details
-
SAMLAuthTest
public SAMLAuthTest()
-
-
Method Details
-
setUp
- Overrides:
setUp
in classCrowdAcceptanceTestCase
- Throws:
Exception
-
forgeGoogleRequestExpectingFailure
- Throws:
IOException
-
forgeGoogleRequest
- Throws:
IOException
-
forgeInvalidGoogleRequest
protected void forgeInvalidGoogleRequest() -
ensureNoKeysPresent
protected void ensureNoKeysPresent() -
ensureKeysPresent
protected void ensureKeysPresent() -
authWithNoKeysSetup
- Throws:
IOException
-
authWithGarbageRequest
public void authWithGarbageRequest() -
authSuccessSSO
- Throws:
IOException
-
authSuccessAfterLogin
- Throws:
IOException
URISyntaxException
-
verifySAMLResponse
protected void verifySAMLResponse() -
generatedRequestParameterDecodes
Self sanity check that we're generating properly encoded requests.- Throws:
Exception
-