RFC6243 with-defaults=trim test cases and implementation added

This commit is contained in:
Jan-Olof Carlson 2022-08-10 15:27:14 +00:00 committed by Olof hagsand
parent f3ab3006e8
commit 9771feebf3
2 changed files with 16 additions and 2 deletions

View file

@ -1725,7 +1725,7 @@ netconf_hello_server(clicon_handle h,
cprintf(cb, "<capability>urn:ietf:params:netconf:capability:xpath:1.0</capability>");
cprintf(cb, "<capability>urn:ietf:params:netconf:capability:notification:1.0</capability>");
/* rfc6243 with-defaults capability modes */
cprintf(cb, "<capability>urn:ietf:params:netconf:capability:with-defaults:1.0?basic-mode=explicit</capability>");
cprintf(cb, "<capability>urn:ietf:params:netconf:capability:with-defaults:1.0?basic-mode=report-all&also-supported=explicit,trim</capability>");
cprintf(cb, "</capabilities>");
if (session_id)
cprintf(cb, "<session-id>%lu</session-id>", (long unsigned int)session_id);

View file

@ -172,7 +172,7 @@ wait_restconf
new "rfc4243 4.3. Capability Identifier"
expecteof "$clixon_netconf -ef $cfg" 0 "$DEFAULTHELLO" \
"<capability>urn:ietf:params:netconf:capability:with-defaults:1.0?basic-mode=explicit</capability>"
"<capability>urn:ietf:params:netconf:capability:with-defaults:1.0?basic-mode=report-all&also-supported=explicit,trim</capability>"
new "rfc6243 3.1. 'report-all' Retrieval Mode"
expecteof_netconf "$clixon_netconf -qf $cfg" 0 "$DEFAULTHELLO" \
@ -377,6 +377,20 @@ expectpart "$(curl $CURLOPTS -X GET -H 'Accept: application/yang-data+xml' $RCPR
"Cache-Control: no-cache" \
'<interface xmlns="http://example.com/ns/interfaces"><name>eth1</name><status>ok</status></interface>'
new "rfc8040 B.3.9. RESTONF with-defaults parameter = trim"
expectpart "$(curl $CURLOPTS -X GET -H 'Accept: application/yang-data+json' $RCPROTO://localhost/restconf/data/example:interfaces/interface=eth1?with-defaults=trim)" \
0 \
"HTTP/$HVER 200" \
"Content-Type: application/yang-data+json" \
"Cache-Control: no-cache" \
'{"example:interface":\[{"name":"eth1"}\]}'
expectpart "$(curl $CURLOPTS -X GET -H 'Accept: application/yang-data+xml' $RCPROTO://localhost/restconf/data/example:interfaces/interface=eth1?with-defaults=trim)" \
0 \
"HTTP/$HVER 200" \
"Content-Type: application/yang-data+xml" \
"Cache-Control: no-cache" \
'<interface xmlns="http://example.com/ns/interfaces"><name>eth1</name></interface>'
if [ $RC -ne 0 ]; then
new "Kill restconf daemon"