1
0
mirror of https://github.com/Mailu/Mailu.git synced 2024-12-16 10:59:53 +02:00
Mailu/tests/compose/api/01_test_user_interfaces.sh

80 lines
2.0 KiB
Bash
Executable File

echo "Test user interfaces"
# create user user@mailu.io for testing deletion
curl --silent --insecure -X 'POST' \
'https://localhost/api/v1/user' \
-H 'accept: application/json' \
-H 'Authorization: Bearer apitest' \
-H 'Content-Type: application/json' \
-d '{
"email": "user2@mailu.io",
"raw_password": "password",
"comment": "created for testing RESTful API",
"global_admin": false,
"enabled": true,
"change_pw_next_login": false,
"enable_imap": true,
"enable_pop": true,
"allow_spoofing": false,
"forward_enabled": false,
"reply_enabled": false,
"displayed_name": "admin",
"spam_enabled": true,
"spam_mark_as_read": true
}' | grep 200
if [ $? -ne 0 ]; then
exit 1
fi
echo "created user (user2@mailu.io) successfully"
#delete user2@mailu.io
curl --silent --insecure -X 'DELETE' \
'https://localhost/api/v1/user/user2%40mailu.io' \
-H 'accept: application/json' \
-H 'Authorization: Bearer apitest' \
| grep 200
if [ $? -ne 0 ]; then
exit 1
fi
echo "Deleted user2 (user2@mailu.io) successfully"
#Check if updating user works
curl --silent --insecure -X 'PATCH' \
'https://localhost/api/v1/user/user%40mailu.io' \
-H 'accept: application/json' \
-H 'Authorization: Bearer apitest' \
-H 'Content-Type: application/json' \
-d '{
"comment": "updated_comment"
}' | grep 200
if [ $? -ne 0 ]; then
exit 1
fi
echo "Updated user(user@mailu.io) successfully"
curl --silent --insecure -X 'GET' \
'https://localhost/api/v1/user/user%40mailu.io' \
-H 'accept: application/json' \
-H 'Authorization: Bearer apitest' \
| grep updated_comment
if [ $? -ne 0 ]; then
exit 1
fi
echo "Confirmed that comment attribute of user was correctly updated"
# try get all users. At this moment we should have 2 users total
curl --silent --insecure -X 'GET' \
'https://localhost/api/v1/user' \
-H 'accept: application/json' \
-H 'Authorization: Bearer apitest' \
| grep -o "email" | grep -c "email" | grep 2
if [ $? -ne 0 ]; then
exit 1
fi
echo "Retrieved all users successfully"
echo "Finished 01_test_user_interfaces.sh"