##### SUMMARY

Support collection roles as integration test targets.

Now that https://github.com/ansible/ansible/issues/59462 has been merged, ansible-test can be updated to support running integration test targets that are collection roles.

The planned convention is to look for targets under `roles/test/` and allow use of target-specific plugins from `plugins/{plugin_type}/test/{target_name}/`.

##### ISSUE TYPE

Feature Idea

##### COMPONENT NAME

ansible-test

##### ADDITIONAL INFORMATION

This will allow integration test targets to be written using collections instead of pre-collection roles.
inventory_path = os.path.join(temp_dir, inventory_relative_path)
        cache = IntegrationCache(args)
        target_dependencies = sorted([target] + list(cache.dependency_map.get(target.name, set())))
        files_needed = get_files_needed(target_dependencies)
        integration_dir = os.path.join(temp_dir, data_context().content.integration_path)
        ansible_config = os.path.join(temp_dir, ansible_config_relative)
        vars_file_src = os.path.join(data_context().content.root, data_context().content.integration_vars_path)
        vars_file = os.path.join(temp_dir, data_context().content.integration_vars_path)
        file_copies = [
            (ansible_config_src, ansible_config),
            (inventory_path_src, inventory_path),
        ]
        if os.path.exists(vars_file_src):
            file_copies.append((vars_file_src, vars_file))
        file_copies += [(path, os.path.join(temp_dir, path)) for path in files_needed]
        integration_targets_relative_path = data_context().content.integration_targets_path
        directory_copies = [
            (os.path.join(integration_targets_relative_path, target.name), os.path.join(temp_dir, integration_targets_relative_path, target.name))
            for target in target_dependencies
        ]
        directory_copies = sorted(set(directory_copies))
        file_copies = sorted(set(file_copies))
        if not args.explain:
            make_dirs(integration_dir)
        for dir_src, dir_dst in directory_copies:
            display.info('Copying %s/ to %s/' % (dir_src, dir_dst), verbosity=2)
            if not args.explain:
                shutil.copytree(to_bytes(dir_src), to_bytes(dir_dst), symlinks=True)
        for file_src, file_dst in file_copies:
            display.info('Copying %s to %s' % (file_src, file_dst), verbosity=2)