summaryrefslogtreecommitdiffstats
path: root/tests/test_service_resource.py
blob: 5a18f543452fc44c3e8fe2b7c2c04306c3bd66ed (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
from collections import namedtuple
from unittest.mock import patch, PropertyMock

from onap_data_provider.resources.service_resource import ServiceResource


SERVICE_RESOURCE_DATA = {
    "name": "test",
    "inputs": [
        {"name": "itest", "type": "string", "value": "itest"},
        {"name": "itest1", "type": "boolean"},
    ],
    "properties": [
        {"name": "test", "type": "string", "value": "test"},
        {"name": "test1", "type": "boolean"},
    ],
}


@patch("onap_data_provider.resources.service_resource.Service.created")
def test_service_resource_service_property(mock_service_created):
    service_resource = ServiceResource(SERVICE_RESOURCE_DATA)
    mock_service_created.return_value = False
    assert service_resource.service is None

    mock_service_created.return_value = True
    assert service_resource.service is not None


@patch(
    "onap_data_provider.resources.service_resource.ServiceResource.service",
    new_callable=PropertyMock,
)
def test_service_resource_exists(mock_service_resource_service):
    service_resource = ServiceResource(SERVICE_RESOURCE_DATA)
    mock_service_resource_service.return_value = None
    assert service_resource.exists is False
    ServiceNamedtuple = namedtuple(
        "ServiceNamedtuple", ["distributed"], defaults=[True]
    )
    mock_service_resource_service.return_value = ServiceNamedtuple()
    assert service_resource.exists is True


@patch(
    "onap_data_provider.resources.service_resource.ServiceResource.exists",
    new_callable=PropertyMock,
)
@patch("onap_data_provider.resources.service_resource.Service")
def test_service_resource_create(mock_service, mock_service_resource_exists):
    service_resource = ServiceResource(SERVICE_RESOURCE_DATA)
    mock_service_resource_exists.return_value = True
    service_resource.create()
    mock_service.assert_not_called()

    mock_service_resource_exists.return_value = False
    service_resource.create()
    mock_service.assert_called_once()