aboutsummaryrefslogtreecommitdiff
path: root/tests/data
diff options
context:
space:
mode:
authorDavid Bremner <david@tethera.net>2022-05-05 08:29:26 -0300
committerSean Whitton <spwhitton@spwhitton.name>2022-05-05 12:34:24 -0700
commit23e304277c6ab46995fc68d5c4574fc58a9a57b4 (patch)
tree3c4bd21d7e6f87e149fac7dad4a2c36153331a90 /tests/data
parent4315b429f8f39772bef5fc2175859a55ae513714 (diff)
downloadconsfigurator-23e304277c6ab46995fc68d5c4574fc58a9a57b4.tar.gz
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 <david@tethera.net>
Diffstat (limited to 'tests/data')
-rw-r--r--tests/data/pass.lisp52
1 files changed, 52 insertions, 0 deletions
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")