#!/usr/share/ucs-test/runner bash
## desc: Create OX users and modify email address
## bugs: [34349]
## packages:
##  - univention-ox
## tags:
##  - apptest
##  - SKIP
## exposure: dangerous

. "/usr/share/univention-lib/all.sh" || exit 137
. "ox.sh" || exit 137

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

RETVAL=100

username="$(user_randomname)"
mail1="$(random_mailaddress)1@$domainname"
mail2="$(random_mailaddress)2@$domainname"
mail3="$(random_mailaddress)3@$domainname"

create_ox_user "$username" "$mail1" --set oxLanguage='de_DE'

wait_for_replication

ox_login "$username" "univention" || fail_test 110 "Login to account denied"

udm-test users/user modify \
	--dn "uid=$username,cn=users,$ldap_base" \
	--set mailPrimaryAddress="$mail2" \
	--set mailAlternativeAddress="$mail3"

wait_for_replication
send_mail () {
	mail -s "ucs-test $0 $$ $*" "$1" <"$0"
	for ((i=0;i<60;i++))
	do
		mailq | grep -q "Mail queue is empty" && break
		sleep 1
	done
}
send_mail "$mail1" "1/3 undelivered"
send_mail "$mail2" "2/3 primary"
send_mail "$mail3" "3/3 alternative"

ox_login "$username" "univention" || fail_test 110 "Login to account denied"
session="$(ox_session)"
res="$(ox_ajax folders action=root session="$session" columns=1,300 allowed_modules=mail)"
id="$(echo "$res" | sed -rne 's/.*\["([^"]+)","Persönliche Ordner"\].*/\1/p')"
res="$(ox_ajax folders action=list session="$session" columns=1,300 parent="$id")"
id="$(echo "$res" | sed -rne 's/.*\["([^"]+)","E-Mail"\].*/\1/p')"
res="$(ox_ajax folders action=list session="$session" columns=1,300 parent="$id")"
id="$(echo "$res" | sed -rne 's/.*\["([^"]+)","Posteingang"\].*/\1/p')"
res="$(ox_ajax mail action=count session="$session" folder="$id")"
res="$(echo "$res" | sed -rne 's/.*"data":([0-9]+).*/\1/p')"
[ 2 -eq "$res" ] || fail_test 110 "Unexpected mail 2 != $res"

user_remove "$username"

wait_for_replication

exit $RETVAL
# vim:set ft=sh:
