mirror of
https://github.com/nix-community/home-manager
synced 2024-11-10 15:14:26 +00:00
mbsync: add basic test of result configuration
This commit is contained in:
parent
81ec856a0f
commit
0590c2a4f6
4 changed files with 92 additions and 1 deletions
|
@ -176,7 +176,7 @@ in
|
|||
++ accountsConfig
|
||||
++ groupsConfig
|
||||
++ optional (cfg.extraConfig != "") cfg.extraConfig
|
||||
);
|
||||
) + "\n";
|
||||
|
||||
home.activation.createMaildir =
|
||||
dag.entryBetween [ "linkGeneration" ] [ "writeBoundary" ] ''
|
||||
|
|
|
@ -23,6 +23,7 @@ import nmt {
|
|||
git-with-email = ./modules/programs/git-with-email.nix;
|
||||
git-with-most-options = ./modules/programs/git.nix;
|
||||
git-with-str-extra-config = ./modules/programs/git-with-str-extra-config.nix;
|
||||
mbsync = ./modules/programs/mbsync.nix;
|
||||
texlive-minimal = ./modules/programs/texlive-minimal.nix;
|
||||
xresources = ./modules/xresources.nix;
|
||||
} // pkgs.lib.optionalAttrs pkgs.stdenv.hostPlatform.isLinux {
|
||||
|
|
55
tests/modules/programs/mbsync-expected.conf
Normal file
55
tests/modules/programs/mbsync-expected.conf
Normal file
|
@ -0,0 +1,55 @@
|
|||
# Generated by Home Manager.
|
||||
|
||||
IMAPAccount hm-account
|
||||
CertificateFile /etc/ssl/certs/ca-certificates.crt
|
||||
Host imap.example.org
|
||||
PassCmd "password-command 2"
|
||||
SSLType IMAPS
|
||||
User home.manager.jr
|
||||
|
||||
IMAPStore hm-account-remote
|
||||
Account hm-account
|
||||
|
||||
MaildirStore hm-account-local
|
||||
Inbox /home/hm-user/Mail/hm-account/Inbox
|
||||
Path /home/hm-user/Mail/hm-account/
|
||||
SubFolders Verbatim
|
||||
|
||||
Channel hm-account
|
||||
Create None
|
||||
Expunge None
|
||||
Master :hm-account-remote:
|
||||
Patterns *
|
||||
Remove None
|
||||
Slave :hm-account-local:
|
||||
SyncState *
|
||||
|
||||
|
||||
IMAPAccount hm@example.com
|
||||
CertificateFile /etc/ssl/certs/ca-certificates.crt
|
||||
Host imap.example.com
|
||||
PassCmd password-command
|
||||
SSLType IMAPS
|
||||
User home.manager
|
||||
|
||||
IMAPStore hm@example.com-remote
|
||||
Account hm@example.com
|
||||
|
||||
MaildirStore hm@example.com-local
|
||||
Inbox /home/hm-user/Mail/hm@example.com/Inbox
|
||||
Path /home/hm-user/Mail/hm@example.com/
|
||||
SubFolders Verbatim
|
||||
|
||||
Channel hm@example.com
|
||||
Create None
|
||||
Expunge None
|
||||
Master :hm@example.com-remote:
|
||||
Patterns *
|
||||
Remove None
|
||||
Slave :hm@example.com-local:
|
||||
SyncState *
|
||||
|
||||
|
||||
Group inboxes
|
||||
Channel hm-account:Inbox
|
||||
Channel hm@example.com:Inbox1,Inbox2
|
35
tests/modules/programs/mbsync.nix
Normal file
35
tests/modules/programs/mbsync.nix
Normal file
|
@ -0,0 +1,35 @@
|
|||
{ config, lib, pkgs, ... }:
|
||||
|
||||
with lib;
|
||||
|
||||
{
|
||||
imports = [ ../accounts/email-test-accounts.nix ];
|
||||
|
||||
config = {
|
||||
home.username = "hm-user";
|
||||
home.homeDirectory = "/home/hm-user";
|
||||
|
||||
programs.mbsync = {
|
||||
enable = true;
|
||||
groups.inboxes = {
|
||||
"hm@example.com" = [ "Inbox1" "Inbox2" ];
|
||||
hm-account = [ "Inbox" ];
|
||||
};
|
||||
};
|
||||
|
||||
accounts.email.accounts = {
|
||||
"hm@example.com".mbsync = {
|
||||
enable = true;
|
||||
};
|
||||
|
||||
hm-account.mbsync = {
|
||||
enable = true;
|
||||
};
|
||||
};
|
||||
|
||||
nmt.script = ''
|
||||
assertFileExists home-files/.mbsyncrc
|
||||
assertFileContent home-files/.mbsyncrc ${./mbsync-expected.conf}
|
||||
'';
|
||||
};
|
||||
}
|
Loading…
Reference in a new issue