Fix `binary` data passing via sysrepo and NETCONF

Change-Id: I1e30621fa9d1189efd964593e76f381c2cb3378d
diff --git a/src/libyang_utils.cpp b/src/libyang_utils.cpp
index 3b924ad..ddb3630 100644
--- a/src/libyang_utils.cpp
+++ b/src/libyang_utils.cpp
@@ -30,7 +30,7 @@
     case LY_TYPE_IDENT:
         return identityRef_{value->ident()->module()->name(), value->ident()->name()};
     case LY_TYPE_BINARY:
-        return std::string{value->binary()};
+        return binary_{value->binary()};
     case LY_TYPE_DEC64:
     {
         auto v = value->dec64();
diff --git a/src/sysrepo_access.cpp b/src/sysrepo_access.cpp
index bc7431b..b40b9f1 100644
--- a/src/sysrepo_access.cpp
+++ b/src/sysrepo_access.cpp
@@ -45,6 +45,8 @@
         auto pair = splitModuleNode(value->data()->get_identityref());
         return identityRef_{*pair.first, pair.second};
     }
+    case SR_BINARY_T:
+        return binary_{value->data()->get_binary()};
     case SR_DECIMAL64_T:
         return value->data()->get_decimal64();
     case SR_CONTAINER_T:
diff --git a/tests/datastore_access.cpp b/tests/datastore_access.cpp
index a1c8906..51bcd81 100644
--- a/tests/datastore_access.cpp
+++ b/tests/datastore_access.cpp
@@ -348,6 +348,17 @@
         REQUIRE(datastore.getItems("/example-schema:beast") == expected);
     }
 
+    SECTION("binary")
+    {
+        datastore.setLeaf("/example-schema:blob", binary_{"cHduegByIQ=="s});
+        REQUIRE_CALL(mock, write("/example-schema:blob", std::nullopt, "cHduegByIQ=="s));
+        datastore.commitChanges();
+        DatastoreAccess::Tree expected {
+            {"/example-schema:blob", binary_{"cHduegByIQ=="s}},
+        };
+        REQUIRE(datastore.getItems("/example-schema:blob") == expected);
+    }
+
     SECTION("operational data")
     {
         MockDataSupplier mockOpsData;
diff --git a/tests/example-schema.yang b/tests/example-schema.yang
index a24b891..5d84eda 100644
--- a/tests/example-schema.yang
+++ b/tests/example-schema.yang
@@ -239,4 +239,8 @@
             base "Animal";
         }
     }
+
+    leaf blob {
+        type binary;
+    }
 }