def test_no_upload(set_upload_address_false):
    builder = build_autodetect._get_builder()
    assert 1 == len(builder.remotes_manager._remotes)
    remote = builder.remotes_manager._remotes[0]
    # windows and linux use different names. containers?
    assert remote.name in ["bincrafters", "upload_repo"]
    assert "https://bincrafters.jfrog.io/artifactory/api/conan/public-conan" == remote.url
def test_format_remote(set_remote_address):
    builder = build_autodetect._get_builder()
    remote = builder.remotes_manager._remotes[0]
    assert 1 == len(builder.remotes_manager._remotes)
    assert "remotefoo" == remote.name
    assert "https://api.bintray.com/conan/foo/bar" == remote.url
    assert False == remote.use_ssl
def test_default_remote_address(set_upload_address):
    builder = build_autodetect._get_builder()
    assert 2 == len(builder.remotes_manager._remotes)
    remote = builder.remotes_manager._remotes[0]
    assert "remotefoo" == remote.name
    assert "https://api.bintray.com/conan/foo/bar" == remote.url
    remote = builder.remotes_manager._remotes[1]
    # windows and linux use different names. containers?
    assert remote.name in ["bincrafters", "upload_repo"]
    assert "https://bincrafters.jfrog.io/artifactory/api/conan/public-conan" == remote.url
def test_format_mixed_remotes(set_mixed_remote_address):
    builder = build_autodetect._get_builder()
    assert 2 == len(builder.remotes_manager._remotes)
    remote = builder.remotes_manager._remotes[0]
    assert "remotefoo" == remote.name
    assert "https://api.bintray.com/conan/foo/bar" == remote.url
    assert False == remote.use_ssl
    remote = builder.remotes_manager._remotes[1]
    assert "remote1" == remote.name
    assert "https://api.bintray.com/conan/qux/baz" == remote.url
    assert True == remote.use_ssl
def test_build_template_default_minimal(set_minimal_build_environment):
    builder = build_autodetect._get_builder()
    for settings, options, env_vars, build_requires, reference in builder.items:
        assert "foobar:shared" in options
        assert "x86_64" == settings['arch']

    if platform.system() == "Linux":
        assert 4 == len(builder.items)
    elif platform.system() == "Windows":
        assert 3 == len(builder.items)
    elif platform.system() == "Darwin":
        assert 2 == len(builder.items)
def test_build_template_default():
    builder = build_autodetect._get_builder()
    for settings, options, env_vars, build_requires, reference in builder.items:
        assert "foobar:shared" in options
        if platform.system() == "Darwin":
            assert "x86_64" == settings['arch']

    if platform.system() == "Linux":
        assert 8 == len(builder.items)
    elif platform.system() == "Windows":
        assert 6 == len(builder.items)
    elif platform.system() == "Darwin":
        assert 4 == len(builder.items)

    assert True == builder.upload_only_when_stable
def test_format_upload(set_upload_address):
    builder = build_autodetect._get_builder()
    assert "remotefoo" == builder.remotes_manager.upload_remote_name
    assert "remotefoo" == builder.remotes_manager._upload.name
    assert "https://api.bintray.com/conan/foo/bar" == builder.remotes_manager._upload.url
    assert 'False' == builder.remotes_manager._upload.use_ssl
def test_upload_only_when_stable_header_only(set_upload_when_stable_false):
    builder = build_autodetect._get_builder()
    assert False == builder.upload_only_when_stable
def test_build_policy_not_set():
    builder = build_autodetect._get_builder()
    assert None == builder.build_policy
def test_build_header_only(set_header_only_recipe):
    builder = build_autodetect._get_builder()
    for settings, options, env_vars, build_requires, reference in builder.items:
        assert 0 == len(options)
    assert 1 == len(builder.items)
def test_build_template_installer(set_installer_only_recipe):
    builder = build_autodetect._get_builder()
    assert 1 == len(builder.items)