false false ThreadCount 10 = Number of Threads Duration 60 = in seconds RampUpPeriod 10 = in seconds IdPHost https://sso.DD_DOMAIN = The main URL of your SSO Instance IdPPort 80 = IdPContext idp = startupDelay 1 = in seconds LoginSP https://nextcloud.DD_DOMAIN/apps/user_saml/saml/login = Domain of registered NC using SAML ProviderId https://nextcloud.DD_DOMAIN/apps/user_saml/saml/metadata = SAML EntityId for NC ACSUrl https://nextcloud.DD_DOMAIN/apps/user_saml/saml/acs SP ACS Url to post the final response/assertion back = NextCloud nextcloud.DD_DOMAIN = ClientId https://nextcloud.DD_DOMAIN/apps/user_saml/saml/metadata = Environment Variables that will need to be updated ./dd-stress-test.users.csv User,Password , false true false shareMode.all No Spaces between User, comma, and Password fields!! false ./dd-stress-test.docs.csv folder,document , false true false shareMode.all No Spaces between Folder, comma, and DocumentID fields!! false true false https 4 HttpClient4 120000 120000 stopthread false -1 ${ThreadCount} ${RampUpPeriod} 1500501650000 1500501650000 true ${Duration} ${StartupDelay} SAML Support Login Process true true Test Plan NextCloud Tests NEXTCLOUD Login SAML2 SP calls the login page for CAS IdP Test Plan NextCloud Tests POST - Login User Logging into CAS Idp Test Plan NextCloud Tests POST - Authorization to NEXTCLOUD Send response from login to SP for processing Test Plan NextCloud Tests GET - Document Send response from login to SP for processing false saveConfig true true true true true true true false true true false false false true false false false true 0 true true true true true true false saveConfig true true true true true true true false true true false false false true false false false true 0 true true true true true true ${LoginSP}/login GET true false true true Calling secured SP page, that should then redirect to CAS login page Sec-Fetch-Mode navigate Sec-Fetch-Site none Accept-Language en-US,en;q=0.5 Sec-Fetch-User ?1 Pragma no-cache Accept text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,*/*;q=0.8 Upgrade-Insecure-Requests 1 Cache-Control no-cache Accept-Encoding gzip, deflate, br User-Agent Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:108.0) Gecko/20100101 Firefox/108.0 Sec-Fetch-Dest document false RelayState <input type="hidden" name="RelayState" value="(.+?)" $1$ 1 all false SAMLResponse <input type="hidden" name="SAMLResponse" value="(.+?)" $1$ 1 all false Execution \;execution=(.+?)&amp; $1$ all false SessionCode session_code=(.*)&amp;ex $1$ all false tab_id \;tab_id=(.*)\" me $1$ all URL SAMLRequest SAMLRequest=(.+) $1$ 1 all true ${User} = true username false true ${Password} = true password false ${IdPHost}/auth/realms/master/login-actions/authenticate?session_code=${SessionCode}&execution=${Execution}&client_id=${__urlencode(${ClientId})}&tab_id=${tab_id} POST true false true false POST Login Credentials for SAMLResponse unescaped RelayState <input type="hidden" name="RelayState" value="(.+?)" $1$ 1 all unescaped SAMLResponse <input type="hidden" name="SAMLResponse" value="(.+?)" $1$ 1 all true ${RelayState} = true RelayState true ${SAMLResponse} = true SAMLResponse ${ACSUrl} POST true false true true true OCS-APIREQUEST true = true ${NextCloud} https GET true false true false false requestToken data-requesttoken="(.+)\" $1$ all false dir Documents = true ${NextCloud} https /apps/files GET true false true true Accept application/json, text/plain, */* requesttoken ${requestToken} true false <?xml version="1.0"?> <d:propfind xmlns:d="DAV:" xmlns:oc="http://owncloud.org/ns" xmlns:nc="http://nextcloud.org/ns" xmlns:ocs="http://open-collaboration-services.org/ns"> <d:prop> <d:getlastmodified /> <d:getetag /> <d:getcontenttype /> <d:resourcetype /> <oc:fileid /> <oc:permissions /> <oc:size /> <d:getcontentlength /> <d:quota-available-bytes /> <nc:has-preview /> <nc:mount-type /> <nc:is-encrypted /> <ocs:share-permissions /> <nc:share-attributes /> <oc:tags /> <oc:favorite /> <oc:owner-id /> <oc:owner-display-name /> <oc:share-types /> <oc:comments-unread /> </d:prop> </d:propfind> = ${NextCloud} 443 https UTF-8 /remote.php/dav/files/${User} PROPFIND true false true false Sec-Fetch-Mode cors Sec-Fetch-Site same-origin Accept-Language en-US,en;q=0.5 Origin https://${NextCloud} Accept text/plain Depth 0 X-Requested-With XMLHttpRequest Content-Type text/plain;charset=UTF-8 Accept-Encoding gzip, deflate, br User-Agent Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:108.0) Gecko/20100101 Firefox/108.0 Sec-Fetch-Dest empty requesttoken ${requestToken} false file https://${NextCloud}/remote.php/dav/files/${User}/${document} = true false canDownload 1 = true ${NextCloud} 443 https /apps/files_pdfviewer/ GET true false true false Sec-Fetch-Mode navigate Sec-Fetch-Site same-origin Accept-Language en-US,en;q=0.5 Upgrade-Insecure-Requests 1 Accept-Encoding gzip, deflate, br User-Agent Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:108.0) Gecko/20100101 Firefox/108.0 Accept text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,*/*;q=0.8 Sec-Fetch-Dest iframe requesttoken ${requestToken} ${NextCloud} 443 https utf-8 /remote.php/dav/files/${User}/${document} GET true false true false Sec-Fetch-Mode cors Sec-Fetch-Site same-origin Accept-Language en-US,en;q=0.5 Accept-Encoding gzip, deflate, br User-Agent Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:108.0) Gecko/20100101 Firefox/108.0 Accept */* Sec-Fetch-Dest empty requesttoken ${requestToken}