Hi all,
I'm trying to meck riakc_pb_socket:get/3 in my eunit tests, and
consistently get a function_clause error.
The meck:expect looks like:
meck:expect(riakc_pb_socket, get, [Pid, ?RIAK_TYPE_AND_BUCKET,
?TestOid], {ok, ?TestRiakObject}),
where Pid is a pid, the macro ?RIAK_TYPE_AND_BUCKET evaluates to
{<<"buckettype">>, <<"bucketname">>},
and ?TestOid evalutes to
<<"809876fd89ac405680b7251c2e57faa30004524100486220">>).
With the exception of the Pid, the other arguments, as well as the
expected response, are taken from a live,
running system, where the call to riakc_pb_socket:get/3 works as expected.
Looking at the source for riakc_pb_socket:get/3, I see that the -spec
looks like:
-spec get(pid(), bucket(), key()) -> {ok, riakc_obj()} | {error, term()}.
and the types bucket() and key() are defined as:
-type bucket() :: binary(). %% A bucket name.
-type key() :: binary(). %% A key name.
In reality, when using bucket types, shouldn't the bucket() type be a
tuple? At any rate, changing it
to tuple() didn't help my case any.
Can anyone show me an example of a working meck:expect for
riakc_pb_socket:get/3?
Thanks,
Michael
_______________________________________________
riak-users mailing list
riak-users@lists.basho.com
http://lists.basho.com/mailman/listinfo/riak-users_lists.basho.com