From 23e304277c6ab46995fc68d5c4574fc58a9a57b4 Mon Sep 17 00:00:00 2001 From: David Bremner Date: Thu, 5 May 2022 08:29:26 -0300 Subject: add tests for pass(1) data source Test the several cases of transforming (IDEN1 IDEN2) to a filesystem location. Tricky cases include an illegal hostname in IDEN1 and shadowing of an entry by one prefixed with '_'. Signed-off-by: David Bremner --- tests/data/pass.lisp | 52 ++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 52 insertions(+) create mode 100644 tests/data/pass.lisp (limited to 'tests/data') diff --git a/tests/data/pass.lisp b/tests/data/pass.lisp new file mode 100644 index 0000000..5852809 --- /dev/null +++ b/tests/data/pass.lisp @@ -0,0 +1,52 @@ +(in-package :consfigurator/tests) +(named-readtables:in-readtable :consfigurator) +(in-consfig "consfigurator/tests") + +(defun populate-data-pass () + "Invoked by test runner before data source is registered." + (pass '("insert" "-m" "server.example.org/account") :input "hunter2") + (pass '("insert" "-m" "_foo/bar/baz") :input "OK") + (pass '("insert" "-m" "foo/bar/baz") :input "illegal") + (pass '("insert" "-m" "valid/file") :input "shadowed") + (pass '("insert" "-m" "_valid/file") :input "visible") + (pass '("insert" "-m" "toplevel") :input "sekrit") + (pass '("insert" "-m" "server.example.org/etc/foo.conf") + :input "[section] +key=value")) + +(deftest pass-host.1 + (get-data-string "server.example.org" "account") + "hunter2") + +(deftest pass-host.2 + (get-data-string "--user-passwd--server.example.org" "account") + "hunter2") + +(deftest pass-host.3 + (get-data-string "server.example.org" "/etc/foo.conf") "[section] +key=value") + +(deftest pass-host.4 + (handler-case + (get-data-string "a.example.com" "/etc/foo.conf") + (missing-data (c) "fail")) + "fail") + +(deftest pass-underscore.1 + (get-data-string "_server.example.org" "account") + "hunter2") + +(deftest pass-underscore.2 + (get-data-string "_foo/bar" "baz") "OK") + +(deftest pass-underscore.3 + (handler-case + (get-data-string "foo/bar" "baz") + (simple-program-error (c) "fail")) + "fail") + +(deftest pass-underscore.4 + (get-data-string "_valid" "file") "visible") + +(deftest pass-underscore.5 + (get-data-string "_" "toplevel") "sekrit") -- cgit v1.2.3