Exemplo n.º 1
0
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 == {}
Exemplo n.º 4
0
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 == {}
Exemplo n.º 5
0
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]
Exemplo n.º 7
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)