ConfigLoaderTest

45

tests

0

failures

0

ignored

0.468s

duration

100%

successful

Tests

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

Standard output

Creating nstance of class de.hoennig.werkator.config.ConfigLoaderTest
2026-09-03T10:11:03.934Z  WARN 144 --- [-1214674166#231] d.hoennig.werkator.config.ConfigLoader   : no build defines onPush or atTimes; the watcher will never start a build on its own
2026-09-03T10:11:04.190Z  WARN 144 --- [-1214674166#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-03T10:11:04.247Z  WARN 144 --- [-1214674166#243] d.hoennig.werkator.config.ConfigLoader   : ignoring builds.maxConcurrent; the concurrency limit is executor.maxConcurrent since v0.9.15
2026-09-03T10:11:04.320Z  WARN 144 --- [-1214674166#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