anchor.diff:               [ begin
                      meck:new(Mod),
                      meck:expect(Mod, ping, fun() -> pong end)
  -               end || Mod <- ?CHECK_MODS ]
  +               end || Mod <- ?CHECK_MODS ],
  +             meck:new(chef_keygen_cache),
  +             meck:expect(chef_keygen_cache, status, fun() -> ?KEYGEN_STATUS end)
        end,
        fun(_) ->
                [ meck:unload(Mod) || Mod <- ?CHECK_MODS ],
  +             meck:unload(chef_keygen_cache),
                cleanup_env()
        end,
        [
  
positive.code:     {setup,
       fun() ->
               setup_env(),
               application:set_env(chef_wm, health_ping_modules, [bad_module_no_exist])
       end,
       fun(_) ->
               cleanup_env()
       end,
       [
        fun() ->
  
negative.code: -include_lib("chef_wm.hrl").
  
  -define(CHECK_MODS, [chef_otto, chef_sql, chef_solr]).
  
  %% totally made up data, used for mocks
  -define(KEYGEN_STATUS, [{keys, 10}, {max, 10},
                          {max_workers, 10}, {cur_max_workers, 10},
                          {inflight, 0}, {avail_workers, 10},
                          {start_size, 10}]).
  
  -define(PING_TIMEOUT, 50).
  -define(SLOW_CHECK_SLEEP, 100).
  
  