Exemple #1
0
def test_variant_package_with_install_location_overwrite():
    """Create a variant package with installation location overwritten."""
    definition = wiz.definition.Definition({
        "identifier":
        "test",
        "install-location":
        "/path/to/install",
        "variants": [{
            "identifier": "V1",
            "install-location": "/path/to/installV1",
        }]
    })

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

    assert package.data() == {
        "identifier": "test[V1]",
        "install-location": "/path/to/installV1",
        "variant-identifier": "V1"
    }
    assert package.localized_environ() == {}
Exemple #2
0
def test_package_with_command():
    """Create a package with command."""
    definition = wiz.definition.Definition({
        "identifier": "test",
        "command": {
            "app": "App0.1",
        }
    })

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

    assert package.data() == {
        "identifier": "test",
        "command": {
            "app": "App0.1",
        }
    }
    assert package.localized_environ() == {}
Exemple #3
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 #4
0
def test_package_with_install_location():
    """Create a package with installation location."""
    definition = wiz.definition.Definition({
        "identifier":
        "test",
        "install-location":
        "/path/to/install"
    })

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

    assert package.data() == {
        "identifier": "test",
        "install-location": "/path/to/install"
    }
    assert package.localized_environ() == {}
Exemple #5
0
def test_minimal_variant_package():
    """Create a minimal variant package."""
    definition = wiz.definition.Definition({
        "identifier": "test",
        "variants": [{
            "identifier": "V1"
        }]
    })

    package = wiz.package.Package(definition, variant_index=0)
    assert package.definition == definition
    assert package.identifier == "test[V1]"
    assert package.variant == definition.variants[0]
    assert package.variant_identifier == "V1"
    assert package.version is None
    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[V1]",
        "variant-identifier": "V1"
    }
    assert package.localized_environ() == {}
Exemple #6
0
def test_minimal_package_with_namespace():
    """Create a minimal package with namespace."""
    definition = wiz.definition.Definition({
        "identifier": "test",
        "namespace": "foo",
    })

    package = wiz.package.Package(definition)
    assert package.definition == definition
    assert package.identifier == "foo::test"
    assert package.variant is None
    assert package.variant_identifier is None
    assert package.version is None
    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",
        "namespace": "foo",
    }
    assert package.localized_environ() == {}
Exemple #7
0
def test_package_with_conditions():
    """Create a package with conditions."""
    definition = wiz.definition.Definition({
        "identifier":
        "test",
        "conditions": ["envA >= 1.0.0", "envB >= 3.4.2, < 4", "envC"]
    })

    package = wiz.package.Package(definition)
    assert package.definition == definition
    assert package.identifier == "test"
    assert package.variant is None
    assert package.variant_identifier is None
    assert package.version is None
    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 == [
        Requirement("envA >= 1.0.0"),
        Requirement("envB >= 3.4.2, < 4"),
        Requirement("envC")
    ]
    assert package.conditions_processed is False

    assert package.data() == {
        "identifier": "test",
        "conditions": ["envA >= 1.0.0", "envB >= 3.4.2, < 4", "envC"]
    }
    assert package.localized_environ() == {}

    package.conditions_processed = True
    assert package.conditions_processed is True
Exemple #8
0
def test_package_localized_environ_without_key():
    """Return localized environment with 'install-location' key."""
    definition = wiz.definition.Definition({
        "identifier": "foo",
        "environ": {
            "PATH":
            "${INSTALL_LOCATION}/bin:${PATH}",
            "PYTHONPATH":
            ("${INSTALL_LOCATION}/lib/python2.7/site-packages:${PYTHONPATH}")
        }
    })

    package = wiz.package.Package(definition)

    assert package.localized_environ() == {
        "PATH":
        "${INSTALL_LOCATION}/bin:${PATH}",
        "PYTHONPATH":
        ("${INSTALL_LOCATION}/lib/python2.7/site-packages:${PYTHONPATH}")
    }
Exemple #9
0
def test_variant_package_with_conditions():
    """Create a variant package with conditions."""
    definition = wiz.definition.Definition({
        "identifier": "test",
        "conditions": [
            "envA >= 1.0.0",
        ],
        "variants": [{
            "identifier": "V1"
        }]
    })

    package = wiz.package.Package(definition, variant_index=0)
    assert package.definition == definition
    assert package.identifier == "test[V1]"
    assert package.variant == definition.variants[0]
    assert package.variant_identifier == "V1"
    assert package.version is None
    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 == [
        Requirement("envA >= 1.0.0"),
    ]
    assert package.conditions_processed is False

    assert package.data() == {
        "identifier": "test[V1]",
        "conditions": [
            "envA >= 1.0.0",
        ],
        "variant-identifier": "V1"
    }
    assert package.localized_environ() == {}

    package.conditions_processed = True
    assert package.conditions_processed is True
Exemple #10
0
def test_package_localized_environ_with_root():
    """Return localized environment."""
    definition = wiz.definition.Definition({
        "identifier": "foo",
        "install-root": "/path/to/root",
        "install-location": "${INSTALL_ROOT}/data",
        "environ": {
            "PATH":
            "${INSTALL_LOCATION}/bin:${PATH}",
            "PYTHONPATH":
            ("${INSTALL_LOCATION}/lib/python2.7/site-packages:${PYTHONPATH}")
        }
    })

    package = wiz.package.Package(definition)

    assert package.localized_environ() == {
        "PATH":
        "/path/to/root/data/bin:${PATH}",
        "PYTHONPATH":
        ("/path/to/root/data/lib/python2.7/site-packages:${PYTHONPATH}")
    }
Exemple #11
0
def test_variant_package_with_environ(mocked_combine_environ):
    """Create a variant package with environment mapping."""
    definition = wiz.definition.Definition({
        "identifier":
        "test",
        "environ": {
            "KEY1": "VALUE1",
        },
        "variants": [{
            "identifier": "V1",
            "environ": {
                "KEY_V1": "VALUE_V1",
            },
        }]
    })

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

    assert package.data() == {
        "identifier": "test[V1]",
        "environ": mocked_combine_environ.return_value,
        "variant-identifier": "V1"
    }
    assert package.localized_environ() == mocked_combine_environ.return_value