diff --git a/tests/Makefile.am b/tests/Makefile.am index 63be3528..5df184c3 100644 --- a/tests/Makefile.am +++ b/tests/Makefile.am @@ -5,10 +5,12 @@ EXTRA_DIST = ca-key.pem ca.pem common.sh server-cert.pem server-key.pem test1.co test-group-pass.config user-group-cert.pem user-group-key.pem test-user-group-cert.config dist_check_SCRIPTS = test-pass test-pass-cert test-cert test-iroute test-pass-script \ - test-multi-cookie test-pam test-stress full-test test-group-pass test-pass-group-cert + test-multi-cookie test-pam test-stress full-test test-group-pass test-pass-group-cert \ + ocpasswd-test TESTS = test-pass test-pass-cert test-cert test-iroute test-pass-script \ - test-multi-cookie full-test test-group-pass test-pass-group-cert + test-multi-cookie full-test test-group-pass test-pass-group-cert \ + ocpasswd-test TESTS_ENVIRONMENT = srcdir="$(srcdir)" \ top_builddir="$(top_builddir)" diff --git a/tests/ocpasswd-test b/tests/ocpasswd-test new file mode 100755 index 00000000..b6c49eae --- /dev/null +++ b/tests/ocpasswd-test @@ -0,0 +1,67 @@ +#!/bin/sh +# +# Copyright (C) 2014 Red Hat +# +# This file is part of ocserv. +# +# ocserv is free software; you can redistribute it and/or modify it +# under the terms of the GNU General Public License as published by the +# Free Software Foundation; either version 2 of the License, or (at +# your option) any later version. +# +# ocserv is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with GnuTLS; if not, write to the Free Software Foundation, +# Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + +OCPASSWD="${OCPASSWD:-../src/ocpasswd}" +srcdir=${srcdir:-.} + +echo "Testing ocpasswd" + +rm -f passwd.out + +echo "Creating user... " +echo test|$OCPASSWD -c passwd.out -g group test +if test $? != 0;then + echo "Failed creating user test" + exit 1 +fi + +grep group passwd.out >/dev/null 2>&1 +if test $? != 0;then + echo "Failed creating user test. Group 'group' was not found" + exit 1 +fi + +echo "Locking user... " +$OCPASSWD -c passwd.out -l test +if test $? != 0;then + echo "Failed locking user test" + exit 1 +fi + +grep -e "\:\!\$5" passwd.out >/dev/null 2>&1 +if test $? != 0;then + echo "Failed locking user test. The exclamation mark wasn't found" + exit 1 +fi + +echo "Deleting user... " +$OCPASSWD -c passwd.out -d test +if test $? != 0;then + echo "Failed deleting user test" + exit 1 +fi + +grep "test" passwd.out >/dev/null 2>&1 +if test $? = 0;then + echo "Failed deleting user test. User was found in file" + exit 1 +fi + +exit 0