diff --git a/apps/backend/backend_get.c b/apps/backend/backend_get.c index 5f933df5..c60e19dd 100644 --- a/apps/backend/backend_get.c +++ b/apps/backend/backend_get.c @@ -103,6 +103,7 @@ client_get_capabilities(clicon_handle h, cprintf(cb, ""); cprintf(cb, "urn:ietf:params:restconf:capability:defaults:1.0?basic-mode=explicit"); cprintf(cb, "urn:ietf:params:restconf:capability:depth:1.0"); + cprintf(cb, "urn:ietf:params:restconf:capability:with-defaults:1.0"); cprintf(cb, ""); if (clixon_xml_parse_string(cbuf_get(cb), YB_PARENT, NULL, &xrstate, NULL) < 0) goto done; diff --git a/test/test_yang_with_defaults.sh b/test/test_yang_with_defaults.sh index df861fd1..f3f6dad0 100755 --- a/test/test_yang_with_defaults.sh +++ b/test/test_yang_with_defaults.sh @@ -35,6 +35,7 @@ cat < $cfg $dir false $IETFRFC + true clixon-restconf:allow-auth-none $RESTCONFIG @@ -503,6 +504,20 @@ expectpart "$(curl $CURLOPTS -X GET -H 'Accept: application/yang-data+xml' $RCPR "Cache-Control: no-cache" \ 'eth08192oketh11500oketh29000not feeling so goodeth31500waking upedvdv' +new "rfc8040 B.1.3. Retrieve the Server Capability Information json" +expectpart "$(curl $CURLOPTS -X GET -H 'Accept: application/yang-data+json' $RCPROTO://localhost/restconf/data/ietf-restconf-monitoring:restconf-state/capabilities)" \ +0 \ +"HTTP/$HVER 200" "Content-Type: application/yang-data+json" \ +'Cache-Control: no-cache' \ +'{"ietf-restconf-monitoring:capabilities":{"capability":\["urn:ietf:params:restconf:capability:defaults:1.0?basic-mode=explicit","urn:ietf:params:restconf:capability:depth:1.0","urn:ietf:params:restconf:capability:with-defaults:1.0"\]}}' + +new "rfc8040 B.1.3. Retrieve the Server Capability Information xml" +expectpart "$(curl $CURLOPTS -X GET -H 'Accept: application/yang-data+xml' $RCPROTO://localhost/restconf/data/ietf-restconf-monitoring:restconf-state/capabilities)" \ +0 \ +"HTTP/$HVER 200" "Content-Type: application/yang-data+xml" \ +'Cache-Control: no-cache' \ +'urn:ietf:params:restconf:capability:defaults:1.0?basic-mode=expliciturn:ietf:params:restconf:capability:depth:1.0urn:ietf:params:restconf:capability:with-defaults:1.0' + new "rfc8040 B.3.9. RESTCONF with-defaults parameter = report-all json" expectpart "$(curl $CURLOPTS -X GET -H 'Accept: application/yang-data+json' $RCPROTO://localhost/restconf/data/example:interfaces/interface=eth1?with-defaults=report-all)" \ 0 \