Esempio n. 1
0
def test_reference_string_formatting_and_clone():
    ref = Conan.Reference("foo", "1.2.3", "bar", "testing")
    assert str(ref) == "foo/1.2.3@bar/testing"

    # Test cloning and formatting for cloned references.
    cpy = ref.clone(name="bla")
    assert ref is not cpy
    assert str(cpy) == "bla/1.2.3@bar/testing"

    # Ensure that the original reference has not been modified.
    assert str(ref) == "foo/1.2.3@bar/testing"
Esempio n. 2
0
def test_reference_in_local_cache(mock_run):
    ref = Conan.Reference("foo", "1.2.3", "bar", "testing")

    # Test call when reference is not in the local cache.
    mock_run.returncode = 1
    output = io.StringIO()
    with redirect_stdout(output):
        assert ref.in_local_cache() is False
    assert "$ conan search foo/1.2.3@bar/testing" in output.getvalue()

    # Test call when reference is in the local cache.
    mock_run.returncode = 0
    output = io.StringIO()
    with redirect_stdout(output):
        assert ref.in_local_cache() is True
    assert "$ conan search foo/1.2.3@bar/testing" in output.getvalue()
Esempio n. 3
0
def test_reference_download_recipe(mock_run):
    ref = Conan.Reference("foo", "1.2.3", "bar", "testing")

    # Test call when recipe could not be downloaded.
    mock_run.returncode = 1
    output = io.StringIO()
    with redirect_stdout(output):
        with pytest.raises(ValueError):
            ref.download_recipe()
    assert "$ conan download foo/1.2.3@bar/testing --recipe" in output.getvalue(
    )

    # Test call when recipe could be downloaded.
    mock_run.returncode = 0
    output = io.StringIO()
    with redirect_stdout(output):
        ref.download_recipe("bar")
    assert "$ conan download foo/1.2.3@bar/testing --recipe --remote bar" in output.getvalue(
    )
Esempio n. 4
0
def test_reference_upload_all(mock_run):
    ref = Conan.Reference("foo", "1.2.3", "bar", "testing")

    # Test call when the package could not be uploaded.
    mock_run.returncode = 1
    output = io.StringIO()
    with redirect_stdout(output):
        with pytest.raises(ValueError):
            ref.upload_all(remote="baz")
    assert "$ conan upload foo/1.2.3@bar/testing --remote baz --all -c" in output.getvalue(
    )

    # Test call when the package could be uploaded.
    mock_run.returncode = 0
    output = io.StringIO()
    with redirect_stdout(output):
        ref.upload_all(remote="baz")
    assert "$ conan upload foo/1.2.3@bar/testing --remote baz --all -c" in output.getvalue(
    )
Esempio n. 5
0
def test_reference_set_remote(mock_run):
    ref = Conan.Reference("foo", "1.2.3", "bar", "testing")

    # Test call when the remote could not be set.
    mock_run.returncode = 1
    output = io.StringIO()
    with redirect_stdout(output):
        with pytest.raises(ValueError):
            ref.set_remote(remote="baz")
    assert "$ conan remote add_ref foo/1.2.3@bar/testing baz" in output.getvalue(
    )

    # Test call when the remote could not be set.
    mock_run.returncode = 0
    output = io.StringIO()
    with redirect_stdout(output):
        ref.set_remote(remote="baz")
    assert "$ conan remote add_ref foo/1.2.3@bar/testing baz" in output.getvalue(
    )
Esempio n. 6
0
def test_reference_create_alias(mock_run):
    ref = Conan.Reference("foo", "1.2.3", "bar", "testing")

    # Test call when the alias could not be created.
    mock_run.returncode = 1
    output = io.StringIO()
    with redirect_stdout(output):
        with pytest.raises(ValueError):
            ref.create_alias(version="develop", user="******")
    assert "$ conan alias foo/develop@baz/testing foo/1.2.3@bar/testing" in output.getvalue(
    )

    # Test call when the alias could not be created.
    mock_run.returncode = 0
    output = io.StringIO()
    with redirect_stdout(output):
        alias = ref.create_alias(version="develop", user="******")
    assert "$ conan alias foo/develop@baz/testing foo/1.2.3@bar/testing" in output.getvalue(
    )
    assert alias is not ref
Esempio n. 7
0
def test_reference_install(mock_run):
    ref = Conan.Reference("foo", "1.2.3", "bar", "testing")

    # Test call when the package could not be installed.
    mock_run.returncode = 1
    output = io.StringIO()
    with redirect_stdout(output):
        with pytest.raises(ValueError):
            ref.install(remote="baz",
                        profiles=['a.p'],
                        options={"key": True},
                        cwd="/foo/bar")
    assert ("[/foo/bar] $ conan install foo/1.2.3@bar/testing "
            "--profile a.p --build outdated --remote baz -o key=True"
            ) == output.getvalue().strip()

    # Test call when the package could be installed.
    mock_run.returncode = 0
    output = io.StringIO()
    with redirect_stdout(output):
        ref.install(build="foo")
    assert "$ conan install foo/1.2.3@bar/testing --build foo" in output.getvalue(
    )