From 14fd37f98f63c6984d351d022122465c3a0b81b3 Mon Sep 17 00:00:00 2001 From: Tobias Schlatter <schlatter.tobias@gmail.com> Date: Thu, 20 Feb 2025 10:44:32 +0100 Subject: [PATCH] test(bazel-module): do not rely on fragments to test rules (#34298) --- .../manager/bazel-module/rules.spec.ts | 111 ++++++++++-------- 1 file changed, 61 insertions(+), 50 deletions(-) diff --git a/lib/modules/manager/bazel-module/rules.spec.ts b/lib/modules/manager/bazel-module/rules.spec.ts index cb595b9952..6ce0f842ee 100644 --- a/lib/modules/manager/bazel-module/rules.spec.ts +++ b/lib/modules/manager/bazel-module/rules.spec.ts @@ -1,8 +1,9 @@ +import { codeBlock } from 'common-tags'; import deepmerge from 'deepmerge'; import { BazelDatasource } from '../../datasource/bazel'; import { GithubTagsDatasource } from '../../datasource/github-tags'; import type { PackageDependency } from '../types'; -import * as fragments from './parser/fragments'; +import { parse } from './parser'; import type { BasePackageDep, BazelModulePackageDep, @@ -96,43 +97,50 @@ const gitRepositoryForUnsupportedPkgDep: BasePackageDep = { describe('modules/manager/bazel-module/rules', () => { describe('RuleToBazelModulePackageDep', () => { - const bazelDepWithoutDevDep = fragments.rule('bazel_dep', { - name: fragments.string('rules_foo'), - version: fragments.string('1.2.3'), - }); - const bazelDepWithoutDevDepNoVersion = fragments.rule('bazel_dep', { - name: fragments.string('rules_foo'), - }); - const gitOverrideWithGihubHost = fragments.rule('git_override', { - module_name: fragments.string('rules_foo'), - remote: fragments.string('https://github.com/example/rules_foo.git'), - commit: fragments.string('850cb49c8649e463b80ef7984e7c744279746170'), - }); - const gitOverrideWithUnsupportedHost = fragments.rule('git_override', { - module_name: fragments.string('rules_foo'), - remote: fragments.string('https://nobuenos.com/example/rules_foo.git'), - commit: fragments.string('850cb49c8649e463b80ef7984e7c744279746170'), - }); - const archiveOverride = fragments.rule('archive_override', { - module_name: fragments.string('rules_foo'), - urls: fragments.string('https://example.com/rules_foo.tar.gz'), - }); - const localPathOverride = fragments.rule('local_path_override', { - module_name: fragments.string('rules_foo'), - path: fragments.string('/path/to/module'), - }); - const singleVersionOverride = fragments.rule('single_version_override', { - module_name: fragments.string('rules_foo'), - version: fragments.string('1.2.3'), - registry: fragments.string(customRegistryUrl), - }); - const singleVersionOverrideWithRegistry = fragments.rule( - 'single_version_override', - { - module_name: fragments.string('rules_foo'), - registry: fragments.string(customRegistryUrl), - }, - ); + const bazelDepWithoutDevDep = codeBlock` + bazel_dep(name = "rules_foo", version = "1.2.3")`; + + const bazelDepWithoutDevDepNoVersion = codeBlock` + bazel_dep(name = "rules_foo")`; + + const gitOverrideWithGihubHost = codeBlock` + git_override( + module_name = "rules_foo", + remote = "https://github.com/example/rules_foo.git", + commit = "850cb49c8649e463b80ef7984e7c744279746170", + )`; + + const gitOverrideWithUnsupportedHost = codeBlock` + git_override( + module_name = "rules_foo", + remote = "https://nobuenos.com/example/rules_foo.git", + commit = "850cb49c8649e463b80ef7984e7c744279746170", + )`; + + const archiveOverride = codeBlock` + archive_override( + module_name = "rules_foo", + urls = "https://example.com/rules_foo.tar.gz", + )`; + + const localPathOverride = codeBlock` + local_path_override( + module_name = "rules_foo", + path = "/path/to/module", + )`; + + const singleVersionOverride = codeBlock` + single_version_override( + module_name = "rules_foo", + version = "1.2.3", + registry = "${customRegistryUrl}", + )`; + + const singleVersionOverrideWithRegistry = codeBlock` + single_version_override( + module_name = "rules_foo", + registry = "${customRegistryUrl}", + )`; it.each` msg | a | exp @@ -145,29 +153,32 @@ describe('modules/manager/bazel-module/rules', () => { ${'single_version_override with version and registry'} | ${singleVersionOverride} | ${singleVersionOverridePkgDep} ${'single_version_override with registry'} | ${singleVersionOverrideWithRegistry} | ${singleVersionOverrideWithRegistryPkgDep} `('.parse() with $msg', ({ a, exp }) => { - const pkgDep = RuleToBazelModulePackageDep.parse(a); + const pkgDep = RuleToBazelModulePackageDep.parse(parse(a)[0]); expect(pkgDep).toEqual(exp); }); }); describe('GitRepositoryToPackageDep', () => { - const gitRepositoryWithGihubHost = fragments.rule('git_repository', { - name: fragments.string('rules_foo'), - remote: fragments.string('https://github.com/example/rules_foo.git'), - commit: fragments.string('850cb49c8649e463b80ef7984e7c744279746170'), - }); - const gitRepositoryWithUnsupportedHost = fragments.rule('git_repository', { - name: fragments.string('rules_foo'), - remote: fragments.string('https://nobuenos.com/example/rules_foo.git'), - commit: fragments.string('850cb49c8649e463b80ef7984e7c744279746170'), - }); + const gitRepositoryWithGihubHost = codeBlock` + git_repository( + name = "rules_foo", + remote = "https://github.com/example/rules_foo.git", + commit = "850cb49c8649e463b80ef7984e7c744279746170", + )`; + + const gitRepositoryWithUnsupportedHost = codeBlock` + git_repository( + name = "rules_foo", + remote = "https://nobuenos.com/example/rules_foo.git", + commit = "850cb49c8649e463b80ef7984e7c744279746170", + )`; it.each` msg | a | exp ${'git_repository, GitHub host'} | ${gitRepositoryWithGihubHost} | ${gitRepositoryForGithubPkgDep} ${'git_repository, unsupported host'} | ${gitRepositoryWithUnsupportedHost} | ${gitRepositoryForUnsupportedPkgDep} `('.parse() with $msg', ({ a, exp }) => { - const pkgDep = GitRepositoryToPackageDep.parse(a); + const pkgDep = GitRepositoryToPackageDep.parse(parse(a)[0]); expect(pkgDep).toEqual(exp); }); }); -- GitLab