Skip to content

Commit

Permalink
test(bazel-module): do not rely on fragments to test rules (#34298)
Browse files Browse the repository at this point in the history
  • Loading branch information
gzm0 authored Feb 20, 2025
1 parent 9e02ab6 commit 14fd37f
Showing 1 changed file with 61 additions and 50 deletions.
111 changes: 61 additions & 50 deletions lib/modules/manager/bazel-module/rules.spec.ts
Original file line number Diff line number Diff line change
@@ -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,
Expand Down Expand Up @@ -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
Expand All @@ -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);
});
});
Expand Down

0 comments on commit 14fd37f

Please sign in to comment.