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() == {}
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() == {}
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() == {}
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() == {}
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() == {}
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() == {}
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
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
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