anchor.diff:  
   start_scenario(_Config) ->
       JsonBody = #{scenario => sample_test},
  -    {HttpCode, _Body} = amoc_api_helper:patch("/execution/start", JsonBody),
  -    ?assertEqual(200, HttpCode).
  +    {HttpCode, Body} = amoc_api_helper:patch("/execution/start", JsonBody),
  +    ?assertEqual(200, HttpCode),
  +    ?assertEqual(#{}, Body).
   
   start_scenario_with_users_and_settings(_Config) ->
       JsonBody = #{scenario => sample_test, users => 10, settings => json_settings()},
  -    {HttpCode, _Body} = amoc_api_helper:patch("/execution/start", JsonBody),
  -    ?assertEqual(200, HttpCode).
  +    {HttpCode, Body} = amoc_api_helper:patch("/execution/start", JsonBody),
  +    ?assertEqual(200, HttpCode),
  +    ?assertEqual(#{}, Body).
  +
  +fail_to_start_when_amoc_dist_fails(_Config) ->
  +    JsonBody = #{scenario => sample_test, users => 10, settings => json_settings()},
  +    {HttpCode, Body} = amoc_api_helper:patch("/execution/start", JsonBody),
  +    ?assertEqual(500, HttpCode),
  +    ?assertEqual(#{<<"error">> => <<"mocked">>}, Body).
   
   fail_to_start_non_existing_scenario(_Config) ->
       JsonBody = #{scenario => bad_scenario},
  
positive.code:     meck:expect(amoc_dist, do, fun(sample_test, 0, []) -> {ok, mocked} end);
  setup_meck(start_scenario_with_users_and_settings) ->
      meck:expect(amoc_dist, get_state, fun() -> idle end),
      meck:expect(amoc_dist, do, fun(sample_test, 10, Settings) ->
                                         ?assertEqual(lists:sort(Settings), lists:sort(settings())),
                                         {ok, mocked}
                                 end);
  setup_meck(stop_scenario) ->
      meck:expect(amoc_dist, get_state, fun() -> running end),
      meck:expect(amoc_dist, stop, fun() -> {ok, mocked} end);
  setup_meck(add_users) ->
      meck:expect(amoc_dist, get_state, fun() -> running end),
      meck:expect(amoc_dist, add, fun(10) -> {ok, mocked} end);
  setup_meck(add_users_on_nodes) ->
      meck:expect(amoc_dist, get_state, fun() -> running end),
      meck:expect(amoc_dist, add, fun(10, [node1@host1, node2@host2]) -> {ok, mocked} end);
  setup_meck(remove_users) ->
      meck:expect(amoc_dist, get_state, fun() -> running end),
      meck:expect(amoc_dist, remove, fun(10, false) -> {ok, mocked} end);
  setup_meck(remove_users_on_nodes) ->
      meck:expect(amoc_dist, get_state, fun() -> running end),
      meck:expect(amoc_dist, remove, fun(10, false, [node1@host1, node2@host2]) -> {ok, mocked} end);
  
negative.code:                 fun(Settings) ->
                          ?assertEqual(lists:sort(Settings), lists:sort(settings())),
                          {ok, mocked}
                  end);
  setup_meck(fail_to_update_settings_when_amoc_dist_fails)->
      meck:expect(amoc_dist, get_state, fun() -> running end),
      meck:expect(amoc_dist, update_settings,
                  fun(Settings) ->
                      ?assertEqual(lists:sort(Settings), lists:sort(settings())),
                      {error, mocked}
                  end);
  setup_meck(update_settings_on_nodes) ->
      meck:expect(amoc_dist, get_state, fun() -> running end),
  