ConfigLoaderTest

45

tests

0

failures

0

ignored

0.724s

duration

100%

successful

Tests

Test Duration Result
a branch cannot disable its bwrap sandbox or substitute a foreign rootfs through a build definition 0.011s passed
a branch cannot raise the concurrency limit or reach the sandbox policy through a build definition 0.011s passed
a branch may redefine the builds section for its own builds 0.007s passed
a branch whose config is committed under the pre-rename name is still read as the branch layer 0.002s passed
a branch writing its trigger flat fails only its own builds 0.004s passed
a build the branch invents inherits the host's sandbox policy 0.007s passed
a config that needs a newer Werkator is refused, naming the file and both versions 0.277s passed
a config within its declared range loads, and exceeding only the ceiling still loads 0.072s passed
a leftover builds.maxConcurrent is ignored instead of failing the config 0.007s passed
a trigger key written outside the trigger block is refused, naming the definition 0.006s passed
an exclusion pattern takes a branch out of a build that would otherwise select it 0.006s passed
an exclusion wins over a matching pattern, whatever their order 0.001s passed
an explicit builds.default entry overrides the implicit default build 0.006s passed
an incompatible branch config is refused as the branch's problem, not the server's 0.057s passed
applyInstanceFragment installs a valid fragment verbatim, and re-applying replaces it 0.013s passed
applyInstanceFragment refuses a missing or empty fragment 0.002s passed
applyInstanceFragment refuses an unknown key loudly instead of installing a silent no-op 0.007s passed
branch-specific buildCommand overrides branches.default 0.004s passed
branch-specific config inherits from branches.default 0.010s passed
branches is honored while no build is defined and ignored as soon as one is 0.006s passed
builds.default is the base of every other build, but never its trigger 0.004s passed
empty publicBaseUrl defaults to https://<nginx.serverName>/ when set 0.008s passed
enabling both docker and bwrap on a build is rejected, not picked silently 0.008s passed
explicit publicBaseUrl wins over the nginx.serverName default 0.003s passed
falls back to the pre-rename .gittally.yml at the repository root 0.004s passed
falls back to the pre-rename machine config under .git/gittally 0.001s passed
finds the machine config left under its old name in an already-moved directory 0.002s passed
loadForWorktree falls back to .git over project when the worktree sets nothing 0.003s passed
loadForWorktree lets the worktree override build config (worktree > .git > project) 0.003s passed
loadForWorktree pins secrets and the docker sandbox policy to .git, but allows docker.image 0.005s passed
loadForWorktree without a worktree config equals load 0.002s passed
loadRaw only returns explicitly set values 0s passed
loadRaw returns empty map when no config files exist 0.006s passed
loadWithBranchLayer applies a branch config read from git, pinning the same keys 0.003s passed
loadWithBranchLayer without a branch config equals load 0.004s passed
publicBaseUrl stays empty without an nginx.serverName 0.002s passed
reads executor.maxConcurrent and defaults it to 1 0.001s passed
reads gitea config from .werkator.yml 0.023s passed
repo install config overrides project config for same keys 0.001s passed
returns defaults when no config files exist 0.004s passed
the applied instance fragment layers above the project config and below the machine config 0.002s passed
the builds section holds named build definitions 0.007s passed
the current name wins where both exist, so a half-done rename is not merged 0.002s passed
the machine config is checked as its own file 0.019s passed
toYaml serializes WerkatorConfig with all sections 0.091s passed

Standard output

Creating nstance of class de.hoennig.werkator.config.ConfigLoaderTest
2026-09-03T12:35:00.400Z  WARN 146 --- [-1245887282#231] d.hoennig.werkator.config.ConfigLoader   : no build defines onPush or atTimes; the watcher will never start a build on its own
2026-09-03T12:35:00.789Z  WARN 146 --- [-1245887282#240] d.hoennig.werkator.config.ConfigLoader   : .werkator.yml was released for Werkator below 1.0 (werkator.version.below), this is 1.4.0
2026-09-03T12:35:00.911Z  WARN 146 --- [-1245887282#243] d.hoennig.werkator.config.ConfigLoader   : ignoring builds.maxConcurrent; the concurrency limit is executor.maxConcurrent since v0.9.15
2026-09-03T12:35:01.005Z  WARN 146 --- [-1245887282#254] d.hoennig.werkator.config.ConfigLoader   : ignoring the branches section: this configuration defines builds, and a build definition carries its own settings; move what is still needed into builds — branches is going away