aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLudovic Courtès <ludo@gnu.org>2020-03-09 23:32:44 +0100
committerLudovic Courtès <ludo@gnu.org>2020-03-09 23:46:36 +0100
commit827abd5deb87c1ec15112d7cde1a03a4ba4b4983 (patch)
tree63abe4f0a68f1bf2ba888209c5db7aeac0bf8a08
parent0e42a1643ea5a0cc4ddb81687c608ba407fdcdbb (diff)
downloadpatches-827abd5deb87c1ec15112d7cde1a03a4ba4b4983.tar
patches-827abd5deb87c1ec15112d7cde1a03a4ba4b4983.tar.gz
tests: getmail: Provide a pre-initialized user account password.
* gnu/tests/mail.scm (%getmail-os): Rewrite so that the "alice" account has a password. (run-getmail-test)[test]("set password for alice"): Remove. This would not work since commit 8b9cad01e9619f53dc5a65892ca6a09ca5de3447 since 'passwd' would no longer be in $PATH.
-rw-r--r--gnu/tests/mail.scm96
1 files changed, 53 insertions, 43 deletions
diff --git a/gnu/tests/mail.scm b/gnu/tests/mail.scm
index 023f59df10..298918b3a7 100644
--- a/gnu/tests/mail.scm
+++ b/gnu/tests/mail.scm
@@ -1,7 +1,7 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2016 Sou Bunnbu <iyzsong@member.fsf.org>
;;; Copyright © 2017 Carlo Zancanaro <carlo@zancanaro.id.au>
-;;; Copyright © 2017 Ludovic Courtès <ludo@gnu.org>
+;;; Copyright © 2017, 2020 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2018 Oleg Pykhalov <go.wigust@gmail.com>
;;; Copyright © 2018 Clément Lassieur <clement@lassieur.org>
;;; Copyright © 2019 Christopher Baines <mail@cbaines.net>
@@ -26,8 +26,11 @@
#:use-module (gnu tests)
#:use-module (gnu packages mail)
#:use-module (gnu system)
+ #:use-module (gnu system accounts)
+ #:use-module (gnu system shadow)
#:use-module (gnu system vm)
#:use-module (gnu services)
+ #:use-module (gnu services base)
#:use-module (gnu services getmail)
#:use-module (gnu services mail)
#:use-module (gnu services networking)
@@ -404,43 +407,55 @@ Subject: Hello Nice to meet you!")
(value (run-dovecot-test))))
(define %getmail-os
- (simple-operating-system
- (service dhcp-client-service-type)
- (service dovecot-service-type
- (dovecot-configuration
- (disable-plaintext-auth? #f)
- (ssl? "no")
- (auth-mechanisms '("anonymous" "plain"))
- (auth-anonymous-username "alice")
- (mail-location
- (string-append "maildir:~/Maildir"
- ":INBOX=~/Maildir/INBOX"
- ":LAYOUT=fs"))))
- (service getmail-service-type
- (list
- (getmail-configuration
- (name 'test)
- (user "alice")
- (directory "/var/lib/getmail/alice")
- (idle '("TESTBOX"))
- (rcfile
- (getmail-configuration-file
- (retriever
- (getmail-retriever-configuration
- (type "SimpleIMAPRetriever")
- (server "localhost")
- (username "alice")
- (port 143)
- (extra-parameters
- '((password . "testpass")
- (mailboxes . ("TESTBOX"))))))
- (destination
- (getmail-destination-configuration
- (type "Maildir")
- (path "/home/alice/TestMaildir/")))
- (options
- (getmail-options-configuration
- (read-all #f))))))))))
+ (operating-system
+ (inherit (simple-operating-system))
+
+ ;; Set a password for the user account; the test needs it.
+ (users (cons (user-account
+ (name "alice")
+ (password (crypt "testpass" "$6$abc"))
+ (comment "Bob's sister")
+ (group "users")
+ (supplementary-groups '("wheel" "audio" "video")))
+ %base-user-accounts))
+
+ (services (cons* (service dhcp-client-service-type)
+ (service dovecot-service-type
+ (dovecot-configuration
+ (disable-plaintext-auth? #f)
+ (ssl? "no")
+ (auth-mechanisms '("anonymous" "plain"))
+ (auth-anonymous-username "alice")
+ (mail-location
+ (string-append "maildir:~/Maildir"
+ ":INBOX=~/Maildir/INBOX"
+ ":LAYOUT=fs"))))
+ (service getmail-service-type
+ (list
+ (getmail-configuration
+ (name 'test)
+ (user "alice")
+ (directory "/var/lib/getmail/alice")
+ (idle '("TESTBOX"))
+ (rcfile
+ (getmail-configuration-file
+ (retriever
+ (getmail-retriever-configuration
+ (type "SimpleIMAPRetriever")
+ (server "localhost")
+ (username "alice")
+ (port 143)
+ (extra-parameters
+ '((password . "testpass")
+ (mailboxes . ("TESTBOX"))))))
+ (destination
+ (getmail-destination-configuration
+ (type "Maildir")
+ (path "/home/alice/TestMaildir/")))
+ (options
+ (getmail-options-configuration
+ (read-all #f))))))))
+ %base-services))))
(define (run-getmail-test)
"Return a test of an OS running Getmail service."
@@ -483,11 +498,6 @@ Subject: Hello Nice to meet you!")
(start-service 'dovecot))
marionette))
- (test-assert "set password for alice"
- (marionette-eval
- '(system "echo -e \"testpass\ntestpass\" | passwd alice")
- marionette))
-
;; Wait for getmail to be up and running.
(test-assert "getmail-test running"
(marionette-eval