// Vitest Snapshot v1, https://vitest.dev/guide/snapshot.html

exports[`config/validation > validateConfig(config) > catches invalid allowedVersions regex 1`] = `
[
  {
    "message": "Invalid regExp for packageRules[1].allowedVersions: \`/***$}{]][/\`",
    "topic": "Configuration Error",
  },
  {
    "message": "Invalid regExp for packageRules[3].allowedVersions: \`!/***$}{]][/\`",
    "topic": "Configuration Error",
  },
]
`;

exports[`config/validation > validateConfig(config) > catches invalid matchCurrentVersion regex 1`] = `
[
  {
    "message": "Invalid regExp for packageRules[1].matchCurrentVersion: \`/***$}{]][/\`",
    "topic": "Configuration Error",
  },
  {
    "message": "Invalid regExp for packageRules[3].matchCurrentVersion: \`!/***$}{]][/\`",
    "topic": "Configuration Error",
  },
]
`;

exports[`config/validation > validateConfig(config) > catches invalid templates 1`] = `
[
  {
    "message": "Invalid template in config path: commitMessage",
    "topic": "Configuration Error",
  },
]
`;

exports[`config/validation > validateConfig(config) > errors for all types 1`] = `
[
  {
    "message": "Configuration option \`azureWorkItemId\` should be an integer. Found: false (boolean).",
    "topic": "Configuration Error",
  },
  {
    "message": "Configuration option \`enabled\` should be boolean. Found: 1 (number)",
    "topic": "Configuration Error",
  },
  {
    "message": "Configuration option \`labels\` should be a list (Array)",
    "topic": "Configuration Error",
  },
  {
    "message": "Configuration option \`lockFileMaintenance\` should be a json object",
    "topic": "Configuration Error",
  },
  {
    "message": "Configuration option \`packageRules[2].matchPackageNames\` should be a list (Array)",
    "topic": "Configuration Error",
  },
  {
    "message": "Configuration option \`semanticCommitType\` should be a string",
    "topic": "Configuration Error",
  },
  {
    "message": "Invalid configuration option: packageRules[0].foo",
    "topic": "Configuration Error",
  },
  {
    "message": "Invalid schedule: \`Invalid schedule: "every 15 mins every weekday" should not specify minutes\`",
    "topic": "Configuration Error",
  },
  {
    "message": "extends: Invalid schedule: Unsupported timezone Europe/Brussel",
    "topic": "Configuration Error",
  },
  {
    "message": "packageRules must contain JSON objects",
    "topic": "Configuration Error",
  },
  {
    "message": "packageRules[0]: Each packageRule must contain at least one match* or exclude* selector. Rule: {"foo":1}",
    "topic": "Configuration Error",
  },
  {
    "message": "timezone: Invalid schedule: Unsupported timezone Asia",
    "topic": "Configuration Error",
  },
]
`;

exports[`config/validation > validateConfig(config) > errors for unsafe managerFilePatterns 1`] = `
[
  {
    "message": "Failed to parse regex pattern for dockerfile.managerFilePatterns: /x?+/",
    "topic": "Configuration Error",
  },
  {
    "message": "Failed to parse regex pattern for npm.managerFilePatterns: /abc ([a-z]+) ([a-z]+))/",
    "topic": "Configuration Error",
  },
]
`;

exports[`config/validation > validateConfig(config) > errors if customManager fields are missing 1`] = `
[
  {
    "message": "Regex Managers must contain currentValueTemplate configuration or regex group named currentValue",
    "topic": "Configuration Error",
  },
]
`;

exports[`config/validation > validateConfig(config) > errors if included not supported enabled managers for combined supported and not supported managers 1`] = `
[
  {
    "message": "The following managers configured in enabledManagers are not supported: "foo"",
    "topic": "Configuration Error",
  },
]
`;

exports[`config/validation > validateConfig(config) > errors if included not supported enabled managers for multiple not supported managers 1`] = `
[
  {
    "message": "The following managers configured in enabledManagers are not supported: "foo, bar"",
    "topic": "Configuration Error",
  },
]
`;

exports[`config/validation > validateConfig(config) > errors if included not supported enabled managers for single not supported manager 1`] = `
[
  {
    "message": "The following managers configured in enabledManagers are not supported: "foo"",
    "topic": "Configuration Error",
  },
]
`;

exports[`config/validation > validateConfig(config) > errors if invalid combinations in packageRules 1`] = `
[
  {
    "message": "packageRules[0]: packageRules cannot combine both matchUpdateTypes and registryUrls. Rule: {"matchUpdateTypes":["major"],"registryUrls":["https://registry.npmjs.org"]}",
    "topic": "Configuration Error",
  },
]
`;

exports[`config/validation > validateConfig(config) > errors if manager objects are nested 1`] = `
[
  {
    "message": "The "gradle" object can only be configured at the top level of a config but was found inside "maven"",
    "topic": "Configuration Error",
  },
]
`;

exports[`config/validation > validateConfig(config) > errors if managerFilePatterns has wrong parent 1`] = `
[
  {
    "message": "managerFilePatterns should only be configured within one of "ansible or ansible-galaxy or argocd or asdf or azure-pipelines or batect or batect-wrapper or bazel or bazel-module or bazelisk or bicep or bitbucket-pipelines or bitrise or buildkite or buildpacks or bun or bun-version or bundler or cake or cargo or cdnurl or circleci or cloudbuild or cocoapods or composer or conan or copier or cpanfile or crossplane or crow or deps-edn or devbox or devcontainer or docker-compose or dockerfile or droneci or fleet or flux or fvm or git-submodules or github-actions or gitlabci or gitlabci-include or glasskube or gleam or gomod or gradle or gradle-wrapper or haskell-cabal or helm-requirements or helm-values or helmfile or helmsman or helmv3 or hermit or homebrew or html or jenkins or jsonnet-bundler or kotlin-script or kubernetes or kustomize or leiningen or maven or maven-wrapper or meteor or mint or mise or mix or nix or nodenv or npm or nuget or nvm or ocb or osgi or pep621 or pep723 or pip-compile or pip_requirements or pip_setup or pipenv or pixi or poetry or pre-commit or pub or puppet or pyenv or renovate-config-presets or ruby-version or runtime-version or sbt or scalafmt or setup-cfg or sveltos or swift or tekton or terraform or terraform-version or terragrunt or terragrunt-version or tflint-plugin or travis or unity3d or velaci or vendir or woodpecker or customManagers" objects. Was found in .",
    "topic": "managerFilePatterns",
  },
  {
    "message": "managerFilePatterns should only be configured within one of "ansible or ansible-galaxy or argocd or asdf or azure-pipelines or batect or batect-wrapper or bazel or bazel-module or bazelisk or bicep or bitbucket-pipelines or bitrise or buildkite or buildpacks or bun or bun-version or bundler or cake or cargo or cdnurl or circleci or cloudbuild or cocoapods or composer or conan or copier or cpanfile or crossplane or crow or deps-edn or devbox or devcontainer or docker-compose or dockerfile or droneci or fleet or flux or fvm or git-submodules or github-actions or gitlabci or gitlabci-include or glasskube or gleam or gomod or gradle or gradle-wrapper or haskell-cabal or helm-requirements or helm-values or helmfile or helmsman or helmv3 or hermit or homebrew or html or jenkins or jsonnet-bundler or kotlin-script or kubernetes or kustomize or leiningen or maven or maven-wrapper or meteor or mint or mise or mix or nix or nodenv or npm or nuget or nvm or ocb or osgi or pep621 or pep723 or pip-compile or pip_requirements or pip_setup or pipenv or pixi or poetry or pre-commit or pub or puppet or pyenv or renovate-config-presets or ruby-version or runtime-version or sbt or scalafmt or setup-cfg or sveltos or swift or tekton or terraform or terraform-version or terragrunt or terragrunt-version or tflint-plugin or travis or unity3d or velaci or vendir or woodpecker or customManagers" objects. Was found in minor",
    "topic": "npm.minor.managerFilePatterns",
  },
]
`;

exports[`config/validation > validateConfig(config) > ignore packageRule nesting validation for presets 1`] = `[]`;

exports[`config/validation > validateConfig(config) > included managers of the wrong type 1`] = `
[
  {
    "message": "Configuration option \`packageRules[0].matchManagers\` should be a list (Array)",
    "topic": "Configuration Error",
  },
]
`;

exports[`config/validation > validateConfig(config) > returns deprecation warnings 1`] = `
[
  {
    "message": "Direct editing of prTitle is now deprecated. Please edit commitMessage subcomponents instead as they will be passed through to prTitle.",
    "topic": "Deprecation Warning",
  },
]
`;

exports[`config/validation > validateConfig(config) > returns nested errors 1`] = `
[
  {
    "message": "Invalid configuration option: foo",
    "topic": "Configuration Error",
  },
  {
    "message": "Invalid configuration option: lockFileMaintenance.bar",
    "topic": "Configuration Error",
  },
  {
    "message": "Invalid regExp for packageRules[0].matchPackageNames: \`!/abc ([a-z]+) ([a-z]+))/\`",
    "topic": "Configuration Error",
  },
  {
    "message": "Invalid regExp for packageRules[0].matchPackageNames: \`/abc ([a-z]+) ([a-z]+))/\`",
    "topic": "Configuration Error",
  },
]
`;

exports[`config/validation > validateConfig(config) > selectors outside packageRules array trigger errors 1`] = `
[
  {
    "message": "ansible.minor.matchDepNames: matchDepNames should be inside a \`packageRule\` only",
    "topic": "Configuration Error",
  },
  {
    "message": "ansible.minor.matchPackageNames: matchPackageNames should be inside a \`packageRule\` only",
    "topic": "Configuration Error",
  },
  {
    "message": "matchDepNames: matchDepNames should be inside a \`packageRule\` only",
    "topic": "Configuration Error",
  },
  {
    "message": "matchPackageNames: matchPackageNames should be inside a \`packageRule\` only",
    "topic": "Configuration Error",
  },
]
`;

exports[`config/validation > validateConfig(config) > validates regEx for each managerFilePatterns of format regex 1`] = `
[
  {
    "message": "Failed to parse regex pattern for customManagers[0].managerFilePatterns: /***$}{]][/",
    "topic": "Configuration Error",
  },
]
`;

exports[`config/validation > validateConfig(config) > warns if hostType has the wrong parent 1`] = `
[
  {
    "message": "hostType should only be configured within one of "hostRules" objects. Was found in .",
    "topic": "hostType",
  },
]
`;

exports[`config/validation > validateConfig(config) > warns if only selectors in packageRules 1`] = `
[
  {
    "message": "packageRules[0]: Each packageRule must contain at least one non-match* or non-exclude* field. Rule: {"matchDepTypes":["foo"],"matchPackageNames":["bar"]}",
    "topic": "Configuration Error",
  },
]
`;
