diff options
Diffstat (limited to 'tests/basic')
-rw-r--r-- | tests/basic | 78 |
1 files changed, 78 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! + + |