summaryrefslogtreecommitdiffstats
path: root/tests/test_vnf_resource.py
blob: e35cded1e12d8d3ca0cee7ded2e6096a187833a2 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
from unittest.mock import MagicMock, patch, PropertyMock

from onap_data_provider.resources.vnf_resource import VnfResource

VNF_RESOURCE_DATA = {"name": "test_vnf"}


@patch(
    "onap_data_provider.resources.vnf_resource.VnfResource.vnf",
    new_callable=PropertyMock,
)
def test_vnf_resource_exists(mock_vnf):
    mock_vnf.return_value = None
    vnf_resource = VnfResource(VNF_RESOURCE_DATA)
    assert vnf_resource.exists is False
    mock_vnf.return_value = 1  # Anything but not None
    assert vnf_resource.exists is True


@patch(
    "onap_data_provider.resources.vnf_resource.Vf.created",
)
def test_vnf_resource_vnf(mock_vnf_created):
    mock_vnf_created.return_value = False
    vnf_resource = VnfResource(VNF_RESOURCE_DATA)
    assert vnf_resource.vnf is None
    mock_vnf_created.return_value = True
    assert vnf_resource.vnf is not None


@patch(
    "onap_data_provider.resources.vnf_resource.Vf.create",
)
@patch(
    "onap_data_provider.resources.vnf_resource.Vf.add_resource",
)
@patch(
    "onap_data_provider.resources.vnf_resource.Vf.onboard",
)
@patch(
    "onap_data_provider.resources.vnf_resource.VnfResource.vnf",
    new_callable=PropertyMock,
)
@patch(
    "onap_data_provider.resources.xnf_resource.Vfc",
)
def test_vnf_resource_onboards_with_vfc(
    mock_vfc, mock_vnf, mock_onboard, mock_add_resource, mock_vnf_create
):
    mock_vfc = MagicMock()
    mock_vnf.return_value = None
    data_no_composition = {"name": "test_vnf"}
    vnf_resource = VnfResource(data_no_composition)
    vnf_resource.create()
    mock_add_resource.assert_not_called()
    data_with_composition = {
        "name": "test_vnf",
        "resources": [{"name": "test", "xnf_type": "VFC"}],
    }
    vnf_resource = VnfResource(data_with_composition)
    vnf_resource.create()
    mock_add_resource.assert_called_once()