summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDaniel Kahn Gillmor <dkg@fifthhorseman.net>2008-09-14 21:30:26 -0400
committerDaniel Kahn Gillmor <dkg@fifthhorseman.net>2008-09-14 21:30:26 -0400
commite98366cd478343b9c39ced4984874cd611ccb4ad (patch)
treec7a0ac52b32467b410475c3f86c9f597474c5726
parentac01e1d823ae8eb4353a50e40e8c8bceeaff227d (diff)
adding initial testsuite (totally unfinished!), bug report about genericizing filesystem locations.
-rw-r--r--tests/basic78
-rw-r--r--website/bugs/genericize-filesystem-locations-for-testsuite.mdwn28
2 files changed, 106 insertions, 0 deletions
diff --git a/tests/basic b/tests/basic
new file mode 100644
index 0000000..7d354f9
--- /dev/null
+++ b/tests/basic
@@ -0,0 +1,78 @@
+#!/usr/bin/env bash
+
+# Tests to ensure that the monkeysphere is working
+
+# Author: Daniel Kahn Gillmor <dkg@fifthhorseman.net>
+# Date: 2008-09-13 13:40:15-0400
+
+# these tests might be best run under fakeroot, particularly the
+# "server-side" tests. Using fakeroot, they should be able to be run
+# as a non-privileged user.
+
+# NOTE: these tests have *not* themselves been tested yet
+# (2008-09-13). Please exercise with caution!
+
+# these tests assume a commonly-trusted "Admin's key", a fake key
+# permanently stored in ./admin:
+
+gpgadmin() {
+ GNUPGHOME=./admin gpg "$@"
+}
+
+
+# cleanup:
+
+cleanup() {
+ rm -f ./ssh-socket
+
+ # FIXME: how should we clear out the temporary $VARLIB?
+
+ # FIXME: clear out ssh client config file and known hosts.
+}
+
+## set up some variables to ensure that we're operating strictly in
+## the tests, not system-wide:
+
+# FIXME: can we override $VARLIB ?
+# FIXME: can we override $ETC ?
+
+# Use the local copy of executables first, instead of system ones.
+# This should help us test without installing.
+export PATH=$(pwd)/../src:$(pwd)/../src/keytrans:$PATH
+export MONKEYSPHERE_SHARE=$(pwd)/../src
+
+# create a new host key, certify it with the "Admin's Key".
+
+echo | monkeysphere-server gen-key --expire 2d
+
+HOSTKEYID=$( monkeysphere-server show-key | tail -n1 | cut -f3 -d\ )
+
+monkeysphere-server gpg-authentication-cmd "--armor --export $HOSTKEYID" | gpgadmin --import
+
+gpgadmin --sign-key "$HOSTKEYID"
+
+# FIXME: how can we test publish-key without flooding junk into the
+# keyservers?
+
+# indicate that the "Admin's" key is an identity certifier for the
+# host
+
+monkeysphere-server add-identity-certifier ./admin/pubkey.gpg
+
+# launch sshd with the new host key.
+
+mkfifo ./ssh-socket
+
+sshd -f ./sshd_config -i <>./ssh-socket
+
+# connect to sample sshd host key, using monkeysphere to verify the
+# identity before connection.
+
+## FIXME: implement!
+
+# create a new client side key, certify it with the "CA", use it to
+# log in.
+
+## FIXME: implement!
+
+
diff --git a/website/bugs/genericize-filesystem-locations-for-testsuite.mdwn b/website/bugs/genericize-filesystem-locations-for-testsuite.mdwn
new file mode 100644
index 0000000..1d70313
--- /dev/null
+++ b/website/bugs/genericize-filesystem-locations-for-testsuite.mdwn
@@ -0,0 +1,28 @@
+[[meta title="genericize all filesystem locations to enable test suite:" ]]
+
+I'm in the process of writing a testsuite for the monkeysphere so that
+we can verify that it actually performs all the basic expected duties
+properly.
+
+It occurs to me that lines like these:
+
+ ETC="/etc/monkeysphere"
+ VARLIB="/var/lib/monkeysphere"
+
+Actually make it very difficult to generically test the tool without
+it being installed system-wide.
+
+Is there any reason that we should not allow these directories to be
+overridden with environment variables in the same way that
+`/usr/share/monkeysphere/share` is handled?
+
+ SHARE=${MONKEYSPHERE_SHARE:-"/usr/share/monkeysphere"}
+
+I guess i'm proposing something like:
+
+ SYSCONFIGDIR=${MONKEYSPHERE_SYSCONFIGDIR:-"/etc/monkeysphere"}
+ SYSDATADIR=${MONKEYSPHERE_SYSDATADIR:-"/var/lib/monkeysphere"}
+
+Thoughts?
+
+--dkg