#!/usr/bin/env bash # Test -C config dump # Check config file value, overwrite with -o, overwrite with -E configdir # Format xml/json/text # cli, backend, netconf, restconf # Magic line must be first in script (see README.md) s="$_" ; . ./lib.sh || if [ "$s" = $0 ]; then exit 0; else return 0; fi APPNAME=example cfg=$dir/conf_yang.xml cfdir=$dir/conf.d test -d $cfdir || mkdir $cfdir fyang=$dir/example.yang cat < $cfg $cfg $cfdir ${YANG_INSTALLDIR} $dir /usr/local/lib/$APPNAME/backend $dir /usr/local/lib/$APPNAME/cli /usr/local/var/$APPNAME/$APPNAME.sock /usr/local/var/$APPNAME/$APPNAME.pidfile $dir 0 orig false kw-nokey EOF cat < $cfdir/extra extradir EOF cat < $dir/ex.cli # Clixon example specification CLICON_MODE="base"; EOF cat < $fyang module example { namespace "urn:example:clixon"; prefix ex; container table{ } } EOF # Extra cmdline opts, first is overwritten, second appended CMDOPTS='-o CLICON_MODULE_SET=42 -o CLICON_FEATURE="cmdline"' new "cli xml" expectpart "$($clixon_cli -1 -f $cfg -C xml -o CLICON_MODULE_SET=42 -o CLICON_FEATURE="cmdline")" 0 '^' "$dir" "0" "" "kw-nokey" "orig" "cmdline" "extradir" --not-- "42" new "backend xml" expectpart "$(sudo $clixon_backend -1 -f $cfg -s none -C xml -o CLICON_MODULE_SET=42 -o CLICON_FEATURE="cmdline")" 0 '^' "$dir" "0" "" "kw-nokey" "orig" "cmdline" "extradir" --not-- "42" new "netconf xml" expectpart "$($clixon_netconf -q -f $cfg -C xml -o CLICON_MODULE_SET=42 -o CLICON_FEATURE="cmdline")" 0 '^' "$dir" "0" "" "kw-nokey" "orig" "cmdline" "extradir" --not-- "42" new "restconf xml" expectpart "$(sudo $clixon_restconf -f $cfg -C xml -o CLICON_MODULE_SET=42 -o CLICON_FEATURE="cmdline")" 0 '^' "$dir" "0" "" "kw-nokey" "orig" "cmdline" "extradir" --not-- "42" new "cli json" expectpart "$($clixon_cli -1 -f $cfg -C json -o CLICON_MODULE_SET=42 -o CLICON_FEATURE="cmdline")" 0 '"clixon-config:clixon-config": {' '"CLICON_YANG_MAIN_DIR": "/var/tmp/./test_config_dump.sh",' new "cli text" expectpart "$($clixon_cli -1 -f $cfg -C text -o CLICON_MODULE_SET=42 -o CLICON_FEATURE="cmdline")" 0 '^clixon-config:clixon-config {' 'list-keyword-default kw-nokey;' 'CLICON_FEATURE \[' 'extradir' 'orig' 'cmdline' rm -rf $dir new "endtest" endtest