diff options
Diffstat (limited to 'infra/libkookie/home-manager/tests/modules/programs/git/git-with-msmtp.nix')
-rw-r--r-- | infra/libkookie/home-manager/tests/modules/programs/git/git-with-msmtp.nix | 45 |
1 files changed, 45 insertions, 0 deletions
diff --git a/infra/libkookie/home-manager/tests/modules/programs/git/git-with-msmtp.nix b/infra/libkookie/home-manager/tests/modules/programs/git/git-with-msmtp.nix new file mode 100644 index 000000000000..abe32af8ecb3 --- /dev/null +++ b/infra/libkookie/home-manager/tests/modules/programs/git/git-with-msmtp.nix @@ -0,0 +1,45 @@ +{ config, lib, pkgs, ... }: + +with lib; + +{ + imports = [ ../../accounts/email-test-accounts.nix ]; + + config = { + accounts.email.accounts."hm@example.com".msmtp.enable = true; + programs.git = { + enable = true; + package = pkgs.gitMinimal; + userEmail = "hm@example.com"; + userName = "H. M. Test"; + }; + + home.stateVersion = "20.09"; + + nmt.script = '' + function assertGitConfig() { + local value + value=$(${pkgs.gitMinimal}/bin/git config \ + --file $TESTED/home-files/.config/git/config \ + --get $1) + if [[ $value != $2 ]]; then + fail "Expected option '$1' to have value '$2' but it was '$value'" + fi + } + + assertFileExists home-files/.config/git/config + assertFileContent home-files/.config/git/config \ + ${ + pkgs.substituteAll { + inherit (pkgs) msmtp; + src = ./git-with-msmtp-expected.conf; + } + } + + assertGitConfig "sendemail.hm@example.com.from" "hm@example.com" + assertGitConfig "sendemail.hm-account.from" "hm@example.org" + assertGitConfig "sendemail.hm@example.com.smtpServer" "${pkgs.msmtp}/bin/msmtp" + assertGitConfig "sendemail.hm@example.com.envelopeSender" "auto" + ''; + }; +} |