Page Menu
Home
Phorge
Search
Configure Global Search
Log In
Files
F117885322
testimap.sh
No One
Temporary
Actions
Download File
Edit File
Delete File
View Transforms
Subscribe
Flag For Later
Award Token
Authored By
Unknown
Size
4 KB
Referenced Files
None
Subscribers
None
testimap.sh
View Options
#!/bin/bash
set
-e
trap
'echo "Error on $LINENO"'
ERR
ADMIN_USER
=
"cyrus-admin"
ADMIN_PASSWORD
=
"Welcome2KolabSystems"
USER
=
"admin@kolab.local"
PASSWORD
=
"simple123"
USER_FRONTEND_COMMAND
=
"imtest -p 7143 -a
$USER
-u
$USER
-w
$PASSWORD
-v 127.0.0.1"
USER_BACKEND_COMMAND
=
"imtest -p 8143 -a
$USER
-u
$USER
-w
$PASSWORD
-v 127.0.0.1"
ADMIN_FRONTEND_COMMAND
=
"imtest -p 7143 -a
$ADMIN_USER
-u
$ADMIN_USER
-w
$ADMIN_PASSWORD
-v 127.0.0.1"
ADMIN_BACKEND1_COMMAND
=
"imtest -p 8143 -a
$ADMIN_USER
-u
$ADMIN_USER
-w
$ADMIN_PASSWORD
-v 127.0.0.1"
ADMIN_BACKEND2_COMMAND
=
"imtest -p 9143 -a
$ADMIN_USER
-u
$ADMIN_USER
-w
$ADMIN_PASSWORD
-v 127.0.0.1"
# We expect to be able to create folders under the shared/ prefix from multiple backends.
# This only works because of a hardcoded exception, as folder hierarchies are not normally allowed to span backends.
echo
'a01 create shared/test1@kolab.local'
|
$ADMIN_BACKEND1_COMMAND
echo
'a01 create shared/test2@kolab.local'
|
$ADMIN_BACKEND1_COMMAND
echo
'a01 create shared/test3@kolab.local'
|
$ADMIN_BACKEND2_COMMAND
echo
'a01 create shared/test4@kolab.local'
|
$ADMIN_BACKEND2_COMMAND
echo
'a01 create shared/test5@kolab.local'
|
$ADMIN_FRONTEND_COMMAND
# Make sure no shared folder was created
docker compose
exec
-ti imap-mupdate ctl_mboxlist -d
|
grep -v
'"shared":'
> /dev/null
2
>
&
1
# Make sure the folders exist
echo
'a01 list "" "*"'
|
$ADMIN_FRONTEND_COMMAND
|
grep
"shared/test1@kolab.local"
echo
'a01 list "" "*"'
|
$ADMIN_FRONTEND_COMMAND
|
grep
"shared/test2@kolab.local"
echo
'a01 list "" "*"'
|
$ADMIN_FRONTEND_COMMAND
|
grep
"shared/test3@kolab.local"
echo
'a01 list "" "*"'
|
$ADMIN_FRONTEND_COMMAND
|
grep
"shared/test4@kolab.local"
echo
'a01 list "" "*"'
|
$ADMIN_FRONTEND_COMMAND
|
grep
"shared/test5@kolab.local"
# Test getmetadata/setmetadata on a shared folder
echo
'a01 setmetadata shared/test1@kolab.local (/shared/vendor/kolab/folder-type "event")'
|
$ADMIN_FRONTEND_COMMAND
|
grep
"a01 OK Completed"
echo
'a01 getmetadata (DEPTH infinity) shared/test1@kolab.local (/shared/vendor/kolab/folder-type)'
|
$ADMIN_FRONTEND_COMMAND
|
grep
'METADATA shared/test1@kolab.local ("/shared/vendor/kolab/folder-type" "event")'
> /dev/null
2
>
&
1
# Also test requesting multiple items
echo
'a01 getmetadata (DEPTH infinity) shared/test1@kolab.local (/shared/vendor/kolab/folder-type /private/vendor/kolab/folder-type)'
|
$ADMIN_FRONTEND_COMMAND
|
grep
'METADATA shared/test1@kolab.local ("/shared/vendor/kolab/folder-type" "event" "/private/vendor/kolab/folder-type" NIL)'
> /dev/null
2
>
&
1
# docker compose exec -ti webapp ./artisan scalpel:user:create --id=3 --email=john@kolab.local --password=simple123 --status=3
# $USER_FRONTEND_COMMAND
# We must login via IMAP first, to create the INBOX.
echo
'a01 list "" "*"'
|
$USER_BACKEND_COMMAND
> /dev/null
2
>
&
1
# Ensure the inbox is created
docker compose
exec
-ti imap-mupdate ctl_mboxlist -d
|
grep
'"kolab.local!user.admin":'
> /dev/null
2
>
&
1
#TODO as a user, all of those
# /home/mollekopf/bin/scripts/imapcli.rb delete --host $HOST --port 993 --username "$USERNAME" --password "$PASSWORD" --ssl --debug $FOLDER || true
# /home/mollekopf/bin/scripts/imapcli.rb create --host $HOST --port 993 --username "$USERNAME" --password "$PASSWORD" --ssl --debug $FOLDER
# /home/mollekopf/bin/scripts/imapcli.rb subscribe --host $HOST --port 993 --username "$USERNAME" --password "$PASSWORD" --ssl --debug $FOLDER
# /home/mollekopf/bin/scripts/imapcli.rb setmetadata --host $HOST --port 993 --username "$USERNAME" --password "$PASSWORD" --ssl --debug $FOLDER "/shared/vendor/kolab/folder-type" event
# /home/mollekopf/bin/scripts/imapcli.rb getmetadata --host $HOST --port 993 --username "$USERNAME" --password "$PASSWORD" --ssl --debug $FOLDER "/shared/*"
# /home/mollekopf/bin/scripts/imapcli.rb getmetadata --host $HOST --port 993 --username "$USERNAME" --password "$PASSWORD" --ssl --debug $FOLDER "/shared/vendor/kolab/folder-type"
# /home/mollekopf/bin/scripts/imapcli.rb lsub --host $HOST --port 993 --username "$USERNAME" --password "$PASSWORD" --ssl --debug $FOLDER
# /home/mollekopf/bin/scripts/imapcli.rb list --host $HOST --port 993 --username "$USERNAME" --password "$PASSWORD" --ssl --debug $FOLDER
# /home/mollekopf/bin/scripts/imapcli.rb delete --host $HOST --port 993 --username "$USERNAME" --password "$PASSWORD" --ssl --debug $FOLDER
File Metadata
Details
Attached
Mime Type
text/x-shellscript
Expires
Mon, Apr 6, 1:58 AM (1 w, 6 h ago)
Storage Engine
local-disk
Storage Format
Raw Data
Storage Handle
b9/31/5cf06dd4797d4aa7d30a34bd58e5
Default Alt Text
testimap.sh (4 KB)
Attached To
Mode
rK kolab
Attached
Detach File
Event Timeline