anchor.diff:                 ?assertEqual(ok, Ret)
          end
        },
  -     {"end to end client test with payload",
  -       fun() -> ExpectedMsg = msg_with_payload(),
  +     {"end to end client test, action create with payload",
  +      fun() -> ExpectedMsg = msg_with_payload(<<"create">>),
  +               meck:expect(wrq, method, fun(req) -> 'POST' end),
  +               AssertPublishDataCorrect =
  +                    fun(_ServerName, RoutingKey, Message) ->
  +                        ?assertEqual(<<"erchef.node.create">>, RoutingKey),
  +                        ?assertEqual(ExpectedMsg, chef_json:decode(Message)),
  +                        ok
  +                    end,
  +                meck:expect(bunnyc, publish, AssertPublishDataCorrect),
  +                application:set_env(oc_chef_wm, enable_actions_body, true),
  +                Ret = oc_chef_action:log_action(req, State),
  +                ?assertEqual(ok, Ret)
  +        end
  +      },
  +      {"end to end client test, action delete with no payload",
  +       fun() -> ExpectedMsg = msg(<<"delete">>),
  +                meck:expect(wrq, method, fun(req) -> 'DELETE' end),
  +                AssertPublishDataCorrect =
  +                   fun(_ServerName, RoutingKey, Message) ->
  +                       ?assertEqual(<<"erchef.node.delete">>, RoutingKey),
  +                       ?assertEqual(ExpectedMsg, chef_json:decode(Message)),
  +                       ok
  +                   end,
  +               meck:expect(bunnyc, publish, AssertPublishDataCorrect),
  +               application:set_env(oc_chef_wm, enable_actions_body, false),
  +               Ret = oc_chef_action:log_action(req, State),
  +               ?assertEqual(ok, Ret)
  +        end
  +       },
  +      {"end to end client test, action delete with data",
  +       fun() -> ExpectedMsg = msg_with_payload(<<"delete">>),
  +                meck:expect(wrq, method, fun(req) -> 'DELETE' end),
                   AssertPublishDataCorrect =
                       fun(_ServerName, RoutingKey, Message) ->
                           ?assertEqual(<<"erchef.node.create">>, RoutingKey),
  
positive.code:       {<<"requestor_name">>, <<"rob">>},
        {<<"requestor_type">>, <<"user">>},
        {<<"user_agent">>, <<"knife 11.10.0">>},
        {<<"task">>, <<"create">>},
        {<<"entity_type">>, <<"node">>},
        {<<"entity_name">>, <<"db">>}
       ]}.
  
  msg_with_payload() ->
    {[{<<"message_type">>, <<"action">>},
      {<<"message_version">>, <<"0.1.0">>},
      {<<"organization_name">>, <<"cmwest">>},
      {<<"service_hostname">>, <<"hostname.example.com">>},
      {<<"recorded_at">>, <<"2011-07-03T13:21:50Z">>},
  
negative.code:                           end)
       end,
       fun(_) -> test_util:cleanup(MockedModules) end,
       [{"end to end client test, action create with no payload",
         fun() -> ExpectedMsg = msg(<<"create">>),
                  meck:expect(wrq, method, fun(req) -> 'POST' end),
                  AssertPublishDataCorrect =
                     fun(_ServerName, RoutingKey, Message) ->
                         ?assertEqual(<<"erchef.node.create">>, RoutingKey),
                         ?assertEqual(ExpectedMsg, chef_json:decode(Message)),
  