From a52b92bd43198b24e360ca01139a349b56b2ae65 Mon Sep 17 00:00:00 2001 From: Olof hagsand Date: Sat, 23 Oct 2021 17:28:29 +0200 Subject: [PATCH] Added negative openconfig path compress test --- test/test_cli_auto_genmodel.sh | 59 ++++++++++++++++++++++++++++++++-- 1 file changed, 57 insertions(+), 2 deletions(-) diff --git a/test/test_cli_auto_genmodel.sh b/test/test_cli_auto_genmodel.sh index 7af005a1..70593aa9 100755 --- a/test/test_cli_auto_genmodel.sh +++ b/test/test_cli_auto_genmodel.sh @@ -16,6 +16,7 @@ APPNAME=example cfg=$dir/conf_yang.xml fyang=$dir/$APPNAME.yang +fyang2=$dir/${APPNAME}2.yang fstate=$dir/state.xml clidir=$dir/cli if [ -d $clidir ]; then @@ -40,7 +41,7 @@ cat < $cfg /usr/local/share/clixon $dir $OCDIR/ - $fyang + $dir /usr/local/lib/$APPNAME/backend $clidir /usr/local/lib/$APPNAME/cli @@ -60,6 +61,8 @@ module $APPNAME { namespace "urn:example:clixon"; prefix ex; import openconfig-extensions { prefix oc-ext; } + /* Set openconfig version to "fake" an openconfig YANG */ + oc-ext:openconfig-version; container table{ list parameter{ key name; @@ -81,7 +84,50 @@ module $APPNAME { } } container interfaces { - oc-ext:openconfig-version; + list interface { + key name; + leaf name { + type string; + } + container config { + leaf enabled { + type boolean; + default false; + description "Whether the interface is enabled or not."; + } + } + container state { + config false; + leaf oper-status { + type enumeration { + enum UP { + value 1; + description "Ready to pass packets."; + } + enum DOWN { + value 2; + description "The interface does not pass any packets."; + } + } + } + } + leaf enabled { + type boolean; + default false; + description "Whether the interface is enabled or not."; + } + } + } +} +EOF + +# For openconfig but NO openconfig extension +cat < $fyang2 +module ${APPNAME}2 { + namespace "urn:example:clixon2"; + prefix ex2; + import openconfig-extensions { prefix oc-ext; } + container interfaces2 { list interface { key name; leaf name { @@ -259,6 +305,15 @@ expectpart "$($clixon_cli -1 -f $cfg show state)" 0 "exstate sender x" "table pa new "show state exstate" expectpart "$($clixon_cli -1 -f $cfg show state exstate)" 0 "state sender x" --not-- "table parameter a" "table parameter a value x" +#---- openconfig path compression + +new "Openconfig: check no config path" +expectpart "$($clixon_cli -1 -f $cfg set interfaces interface e config enabled true 2>&1)" 255 "Unknown command" + +# negative test +new "Openconfig: check exist config path" +expectpart "$($clixon_cli -1 -f $cfg set interfaces2 interface e config enabled true 2>&1)" 0 "^$" + new "Kill backend" # Check if premature kill pid=$(pgrep -u root -f clixon_backend)