def test_vnf_vf_modules_one():
    """Test parsing TOSCA file with one VNF which has associated one VFmodule"""
    service = Service(name="test")
    with open(
            Path(
                Path(__file__).resolve().parent,
                "data/service-Ubuntu16-template.yml"), "r") as ubuntu:
        service._tosca_template = yaml.safe_load(ubuntu.read())
        assert len(service.vnfs) == 1
        vnf = service.vnfs[0]
        assert vnf.name == "ubuntu16_VF 0"
        assert vnf.node_template_type == "org.openecomp.resource.vf.Ubuntu16Vf"
        assert vnf.vf_module
        assert vnf.vf_module.name == "ubuntu16_vf0..Ubuntu16Vf..base_ubuntu16..module-0"
def test_vnf_vf_modules_two():
    """Test parsing TOSCA file with two VNF which has associated one VFmodule"""
    service = Service(name="test")
    with open(
            Path(
                Path(__file__).resolve().parent,
                "data/service-Foo-template.yml"), "r") as ubuntu:
        service._tosca_template = yaml.safe_load(ubuntu.read())
        assert len(service.vnfs) == 2
        vnf = service.vnfs[0]
        assert vnf.name == "vFWCL_vPKG-vf 0"
        assert vnf.node_template_type == "org.openecomp.resource.vf.VfwclVpkgVf"
        assert vnf.vf_module
        assert vnf.vf_module.name == "vfwcl_vpkgvf0..VfwclVpkgVf..base_vpkg..module-0"

        vnf = service.vnfs[1]
        assert vnf.name == "vFWCL_vFWSNK-vf 0"
        assert vnf.node_template_type == "org.openecomp.resource.vf.VfwclVfwsnkVf"
        assert vnf.vf_module
        assert vnf.vf_module.name == "vfwcl_vfwsnkvf0..VfwclVfwsnkVf..base_vfw..module-0"
def test_tosca_template_present(mock_unzip):
    service = Service(name="test")
    service._tosca_template = "test"
    assert service.tosca_template == "test"
    mock_unzip.assert_not_called()