Exemple #1
0
def test_variant_package_with_version_and_namespace():
    """Create a variant package with version and namespace."""
    definition = wiz.definition.Definition({
        "identifier": "test",
        "version": "0.1.0",
        "namespace": "foo",
        "variants": [{
            "identifier": "V1"
        }]
    })

    package = wiz.package.Package(definition, variant_index=0)
    assert package.definition == definition
    assert package.identifier == "foo::test[V1]==0.1.0"
    assert package.variant == definition.variants[0]
    assert package.variant_identifier == "V1"
    assert package.version == Version("0.1.0")
    assert package.description is None
    assert package.namespace == "foo"
    assert package.install_location is None
    assert package.environ == {}
    assert package.command == {}
    assert package.requirements == []
    assert package.conditions == []
    assert package.conditions_processed is False

    assert package.data() == {
        "identifier": "foo::test[V1]==0.1.0",
        "version": "0.1.0",
        "namespace": "foo",
        "variant-identifier": "V1"
    }
    assert package.localized_environ() == {}
Exemple #2
0
def test_package_with_version():
    """Create a package with version."""
    definition = wiz.definition.Definition({
        "identifier": "test",
        "version": "0.1.0",
    })

    package = wiz.package.Package(definition)
    assert package.definition == definition
    assert package.identifier == "test==0.1.0"
    assert package.variant is None
    assert package.variant_identifier is None
    assert package.version == Version("0.1.0")
    assert package.description is None
    assert package.namespace is None
    assert package.install_location is None
    assert package.environ == {}
    assert package.command == {}
    assert package.requirements == []
    assert package.conditions == []
    assert package.conditions_processed is False

    assert package.data() == {
        "identifier": "test==0.1.0",
        "version": "0.1.0",
    }
    assert package.localized_environ() == {}
Exemple #3
0
def test_validate_for_windows_amd64(definition_data, expected):
    """Validate definition for Windows 10.0.16299, architecture AMD64."""
    system_mapping = {
        "platform": "windows",
        "arch": "AMD64",
        "os": {
            "name": "windows",
            "version": Version("10.0.16299")
        }
    }

    definition = wiz.definition.Definition(definition_data)
    assert wiz.system.validate(definition, system_mapping) == expected
Exemple #4
0
def test_validate_for_mac_64(definition_data, expected):
    """Validate definition for MacOS 10.13.3, architecture x86_64."""
    system_mapping = {
        "platform": "mac",
        "arch": "x86_64",
        "os": {
            "name": "mac",
            "version": Version("10.13.3")
        }
    }

    definition = wiz.definition.Definition(definition_data)
    assert wiz.system.validate(definition, system_mapping) == expected
Exemple #5
0
def test_validate_for_centos73_64(definition_data, expected):
    """Validate definition for CentOS 7.3, architecture x86_64."""
    system_mapping = {
        "platform": "linux",
        "arch": "x86_64",
        "os": {
            "name": "centos",
            "version": Version("7.5")
        }
    }

    definition = wiz.definition.Definition(definition_data)
    assert wiz.system.validate(definition, system_mapping) == expected
Exemple #6
0
def test_query_version_error(mocked_platform_system, mocked_platform_linux):
    """Fails to query system mapping from incorrect os version."""
    mocked_platform_system.return_value = "linux"
    mocked_platform_linux.side_effect = wiz.exception.VersionError("Error")

    with pytest.raises(wiz.exception.CurrentSystemError):
        wiz.system.query()


@pytest.mark.parametrize("distribution, architecture, expected",
                         [(("centos", "7.3.1611", "Core"), "x86_64", {
                             "platform": "linux",
                             "arch": "x86_64",
                             "os": {
                                 "name": "centos",
                                 "version": Version("7.3.1611")
                             }
                         }),
                          (("centos", "6.5", "Final"), "x86_64", {
                              "platform": "linux",
                              "arch": "x86_64",
                              "os": {
                                  "name": "centos",
                                  "version": Version("6.5")
                              }
                          }),
                          (("redhat", "5.7", "Final"), "i386", {
                              "platform": "linux",
                              "arch": "i386",
                              "os": {
                                  "name": "redhat",