mbsync: add basic test of result configuration
This commit is contained in:
parent
81ec856a0f
commit
0590c2a4f6
|
@ -176,7 +176,7 @@ in
|
||||||
++ accountsConfig
|
++ accountsConfig
|
||||||
++ groupsConfig
|
++ groupsConfig
|
||||||
++ optional (cfg.extraConfig != "") cfg.extraConfig
|
++ optional (cfg.extraConfig != "") cfg.extraConfig
|
||||||
);
|
) + "\n";
|
||||||
|
|
||||||
home.activation.createMaildir =
|
home.activation.createMaildir =
|
||||||
dag.entryBetween [ "linkGeneration" ] [ "writeBoundary" ] ''
|
dag.entryBetween [ "linkGeneration" ] [ "writeBoundary" ] ''
|
||||||
|
|
|
@ -23,6 +23,7 @@ import nmt {
|
||||||
git-with-email = ./modules/programs/git-with-email.nix;
|
git-with-email = ./modules/programs/git-with-email.nix;
|
||||||
git-with-most-options = ./modules/programs/git.nix;
|
git-with-most-options = ./modules/programs/git.nix;
|
||||||
git-with-str-extra-config = ./modules/programs/git-with-str-extra-config.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;
|
texlive-minimal = ./modules/programs/texlive-minimal.nix;
|
||||||
xresources = ./modules/xresources.nix;
|
xresources = ./modules/xresources.nix;
|
||||||
} // pkgs.lib.optionalAttrs pkgs.stdenv.hostPlatform.isLinux {
|
} // 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