Commit 496149e2 authored by Lluis Gifre Renom's avatar Lluis Gifre Renom
Browse files

Tests - Tools - SIMAP Server/Client

- Implemented GET XPath functionality in YangHandler
- Beautified SIMAP Client output
parent e66ac057
Loading
Loading
Loading
Loading
+2 −2
Original line number Diff line number Diff line
@@ -13,7 +13,7 @@
# limitations under the License.


import logging
import json, logging
from .RestConfClient import RestConfClient
from .SimapClient import SimapClient

@@ -122,7 +122,7 @@ def main() -> None:
    simap_e2e.link('E2E-L1').create('sdp1', '500', 'sdp2', '500', supporting_link_ids=[('te', 'L1'), ('simap-aggnet', 'AggNet-L1')])


    print('networks=', simap_client.networks())
    print('networks=', json.dumps(simap_client.networks()))

if __name__ == '__main__':
    main()
+11 −0
Original line number Diff line number Diff line
@@ -68,6 +68,17 @@ class YangHandler:
        )
        return json_data

    def get_xpath(self, xpath : str) -> List[str]:
        if not path.startswith('/'): path = '/' + path
        nodes = self._datastore.find_all(xpath)
        result = list()
        for node in nodes:
            result.append(node.print_mem(
                fmt='json', with_siblings=True, pretty=True,
                keep_empty_containers=True, include_implicit_defaults=True
            ))
        return result

    def create(self, path : str, payload : Dict) -> str:
        if not path.startswith('/'): path = '/' + path
        # TODO: client should not provide identifier of element to be created, add it to subpath