mirror of
https://github.com/Mailu/Mailu.git
synced 2024-12-16 10:59:53 +02:00
111 lines
3.1 KiB
Bash
Executable File
111 lines
3.1 KiB
Bash
Executable File
# try create, find, lookup, delete
|
|
|
|
echo "Start 05_test_alias_interfaces.sh"
|
|
|
|
# Try creating a new alias /alias
|
|
curl --silent --insecure -X 'POST' \
|
|
'https://localhost/api/v1/alias' \
|
|
-H 'accept: application/json' \
|
|
-H 'Authorization: apitest' \
|
|
-H 'Content-Type: application/json' \
|
|
-d '{
|
|
"comment": "test alias for user@mailu.io and admin@mailu.io",
|
|
"destination": [
|
|
"user@mailu.io",
|
|
"admin@mailu.io"
|
|
],
|
|
"wildcard": false,
|
|
"email": "test@mailu.io"
|
|
}' | grep 200
|
|
if [ $? -ne 0 ]; then
|
|
exit 1
|
|
fi
|
|
echo "Created alias test@mailu.io succcessfully for user@mailu.io and admin@mailu.io"
|
|
|
|
curl --silent --insecure -X 'POST' \
|
|
'https://localhost/api/v1/alias' \
|
|
-H 'accept: application/json' \
|
|
-H 'Authorization: apitest' \
|
|
-H 'Content-Type: application/json' \
|
|
-d '{
|
|
"comment": "test2 alias for user@mailu.io",
|
|
"destination": [
|
|
"user@mailu.io"
|
|
],
|
|
"wildcard": false,
|
|
"email": "test2@mailu.io"
|
|
}' | grep 200
|
|
if [ $? -ne 0 ]; then
|
|
exit 1
|
|
fi
|
|
echo "Created alias test2@mailu.io succcessfully for user@mailu.io "
|
|
|
|
# Try retrieving all aliases /alias. We expect to retrieve 2
|
|
curl --silent --insecure -X 'GET' \
|
|
'https://localhost/api/v1/alias' \
|
|
-H 'accept: application/json' \
|
|
-H 'Authorization: apitest' \
|
|
| grep -o '"destination":' | grep -c '"destination":' | grep 2
|
|
if [ $? -ne 0 ]; then
|
|
exit 1
|
|
fi
|
|
echo "Successfully retrieved 2 aliases"
|
|
|
|
# Try looking up the aliases for a specific domain /alias/destination/{domain}. We expect to retrieve 2
|
|
curl --silent --insecure -X 'GET' \
|
|
'https://localhost/api/v1/alias/destination/mailu.io' \
|
|
-H 'accept: application/json' \
|
|
-H 'Authorization: apitest' \
|
|
| grep -o '"destination":' | grep -c '"destination":' | grep 2
|
|
if [ $? -ne 0 ]; then
|
|
exit 1
|
|
fi
|
|
echo "Successfully retrieved 2 aliases"
|
|
|
|
# Try deleting a specific alias /alias/{alias}
|
|
curl --silent --insecure -X 'DELETE' \
|
|
'https://localhost/api/v1/alias/test2%40mailu.io' \
|
|
-H 'accept: application/json' \
|
|
-H 'Authorization: apitest' \
|
|
| grep 200
|
|
if [ $? -ne 0 ]; then
|
|
exit 1
|
|
fi
|
|
echo "Deleted alias test2@mailu.io succcessfully"
|
|
|
|
# Try updating a specific alias /alias/{alias}
|
|
curl --silent --insecure -X 'PATCH' \
|
|
'https://localhost/api/v1/alias/test%40mailu.io' \
|
|
-H 'accept: application/json' \
|
|
-H 'Authorization: apitest' \
|
|
-H 'Content-Type: application/json' \
|
|
-d '{
|
|
"comment": "updated_comment",
|
|
"destination": [
|
|
"user@mailu.io"
|
|
],
|
|
"wildcard": true
|
|
}' | grep 200
|
|
if [ $? -ne 0 ]; then
|
|
exit 1
|
|
fi
|
|
echo "Updated alias test2@mailu.io succcessfully"
|
|
|
|
# Try looking up a specific alias /alias/{alias}.
|
|
#Check if values were updated correctyly in previous step.
|
|
response=$(curl --silent --insecure -X 'GET' \
|
|
'https://localhost/api/v1/alias/test%40mailu.io' \
|
|
-H 'accept: application/json' \
|
|
-H 'Authorization: apitest')
|
|
echo $response | grep 'admin@mailu.io'
|
|
if [ $? -ne 1 ]; then
|
|
exit 1
|
|
fi
|
|
echo "Confirmed that destination admin@mailu.io is removed from alias test@mailu.io"
|
|
echo $response | grep 'updated_comment'
|
|
if [ $? -ne 0 ]; then
|
|
exit 1
|
|
fi
|
|
echo "Confirmed that comment attribute is updated successfully"
|
|
|
|
echo "Finished 05_test_alias_interfaces.sh" |