Ejemplo n.º 1
0
def test_read_feedstock_token():
    user = "******"
    repo = "foo"
    pth = os.path.expanduser("~/.conda-smithy/bar_foo.token")

    # no token
    token, err = read_feedstock_token(user, repo)
    assert "No token found in" in err
    assert token is None

    # empty
    try:
        os.system("touch " + pth)
        token, err = read_feedstock_token(user, repo)
        assert "Empty token found in" in err
        assert token is None
    finally:
        if os.path.exists(pth):
            os.remove(pth)

    # token ok
    try:
        generate_and_write_feedstock_token(user, repo)
        token, err = read_feedstock_token(user, repo)
        assert err is None
        assert token is not None

    finally:
        if os.path.exists(pth):
            os.remove(pth)
Ejemplo n.º 2
0
def test_register_feedstock_token_with_proviers_error(
    azure_mock,
    travis_mock,
    circle_mock,
    drone_mock,
    provider,
):
    user = "******"
    project = "bar-feedstock"

    pth = os.path.expanduser("~/.conda-smithy/foo_bar-feedstock.token")

    if provider == "drone":
        drone_mock.side_effect = ValueError("blah")
    if provider == "circle":
        circle_mock.side_effect = ValueError("blah")
    if provider == "travis":
        travis_mock.side_effect = ValueError("blah")
    if provider == "azure":
        azure_mock.side_effect = ValueError("blah")

    try:
        generate_and_write_feedstock_token(user, project)
        feedstock_token, _ = read_feedstock_token(user, project)

        with pytest.raises(RuntimeError) as e:
            register_feedstock_token_with_proviers(
                user, project, drone_endpoints=[drone_default_endpoint])

        assert "on %s" % provider in str(e.value)
    finally:
        if os.path.exists(pth):
            os.remove(pth)
Ejemplo n.º 3
0
def test_register_feedstock_token_with_proviers(
    azure_mock,
    travis_mock,
    circle_mock,
    drone_mock,
    drone,
    circle,
    travis,
    azure,
    clobber,
):
    user = "******"
    project = "bar"

    pth = os.path.expanduser("~/.conda-smithy/foo_bar.token")

    try:
        generate_and_write_feedstock_token(user, project)
        feedstock_token, _ = read_feedstock_token(user, project)

        register_feedstock_token_with_proviers(
            user,
            project,
            drone=drone,
            circle=circle,
            travis=travis,
            azure=azure,
            clobber=clobber,
        )

        if drone:
            drone_mock.assert_called_once_with(user, project, feedstock_token,
                                               clobber)
        else:
            drone_mock.assert_not_called()

        if circle:
            circle_mock.assert_called_once_with(user, project, feedstock_token,
                                                clobber)
        else:
            circle_mock.assert_not_called()

        if travis:
            travis_mock.assert_called_once_with(user, project, feedstock_token,
                                                clobber)
        else:
            travis_mock.assert_not_called()

        if azure:
            azure_mock.assert_called_once_with(user, project, feedstock_token,
                                               clobber)
        else:
            azure_mock.assert_not_called()
    finally:
        if os.path.exists(pth):
            os.remove(pth)