chore: Adjust `_run_in_container_bash` to `_run_in_container`
Plus some additional bug fixes in the disabled test case
This commit is contained in:
parent
a65c164a17
commit
1def2966b6
|
@ -21,17 +21,17 @@ function teardown_file() { _default_teardown ; }
|
||||||
_add_mail_account_then_wait_until_ready 'quota_user@domain.tld'
|
_add_mail_account_then_wait_until_ready 'quota_user@domain.tld'
|
||||||
|
|
||||||
# Actual tests
|
# Actual tests
|
||||||
_run_in_container_bash "setup quota set quota_user 50M"
|
_run_in_container setup quota set quota_user 50M
|
||||||
assert_failure
|
assert_failure
|
||||||
|
|
||||||
_run_in_container_bash "setup quota set username@fulldomain 50M"
|
_run_in_container setup quota set username@fulldomain 50M
|
||||||
assert_failure
|
assert_failure
|
||||||
|
|
||||||
_run_in_container_bash "setup quota set quota_user@domain.tld 50M"
|
_run_in_container setup quota set quota_user@domain.tld 50M
|
||||||
assert_success
|
assert_success
|
||||||
|
|
||||||
# Cleanup
|
# Cleanup
|
||||||
_run_in_container_bash "setup email del -y quota_user@domain.tld"
|
_run_in_container setup email del -y quota_user@domain.tld
|
||||||
assert_success
|
assert_success
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -40,29 +40,29 @@ function teardown_file() { _default_teardown ; }
|
||||||
_add_mail_account_then_wait_until_ready 'quota_user@domain.tld'
|
_add_mail_account_then_wait_until_ready 'quota_user@domain.tld'
|
||||||
|
|
||||||
# Actual tests
|
# Actual tests
|
||||||
_run_in_container_bash "setup quota set quota_user@domain.tld 26GIGOTS"
|
_run_in_container setup quota set quota_user@domain.tld 26GIGOTS
|
||||||
assert_failure
|
assert_failure
|
||||||
_run_in_container_bash "setup quota set quota_user@domain.tld 123"
|
_run_in_container setup quota set quota_user@domain.tld 123
|
||||||
assert_failure
|
assert_failure
|
||||||
_run_in_container_bash "setup quota set quota_user@domain.tld M"
|
_run_in_container setup quota set quota_user@domain.tld M
|
||||||
assert_failure
|
assert_failure
|
||||||
_run_in_container_bash "setup quota set quota_user@domain.tld -60M"
|
_run_in_container setup quota set quota_user@domain.tld -60M
|
||||||
assert_failure
|
assert_failure
|
||||||
|
|
||||||
|
|
||||||
_run_in_container_bash "setup quota set quota_user@domain.tld 10B"
|
_run_in_container setup quota set quota_user@domain.tld 10B
|
||||||
assert_success
|
assert_success
|
||||||
_run_in_container_bash "setup quota set quota_user@domain.tld 10k"
|
_run_in_container setup quota set quota_user@domain.tld 10k
|
||||||
assert_success
|
assert_success
|
||||||
_run_in_container_bash "setup quota set quota_user@domain.tld 10M"
|
_run_in_container setup quota set quota_user@domain.tld 10M
|
||||||
assert_success
|
assert_success
|
||||||
_run_in_container_bash "setup quota set quota_user@domain.tld 10G"
|
_run_in_container setup quota set quota_user@domain.tld 10G
|
||||||
assert_success
|
assert_success
|
||||||
_run_in_container_bash "setup quota set quota_user@domain.tld 10T"
|
_run_in_container setup quota set quota_user@domain.tld 10T
|
||||||
assert_success
|
assert_success
|
||||||
|
|
||||||
# Cleanup
|
# Cleanup
|
||||||
_run_in_container_bash "setup email del -y quota_user@domain.tld"
|
_run_in_container setup email del -y quota_user@domain.tld
|
||||||
assert_success
|
assert_success
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -71,22 +71,22 @@ function teardown_file() { _default_teardown ; }
|
||||||
_add_mail_account_then_wait_until_ready 'quota_user@domain.tld'
|
_add_mail_account_then_wait_until_ready 'quota_user@domain.tld'
|
||||||
|
|
||||||
# Actual tests
|
# Actual tests
|
||||||
_run_in_container_bash "setup quota del uota_user@domain.tld"
|
_run_in_container setup quota del uota_user@domain.tld
|
||||||
assert_failure
|
assert_failure
|
||||||
_run_in_container_bash "setup quota del quota_user"
|
_run_in_container setup quota del quota_user
|
||||||
assert_failure
|
assert_failure
|
||||||
_run_in_container_bash "setup quota del dontknowyou@domain.tld"
|
_run_in_container setup quota del dontknowyou@domain.tld
|
||||||
assert_failure
|
assert_failure
|
||||||
|
|
||||||
_run_in_container_bash "setup quota set quota_user@domain.tld 10T"
|
_run_in_container setup quota set quota_user@domain.tld 10T
|
||||||
assert_success
|
assert_success
|
||||||
_run_in_container_bash "setup quota del quota_user@domain.tld"
|
_run_in_container setup quota del quota_user@domain.tld
|
||||||
assert_success
|
assert_success
|
||||||
_run_in_container_bash "grep -i 'quota_user@domain.tld' /tmp/docker-mailserver/dovecot-quotas.cf"
|
_run_in_container grep -i 'quota_user@domain.tld' /tmp/docker-mailserver/dovecot-quotas.cf
|
||||||
assert_failure
|
assert_failure
|
||||||
|
|
||||||
# Cleanup
|
# Cleanup
|
||||||
_run_in_container_bash "setup email del -y quota_user@domain.tld"
|
_run_in_container setup email del -y quota_user@domain.tld
|
||||||
assert_success
|
assert_success
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -95,22 +95,23 @@ function teardown_file() { _default_teardown ; }
|
||||||
_add_mail_account_then_wait_until_ready 'quota_user@domain.tld'
|
_add_mail_account_then_wait_until_ready 'quota_user@domain.tld'
|
||||||
|
|
||||||
# Actual tests
|
# Actual tests
|
||||||
_run_in_container_bash "grep -i 'quota_user@domain.tld' /tmp/docker-mailserver/dovecot-quotas.cf"
|
_run_in_container grep -i 'quota_user@domain.tld' /tmp/docker-mailserver/dovecot-quotas.cf
|
||||||
assert_failure
|
assert_failure
|
||||||
|
|
||||||
_run_in_container_bash "setup quota del quota_user@domain.tld"
|
_run_in_container setup quota del quota_user@domain.tld
|
||||||
assert_success
|
assert_success
|
||||||
_run_in_container_bash "setup quota del quota_user@domain.tld"
|
_run_in_container setup quota del quota_user@domain.tld
|
||||||
assert_success
|
assert_success
|
||||||
|
|
||||||
# Cleanup
|
# Cleanup
|
||||||
_run_in_container_bash "setup email del -y quota_user@domain.tld"
|
_run_in_container setup email del -y quota_user@domain.tld
|
||||||
assert_success
|
assert_success
|
||||||
}
|
}
|
||||||
|
|
||||||
@test 'should have configured Postfix to use the Dovecot quota-status service' {
|
@test 'should have configured Postfix to use the Dovecot quota-status service' {
|
||||||
_run_in_container_bash "postconf | grep 'check_policy_service inet:localhost:65265'"
|
_run_in_container postconf
|
||||||
assert_success
|
assert_success
|
||||||
|
assert_output --partial 'check_policy_service inet:localhost:65265'
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -150,31 +151,33 @@ function teardown_file() { _default_teardown ; }
|
||||||
@test 'Deleting an mailbox account should also remove that account from dovecot-quotas.cf' {
|
@test 'Deleting an mailbox account should also remove that account from dovecot-quotas.cf' {
|
||||||
_add_mail_account_then_wait_until_ready 'quserremoved@domain.tld'
|
_add_mail_account_then_wait_until_ready 'quserremoved@domain.tld'
|
||||||
|
|
||||||
_run_in_container_bash "setup quota set quserremoved@domain.tld 12M"
|
_run_in_container setup quota set quserremoved@domain.tld 12M
|
||||||
assert_success
|
assert_success
|
||||||
|
|
||||||
_run_in_container_bash 'cat /tmp/docker-mailserver/dovecot-quotas.cf | grep -E "^quserremoved@domain.tld\:12M\$" | wc -l | grep 1'
|
_run_in_container cat '/tmp/docker-mailserver/dovecot-quotas.cf'
|
||||||
|
assert_success
|
||||||
|
assert_output 'quserremoved@domain.tld:12M'
|
||||||
|
|
||||||
|
_run_in_container setup email del -y quserremoved@domain.tld
|
||||||
assert_success
|
assert_success
|
||||||
|
|
||||||
_run_in_container_bash "setup email del -y quserremoved@domain.tld"
|
_run_in_container cat /tmp/docker-mailserver/dovecot-quotas.cf
|
||||||
assert_success
|
assert_success
|
||||||
|
refute_output --partial 'quserremoved@domain.tld:12M'
|
||||||
_run_in_container_bash 'cat /tmp/docker-mailserver/dovecot-quotas.cf | grep -E "^quserremoved@domain.tld\:12M\$"'
|
|
||||||
assert_failure
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@test 'Dovecot should acknowledge quota configured for accounts' {
|
@test 'Dovecot should acknowledge quota configured for accounts' {
|
||||||
_run_in_container_bash "doveadm quota get -u 'user1@localhost.localdomain' | grep 'User quota STORAGE'"
|
_run_in_container_bash "doveadm quota get -u 'user1@localhost.localdomain' | grep 'User quota STORAGE'"
|
||||||
assert_output --partial "- 0"
|
assert_output --partial "- 0"
|
||||||
|
|
||||||
_run_in_container_bash "setup quota set user1@localhost.localdomain 50M"
|
_run_in_container setup quota set user1@localhost.localdomain 50M
|
||||||
assert_success
|
assert_success
|
||||||
|
|
||||||
# wait until quota has been updated
|
# wait until quota has been updated
|
||||||
run _repeat_until_success_or_timeout 20 _exec_in_container_bash 'doveadm quota get -u user1@localhost.localdomain | grep -oP "(User quota STORAGE\s+[0-9]+\s+)51200(.*)"'
|
run _repeat_until_success_or_timeout 20 _exec_in_container_bash 'doveadm quota get -u user1@localhost.localdomain | grep -oP "(User quota STORAGE\s+[0-9]+\s+)51200(.*)"'
|
||||||
assert_success
|
assert_success
|
||||||
|
|
||||||
_run_in_container_bash "setup quota del user1@localhost.localdomain"
|
_run_in_container setup quota del user1@localhost.localdomain
|
||||||
assert_success
|
assert_success
|
||||||
|
|
||||||
# wait until quota has been updated
|
# wait until quota has been updated
|
||||||
|
@ -189,11 +192,11 @@ function teardown_file() { _default_teardown ; }
|
||||||
_add_mail_account_then_wait_until_ready 'quotauser@otherdomain.tld'
|
_add_mail_account_then_wait_until_ready 'quotauser@otherdomain.tld'
|
||||||
|
|
||||||
# Actual tests
|
# Actual tests
|
||||||
_run_in_container_bash 'setup quota set quotauser@otherdomain.tld 10k'
|
_run_in_container setup quota set quotauser@otherdomain.tld 10k
|
||||||
assert_success
|
assert_success
|
||||||
|
|
||||||
# wait until quota has been updated
|
# wait until quota has been updated
|
||||||
run _repeat_until_success_or_timeout 20 _exec_in_container_bash 'doveadm quota get -u quotauser@otherdomain.tld | grep -oP \"(User quota STORAGE\s+[0-9]+\s+)10(.*)\"'
|
run _repeat_until_success_or_timeout 20 _exec_in_container_bash 'doveadm quota get -u quotauser@otherdomain.tld | grep -oP "(User quota STORAGE\s+[0-9]+\s+)10(.*)"'
|
||||||
assert_success
|
assert_success
|
||||||
|
|
||||||
# dovecot and postfix has been restarted
|
# dovecot and postfix has been restarted
|
||||||
|
@ -209,10 +212,10 @@ function teardown_file() { _default_teardown ; }
|
||||||
_run_in_container_bash "nc 0.0.0.0 25 < /tmp/docker-mailserver-test/email-templates/quota-exceeded.txt"
|
_run_in_container_bash "nc 0.0.0.0 25 < /tmp/docker-mailserver-test/email-templates/quota-exceeded.txt"
|
||||||
assert_success
|
assert_success
|
||||||
# check for quota warn message existence
|
# check for quota warn message existence
|
||||||
run _repeat_until_success_or_timeout 20 _exec_in_container_bash 'grep \"Subject: quota warning\" /var/mail/otherdomain.tld/quotauser/new/ -R'
|
run _repeat_until_success_or_timeout 20 _exec_in_container grep -R 'Subject: quota warning' /var/mail/otherdomain.tld/quotauser/new/
|
||||||
assert_success
|
assert_success
|
||||||
|
|
||||||
run _repeat_until_success_or_timeout 20 sh -c "docker logs mail | grep 'Quota exceeded (mailbox for user is full)'"
|
run _repeat_until_success_or_timeout 20 sh -c "docker logs ${CONTAINER_NAME} | grep 'Quota exceeded (mailbox for user is full)'"
|
||||||
assert_success
|
assert_success
|
||||||
|
|
||||||
# ensure only the first big message and the warn message are present (other messages are rejected: mailbox is full)
|
# ensure only the first big message and the warn message are present (other messages are rejected: mailbox is full)
|
||||||
|
@ -221,6 +224,6 @@ function teardown_file() { _default_teardown ; }
|
||||||
assert_output "2"
|
assert_output "2"
|
||||||
|
|
||||||
# Cleanup
|
# Cleanup
|
||||||
_run_in_container_bash "setup email del -y quotauser@otherdomain.tld"
|
_run_in_container setup email del -y quotauser@otherdomain.tld
|
||||||
assert_success
|
assert_success
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue