anchor.diff:                      TargetNode, Client, DataSet, ScenarioTemplate
                   )
               end, true, DataSets)
  -        end, true, filter_available_clients(ScenarioType, Clients))
  +        end, true, Clients)
       end, true, ScenarioTemplates).
  -
  -
  -% TODO VFS-6201 rm when connecting via gs as nobody becomes possible
  -%% @private
  --spec filter_available_clients(scenario_type(), [aai:auth() | {aai:auth(), errors:error()}]) ->
  -    [aai:auth() | {aai:auth(), errors:error()}].
  -filter_available_clients(Type, Clients) when
  -    Type == gs;
  -    Type == gs_with_shared_guid_and_aspect_private;
  -    Type == gs_not_supported
  -    ->
  -    lists:filter(fun
  -        (?NOBODY) -> false;
  -        ({?NOBODY, _}) -> false;
  -        (_) -> true
  -    end, Clients);
  -filter_available_clients(_ScenarioType, Clients) ->
  -    Clients.
   
   
   %% @private
  
positive.code:         generate_correct_data_sets(DataSpec),
          TestCaseFun
      ).
  
  
  % TODO VFS-6201 rm when connecting via gs as nobody becomes possible
  %% @private
  -spec filter_scenarios_available_for_client(aai:auth(), [scenario_template()]) ->
      [scenario_template()].
  filter_scenarios_available_for_client(?NOBODY, ScenarioTemplates) ->
      lists:filter(fun(#scenario_template{type = Type}) ->
          not lists:member(Type, ?GS_SCENARIO_TYPES)
      end, ScenarioTemplates);
  filter_scenarios_available_for_client(_, ScenarioTemplates) ->
      ScenarioTemplates.
  
  
  %% @private
  
negative.code:     CorrectDataSets = generate_correct_data_sets(DataSpec),
  
      lists:foldl(fun(Client, OuterAcc) ->
          CorrectDataSetsNum = length(CorrectDataSets),
          AvailableScenariosNum = length(AvailableScenarios),
          ScenarioPerDataSet = case AvailableScenariosNum > CorrectDataSetsNum of
              true ->
                  ct:fail("Not enough data sets compared to available scenarios");
              false ->
                  RandomizedScenarios = lists:flatmap(
                      fun(_) -> lists_utils:shuffle(AvailableScenarios) end,
                      lists:seq(1, CorrectDataSetsNum div AvailableScenariosNum + 1)
                  ),
                  lists:zip(
                      lists:sublist(RandomizedScenarios, CorrectDataSetsNum),
                      CorrectDataSets
                  )
          end,
          OuterAcc and lists:foldl(fun({Scenario, DataSet}, InnerAcc) ->
              TargetNode = lists_utils:random_element(TargetNodes),
  
              SetupFun(),
              TestCasePassed = run_exp_success_testcase(
                  TargetNode, Client, DataSet, VerifyFun, Scenario, Config
              ),
              TeardownFun(),
  
              InnerAcc and TestCasePassed
          end, true, ScenarioPerDataSet)
      end, true, CorrectClients);
  run_expected_success_test_cases(Config, #suite_spec{
      target_nodes = TargetNodes,
  