tests/chromium: cover brave package routing

Add a regression test showing that programs.chromium.package = brave writes extension metadata into Brave's config directory rather than Chromium's.
This commit is contained in:
Austin Horstman
2026-04-22 12:25:08 -05:00
parent 5d947202cf
commit ca6fd05c13
2 changed files with 29 additions and 0 deletions

View File

@@ -0,0 +1,28 @@
{ config, ... }:
let
extensionId = "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa";
in
{
programs.chromium = {
enable = true;
package = config.lib.test.mkStubPackage {
name = "brave";
};
extensions = [
{
id = extensionId;
}
];
};
nmt.script = ''
assertFileContent \
"home-files/.config/BraveSoftware/Brave-Browser/External Extensions/${extensionId}.json" \
${builtins.toFile "chromium-brave-extension.json" (
builtins.toJSON {
external_update_url = "https://clients2.google.com/service/update2/crx";
}
)}
assertPathNotExists "home-files/.config/chromium/External Extensions/${extensionId}.json"
'';
}

View File

@@ -8,6 +8,7 @@
chromium-plasma-support-command-line-args = ./plasma-support-command-line-args.nix;
}
// lib.optionalAttrs pkgs.stdenv.hostPlatform.isLinux {
chromium-brave-package-routing-linux = ./brave-package-routing-linux.nix;
chromium-google-chrome-extensions-linux = ./google-chrome-extensions-linux.nix;
chromium-ungoogled-chromium-extensions-linux = ./ungoogled-chromium-extensions-linux.nix;
}