aboutsummaryrefslogtreecommitdiffstats
path: root/src/python/tests/unit/sysrepo_configuration/test_sysrepo_configuration_manager_.py
blob: 6c83f5f947decbb6bfd464da90b1ea5a7782d67e (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
import json
import unittest
from unittest.mock import MagicMock
from netconf_server.sysrepo_configuration.sysrepo_configuration_manager import SysrepoConfigurationManager


class TestSysrepoConfigurationManager(unittest.TestCase):

    def test_should_change_configuration(self):
        # given
        expected_parse_data = "parse_data"

        ctx = MagicMock()
        ctx.parse_data_mem = MagicMock(return_value=expected_parse_data)
        connection = MagicMock()
        connection.get_ly_ctx = MagicMock(return_value=ctx)
        session = MagicMock()
        session.replace_config_ly = MagicMock()

        config_data = '''<config xmlns="http://onap.org/pnf-simulator">
                        <itemValue1>12</itemValue1>
                        <itemValue2>12</itemValue2>
                        </config>'''
        module_name = "pnf-simulator"

        # when
        config_manager = SysrepoConfigurationManager(session=session, connection=connection)
        config_manager.change_configuration(config_data=config_data, module_name=module_name)

        # then
        ctx.parse_data_mem.assert_called_with(config_data, "xml", config=True, strict=False)
        session.replace_config_ly.assert_called_with(expected_parse_data, module_name)

    def test_should_get_configuration(self):
        # given
        expected_parse_data = '{"config": {"itemValue1": 42,"itemValue2": 35}}'

        connection = MagicMock()
        session = MagicMock()
        session.get_data = MagicMock(return_value=expected_parse_data)
        module_name = "pnf-simulator"

        # when
        config_manager = SysrepoConfigurationManager(session=session, connection=connection)
        data = config_manager.get_configuration(module_name=module_name)

        # then
        session.get_data.assert_called_with("/" + module_name + ":*")
        self.assertEqual(data, json.dumps(expected_parse_data))