delete users from mailboxes_dir

This commit is contained in:
holger krekel
2024-07-10 02:42:33 +02:00
parent ad151c2cc1
commit 4dbb19db46
5 changed files with 80 additions and 57 deletions

View File

@@ -1,19 +1,37 @@
import time
from chatmaild.delete_inactive_users import delete_inactive_users
from chatmaild.delete_inactive_users import (
delete_inactive_users,
get_last_login_from_userdir,
write_last_login_to_userdir,
)
from chatmaild.doveauth import lookup_passdb
def test_remove_stale_users(db, example_config):
def test_login_timestamps(tmp_path):
userdir = tmp_path.joinpath("someuser")
userdir.mkdir()
write_last_login_to_userdir(userdir, timestamp=100000)
assert get_last_login_from_userdir(userdir) == 86400
write_last_login_to_userdir(userdir, timestamp=200000)
assert get_last_login_from_userdir(userdir) == 86400 * 2
write_last_login_to_userdir(userdir, timestamp=200000)
assert get_last_login_from_userdir(userdir) == 86400 * 2
def test_delete_inactive_users(db, example_config):
new = time.time()
old = new - (example_config.delete_inactive_users_after * 86400) - 1
def create_user(addr, last_login):
lookup_passdb(db, example_config, addr, "q9mr3faue", last_login=last_login)
lookup_passdb(db, example_config, addr, "q9mr3faue")
md = example_config.get_user_maildir(addr)
md.mkdir(parents=True)
md.joinpath("cur").mkdir()
md.joinpath("cur", "something").mkdir()
write_last_login_to_userdir(md, timestamp=last_login)
# create some stale and some new accounts
to_remove = []