#!/bin/bash
## desc: Create, modify, swap two objects
## bugs: [34355]
main () {
	udm settings/packages create --position "cn=visible,$BASE" --set name=test1
	a="$(uuid "cn=test1,cn=visible,$BASE")"
	udm settings/packages create --position "cn=visible,$BASE" --set name=test3
	b="$(uuid "cn=test3,cn=visible,$BASE")"

	listener stop
	udm settings/packages modify --dn "cn=test1,cn=visible,$BASE" --append packageList="test$RANDOM"
	udm settings/packages modify --dn "cn=test3,cn=visible,$BASE" --append packageList="test$RANDOM"
	udm settings/packages modify --dn "cn=test1,cn=visible,$BASE" --set name=test2
	udm settings/packages modify --dn "cn=test3,cn=visible,$BASE" --set name=test1
	udm settings/packages modify --dn "cn=test2,cn=visible,$BASE" --set name=test3
	listener start
	if $BUG34355
	then
		check "cn=test1,cn=visible" "$a" "$b" m
		check "cn=test3,cn=visible" "$b" "$a" m
		check "cn=test1,cn=visible" "$b" - r
		check "cn=test3,cn=visible" "$a" - r
		check "cn=test1,cn=visible" - "$b" a
		check "cn=test3,cn=visible" - "$a" a
	else
		check "cn=test1,cn=visible" "$a" - r
		check "cn=test2,cn=visible" - "$a" a
		check "cn=test3,cn=visible" "$b" - r
		check "cn=test1,cn=visible" - "$b" a
		check "cn=test1,cn=visible" "$b" "$b" m
		check "cn=test2,cn=visible" "$a" - r
		check "cn=test3,cn=visible" - "$a" a
		check "cn=test3,cn=visible" "$a" "$a" m
	fi

	udm settings/packages remove --dn "cn=test1,cn=visible,$BASE"
	udm settings/packages remove --dn "cn=test3,cn=visible,$BASE"
}
# shellcheck source=common.sh
. "${0%/*}/common.sh"
