anchor.diff:                      ?assertMatch(<<"tuple">>, type_of({tuple}))
                   end
               },
  +            {"Test update_data_system_metadata/4 when no data to update",
  +                fun () ->
  +                    Data = maps:from_list([{<<"key">>, <<"value">>}]),
  +                    ?assertMatch(Data, update_data_system_metadata([], Data, [], {}))
  +                end
  +            },
  +            {"Test update_data_system_metadata/4 contract",
  +                fun () ->
  +                    Map = maps:new(),
  +                    ?assertException(error, function_clause, update_data_system_metadata(notalist, Map, "", {})),
  +                    ?assertException(error, function_clause, update_data_system_metadata([], notamap, <<"">>, {})),
  +                    ?assertException(error, function_clause, update_data_system_metadata([], Map, notalistorbinary, {})),
  +                    ?assertException(error, function_clause, update_data_system_metadata([], Map, "", notatuple))
  +                end
  +            },
  +            {"Test update_parent/4 when object is root",
  +                fun () ->
  +                    Pid = self(),
  +                    ?assertMatch({ok, <<"">>}, update_parent(<<"">>, "/path", ?CONTENT_TYPE_CDMI_CONTAINER, Pid))
  +                end
  +            },
               {"Test update_parent/4",
                   fun () ->
                       Pid = self(),
  
positive.code:                  end,
      NewParent1 = put_value(<<"children">>, Children, Parent),
      NewParent2 = put_value(<<"childrenrange">>, list_to_binary(ChildrenRange), NewParent1),
      nebula2_db:update(Pid, ParentId, NewParent2).
  
  %% ====================================================================
  %% Internal functions
  
negative.code: 
  %% @doc Update a parent object with a new child
  -spec update_parent(object_oid(), string(), object_type(), pid()) -> {ok, map()} | {error, term()}.
  update_parent(ParentOid, _, _, _) when ParentOid == <<"">> ->
  %    ?nebMsg("Entry"),
      %% Must be the root, since there is no parent.
      {ok, <<"">>};
  update_parent(ParentOid, Path, ObjectType, Pid) when is_binary(ParentOid), is_list(Path), is_binary(ObjectType), is_pid(Pid) ->
  %    ?nebMsg("Entry"),
      N = lists:last(string:tokens(Path, "/")),
      Name = case ObjectType of
                 ?CONTENT_TYPE_CDMI_CAPABILITY ->
                     N ++ "/";
  