Exemple #1
0
def test_connection_for_user_with_no_submits_for(
        mocker, mkey, returned_user_me_submit_for_no_lab):
    with mocker.patch('dcicutils.ff_utils.get_metadata',
                      return_value=returned_user_me_submit_for_no_lab.json()):
        connection = gfi.FDN_Connection(mkey)
        assert connection.check is True
        assert not connection.labs
Exemple #2
0
def test_connection_prompt_for_lab_award_multi_award(
        mocker, monkeypatch, mkey, returned_user_me_submit_for_one_lab,
        returned_lab_w_two_awards):
    '''this not only tests if the correct award is chosen if given the
        choice but also that multiple awards are linked
        to a lab the first is set as the defaul on init
    '''
    defaultlab = '/labs/bing-ren-lab/'
    defaultaward = '/awards/1U54DK107977-01/'
    chosenaward = '/awards/1U01ES017166-01/'
    with mocker.patch('dcicutils.ff_utils.get_metadata',
                      side_effect=[
                          returned_user_me_submit_for_one_lab.json(),
                          returned_lab_w_two_awards.json(),
                          returned_lab_w_two_awards.json()
                      ]):
        connection = gfi.FDN_Connection(mkey)
        assert connection.lab == defaultlab
        assert connection.award == defaultaward
        # monkeypatch the "input" function, so that it returns "2".
        # This simulates the user entering "2" in the terminal:
        monkeypatch.setitem(__builtins__, 'input', lambda x: "2")
        connection.prompt_for_lab_award()
        assert connection.lab == defaultlab
        assert connection.award == chosenaward
Exemple #3
0
def bad_connection_will_exit():
    with pytest.raises(SystemExit) as excinfo:
        keypairs = {
            "default": {
                "server": "https://data.4dnucleome.org/",
                "key": "testkey",
                "secret": "testsecret"
            }
        }
        key = gfi.FDN_Key(keypairs, "default")
        gfi.FDN_Connection(key)
    assert str(excinfo.value) == "1"
Exemple #4
0
def test_connection_prompt_for_lab_award_no_prompt_for_one_each(
        mocker, mkey, returned_user_me_submit_for_one_lab,
        returned_lab_w_one_award):
    lab2chk = '/labs/bing-ren-lab/'
    awd2chk = '/awards/1U54DK107977-01/'
    with mocker.patch('dcicutils.ff_utils.get_metadata',
                      side_effect=[
                          returned_user_me_submit_for_one_lab.json(),
                          returned_lab_w_one_award.json(),
                          returned_lab_w_one_award.json()
                      ]):
        connection = gfi.FDN_Connection(mkey)
        connection.prompt_for_lab_award()
        assert connection.lab == lab2chk
        assert connection.award == awd2chk
Exemple #5
0
def test_connection_success(mocker, mkey, returned_user_me_submit_for_one_lab,
                            returned_lab_w_one_award):
    email = '*****@*****.**'
    lab2chk = '/labs/bing-ren-lab/'
    awd2chk = '/awards/1U54DK107977-01/'
    with mocker.patch('dcicutils.ff_utils.get_metadata',
                      side_effect=[
                          returned_user_me_submit_for_one_lab.json(),
                          returned_lab_w_one_award.json()
                      ]):
        connection = gfi.FDN_Connection(mkey)
        assert connection.check is True
        assert connection.email == email
        assert lab2chk in connection.labs
        assert connection.lab == lab2chk
        assert connection.award == awd2chk
Exemple #6
0
def test_connection_prompt_for_lab_award_multi_lab_award(
        mocker, monkeypatch, mkey, returned_user_me_submit_for_two_labs,
        returned_lab_w_two_awards, returned_otherlab_w_two_awards):
    defaultlab = '/labs/bing-ren-lab/'
    defaultaward = '/awards/1U54DK107977-01/'
    chosenlab = '/labs/ben-ring-lab/'
    chosenaward = '/awards/7777777/'
    with mocker.patch('dcicutils.ff_utils.get_metadata',
                      side_effect=[
                          returned_user_me_submit_for_two_labs.json(),
                          returned_lab_w_two_awards.json(),
                          returned_otherlab_w_two_awards.json()
                      ]):
        connection = gfi.FDN_Connection(mkey)
        assert connection.lab == defaultlab
        assert connection.award == defaultaward
        # monkeypatch the "input" function, so that it returns "2".
        # This simulates the user entering "2" in the terminal:
        monkeypatch.setitem(__builtins__, 'input', lambda x: "2")
        connection.prompt_for_lab_award()
        assert connection.lab == chosenlab
        assert connection.award == chosenaward