anchor.diff:          required = [<<"metadata">>],
           optional = [<<"filter_type">>, <<"filter">>],
           correct_values = #{
  -            <<"metadata">> => [
  -                ExampleJson,
  -                % Primitive json values
  -                <<"{}">>, <<"[]">>, <<"true">>, <<"0">>, <<"0.1">>, <<"null">>, <<"\"string\"">>
  -            ],
  +            <<"metadata">> => [ExampleJson],
               <<"filter_type">> => [<<"keypath">>],
               <<"filter">> => [
                   <<"attr1.[1]">>,        % Test setting attr in existing array
  
positive.code:     },
  
      ConstructVerifyEnvForSuccessfulCallsFun = fun(FileGuid) -> fun
          (false, #api_test_ctx{node = Node}) ->
              ?assertMatch({error, ?ENODATA}, GetMetadataFun(Node, FileGuid), ?ATTEMPTS),
              true;
          (true, #api_test_ctx{node = Node, data = #{<<"metadata">> := Metadata}}) ->
              ?assertMatch({ok, Metadata}, GetMetadataFun(Node, FileGuid)),
  
              case Metadata of
                  ?RDF_METADATA_1 ->
  
negative.code:             <<"json">> ->
                  % Primitive metadata were specified as binaries to be send via REST,
                  % but gs needs them decoded first to be able to send them properly
                  Meta = maps:get(<<"metadata">>, Data0),
                  {json_metadata, Data0#{<<"metadata">> => maybe_decode_json(Meta)}};
              <<"rdf">> ->
                  {rdf_metadata, Data0};
              <<"xattrs">> ->
  