Files
workavia-mail-front/provisioning/integration_test/provisioning.sh
T

59 lines
2.0 KiB
Bash
Executable File

#!/bin/bash
# Define users and folders
users=("alice" "bob" "brian" "charlotte" "david" "emma")
bobFolders=("Search Emails" "Forward Emails" "Disposition")
# Add users
for user in "${users[@]}"; do
james-cli AddUser "$user@example.com" "$user"
done
# Create folders for user Bob
for folderName in "${bobFolders[@]}"; do
echo "Creating $folderName folder for user bob"
james-cli CreateMailbox \#private "bob@example.com" "$folderName"
done
# Function to check if mailbox exists
function wait_for_mailbox() {
local email="$1"
local folder="$2"
local retries=10
local count=0
while [ $count -lt $retries ]; do
if james-cli ListUserMailboxes "$email" | grep -q "$folder"; then
echo "Mailbox '$folder' for user '$email' is ready."
return 0
fi
echo "Waiting for mailbox '$folder' to be created..."
sleep 2
((count++))
done
echo "Error: Mailbox '$folder' for user '$email' was not created in time."
return 1
}
# Ensure all mailboxes exist before importing emails
for folderName in "${bobFolders[@]}"; do
wait_for_mailbox "bob@example.com" "$folderName" || exit 1
done
# For test search email with sort order
# Import emails into 'Search Emails' folder for user Bob
for eml in {0..4}; do
echo "Importing $eml.eml into 'Search Emails' folder for user bob"
james-cli ImportEml \#private "bob@example.com" "Search Emails" "/root/conf/integration_test/eml/search_email_with_sort_order/$eml.eml"
done
# For test forward email
# Import emails into 'Forward Emails' folder for user Bob
echo "Importing 0.eml into 'Forward Emails' folder for user bob"
james-cli ImportEml \#private "bob@example.com" "Forward Emails" "/root/conf/integration_test/eml/forward_email/0.eml"
# For test email with no-disposition inline image
# Import email into 'Disposition' folder for user Bob
echo "Importing no_disposition_inline.eml into 'Disposition' folder for user bob"
james-cli ImportEml \#private "bob@example.com" "Disposition" "/root/conf/integration_test/eml/no_disposition_inline/no_disposition_inline.eml"