#!/usr/share/ucs-test/runner bash
## desc: Test zarafa non-active user accounts
## bugs: [31870]
## packages:
##  - zarafa4ucs
## tags:
##  - apptest
## exposure: dangerous

. "$TESTLIBPATH/base.sh" || exit 137
. "$TESTLIBPATH/user.sh" || exit 137
. "$TESTLIBPATH/random.sh" || exit 137
. "$TESTLIBPATH/zarafa.sh" || exit 137
. "/usr/share/univention-lib/all.sh" || exit 137

eval "$(/usr/sbin/ucr shell)"

RETVAL=100

stop_udm_cli_server

echo "Testing zarafa nonactive user ..."

ACTIVEUSERSTART=$(get_active_zarafa_user_count)
NONACTIVEUSERSTART=$(get_nonactive_zarafa_user_count)

LOGINUSERNAME="zNonactive-LOGIN-$(user_randomname)"
NOLOGINUSERNAME="zNonactive-NOLOGIN-$(user_randomname)"
createZarafaNonactive "$LOGINUSERNAME" "0" "" "univention"
createZarafaNonactive "$NOLOGINUSERNAME" "1" "" "univention"

wait_for_replication_and_postrun

zarafa_login "$LOGINUSERNAME" "univention" || fail_test 110 "Login as zarafa user was denied"
zarafa_login "$NOLOGINUSERNAME" "univention" && fail_test 110 "Disbled nonactive user was able to login"


univention-ldapsearch -LLL uid="$LOGINUSERNAME" | grep -q "^univentionObjectFlag: functional" || fail_test 110 "cannot find attribute univentionObjectFlag: functional"

udm-test zarafa/non-active modify \
	--dn "uid=$NOLOGINUSERNAME,cn=non-active,cn=zarafa,$ldap_base" \
	--set logindenied="0"
zarafa_login "$NOLOGINUSERNAME" "univention" fail_test 110 "Login with a just activated non-active user not possible"

deleteZarafaNonactive "$LOGINUSERNAME"
deleteZarafaNonactive "$NOLOGINUSERNAME"
wait_for_replication

exit $RETVAL
