Merge pull request #16199 from edx/mattdrayer/ENT-698

mattdrayer/ENT-698: Log additional context for SuccessFactors errors.
This commit is contained in:
Uman Shahzad
2017-10-18 15:01:03 +05:00
committed by GitHub
2 changed files with 15 additions and 10 deletions

View File

@@ -307,15 +307,19 @@ class SapSuccessFactorsIdentityProvider(EdXSAMLIdentityProvider):
response = response.json()
except requests.RequestException as err:
# If there was an HTTP level error, log the error and return the details from the SAML assertion.
log.warning(
'Unable to retrieve user details with username %s from SAPSuccessFactors for company ID %s '
'with url "%s" and error message: %s',
username,
self.odata_company_id,
odata_api_url,
err.message,
exc_info=True,
sys_msg = err.response.json() if err.response else "Not available"
log_msg_template = (
'Unable to retrieve user details with username {username} from SAPSuccessFactors for company ' +
'ID {company} with url "{url}". Error message: {err_msg}. System message: {sys_msg}.'
)
log_msg = log_msg_template.format(
username=username,
company=self.odata_company_id,
url=odata_api_url,
err_msg=err.message,
sys_msg=sys_msg
)
log.warning(log_msg, exc_info=True)
return details
return self.get_registration_fields(response)

View File

@@ -517,8 +517,9 @@ class SuccessFactorsIntegrationTest(SamlIntegrationTestUtilities, IntegrationTes
with LogCapture(level=logging.WARNING) as log_capture:
super(SuccessFactorsIntegrationTest, self).test_register()
expected_message = 'Unable to retrieve user details with username {username} from SAPSuccessFactors ' \
'for company ID {company_id} with url "{odata_api_url}" and error message: ' \
'500 Server Error: Internal Server Error for url: {odata_api_url}'.format(
'for company ID {company_id} with url "{odata_api_url}". Error message: ' \
'500 Server Error: Internal Server Error for url: {odata_api_url}. System message: ' \
'Not available.'.format(
username=self.USER_USERNAME,
company_id=odata_company_id,
odata_api_url=mocked_odata_ai_url,