def test_get_from_cadi_by_id_when_cadi_server_down_returns_503(app): cadi_id = 'EXO-00-000' responses.add(responses.GET, current_app.config['CADI_GET_RECORD_URL'].format(id=cadi_id), status=500) with raises(ExternalAPIException): get_from_cadi_by_id(cadi_id)
def test_get_from_cadi_by_id_when_cadi_server_down_returns_503(mock_get_sso_cookie_for_cadi, app): cadi_id = 'ANA-00-000' mock_get_sso_cookie_for_cadi.return_value = dict(cookies_are='example_cookie') responses.add(responses.GET, current_app.config['CADI_GET_RECORD_URL'].format(id=cadi_id), status=500) with raises(ExternalAPIException) as e: get_from_cadi_by_id(cadi_id)
def test_get_from_cadi_by_id_when_no_entry_with_given_cadi_id_returns_empty_dict(mock_generate_krb_cookie, app): cadi_id = 'non-existing' cadi_resp = dict(data=[]) # CADI API returns empty list, when no match with given id mock_generate_krb_cookie.return_value = dict(cookies_are='example_cookie') responses.add(responses.GET, current_app.config['CADI_GET_RECORD_URL'].format(id=cadi_id), json=cadi_resp, status=200) output = get_from_cadi_by_id(cadi_id) # check the response assert output == {}
def test_get_from_cadi_by_id_when_no_entry_with_given_cadi_id_returns_empty_dict( app): cadi_id = 'non-existing' # CADI API returns empty list, when no match with given id cadi_resp = dict(data=[]) responses.add(responses.GET, current_app.config['CADI_GET_RECORD_URL'].format(id=cadi_id), json=cadi_resp, status=200) output = get_from_cadi_by_id(cadi_id) # check the response assert output == {}
def test_get_from_cadi_by_id(mock_get_sso_cookie_for_cadi, app): cookie = dict(cookies_are='example_cookie') cadi_id = 'ANA-00-000' cadi_resp = { 'data': [{ u'Conference': '', u'conferenceStatus': '', u'code': 'dANA-00-000', u'targetConference': None, u'approvalTalk': 'https://indico.cern.ch/event/event.pdf', u'updaterDate': '24/12/2014', u'PAS': '******', u'id': 1, u'updaterName': 'Updater User', u'targetPubPeriod': None, u'targetDatePreApp': '19/12/2014', u'PAPERTAR': 'http://cms.cern.ch:80/paper.tgz', u'contact': 'Contact User', u'status': 'PUB', u'description': 'Description', u'URL': 'https://twiki.cern.ch/twikiurl', u'creatorName': 'Creator User', u'publicationStatus': 'Free', u'name': 'Name', u'PAPER': 'http://cms.cern.ch:80/paper.pdf' }] } mock_get_sso_cookie_for_cadi.return_value = cookie responses.add(responses.GET, current_app.config['CADI_GET_RECORD_URL'].format(id=cadi_id), json=cadi_resp, status=200) output = get_from_cadi_by_id(cadi_id) # check that requst to glance is called with correct url and cookie assert responses.calls[ 0].request.url == 'https://icms.cern.ch/tools/api/cadiLine/{id}'.format( id=cadi_id) assert responses.calls[0].request._cookies == cookie # check the response assert output == cadi_resp['data'][0]
def test_get_from_cadi_by_id(mock_generate_krb_cookie, app): cookie = dict(cookies_are='example_cookie') cadi_id = 'ANA-00-000' cadi_resp = { 'data': [ { u'Conference': '', u'conferenceStatus': '', u'code': 'dANA-00-000', u'targetConference': None, u'approvalTalk': 'https://indico.cern.ch/event/event.pdf', u'updaterDate': '24/12/2014', u'PAS': '******', u'id': 1, u'updaterName': 'Updater User', u'targetPubPeriod': None, u'targetDatePreApp': '19/12/2014', u'PAPERTAR': 'http://cms.cern.ch:80/paper.tgz', u'contact': 'Contact User', u'status': 'PUB', u'description': 'Description', u'URL': 'https://twiki.cern.ch/twikiurl', u'creatorName': 'Creator User', u'publicationStatus': 'Free', u'name': 'Name', u'PAPER': 'http://cms.cern.ch:80/paper.pdf' } ] } mock_generate_krb_cookie.return_value = cookie responses.add(responses.GET, current_app.config['CADI_GET_RECORD_URL'].format(id=cadi_id), json=cadi_resp, status=200) output = get_from_cadi_by_id(cadi_id) # check that requst to glance is called with correct url and cookie assert responses.calls[0].request.url == 'https://icms.cern.ch/tools/api/cadiLine/{id}'.format(id=cadi_id) assert responses.calls[0].request._cookies == cookie # check the response assert output == cadi_resp['data'][0]
def test_get_from_cadi_by_id_when_cadi_server_down_while_asking_for_auth_returns_503( app): cadi_id = 'EXO-00-000' with raises(ExternalAPIException): get_from_cadi_by_id(cadi_id)
def test_get_from_cadi_by_id_when_cadi_server_down_while_asking_for_auth_returns_503(mock_get_sso_cookie_for_cadi, app): cadi_id = 'ANA-00-000' mock_get_sso_cookie_for_cadi.side_effect = ExternalAPIException() with raises(ExternalAPIException): get_from_cadi_by_id(cadi_id)