mirror of
https://github.com/chatmail/relay.git
synced 2026-05-10 16:04:37 +00:00
37 lines
1.2 KiB
Python
37 lines
1.2 KiB
Python
import pytest
|
|
|
|
|
|
def test_login_basic_functioning(imap_or_smtp, gencreds, lp):
|
|
"""Test a) that an initial login creates a user automatically
|
|
and b) verify we can also login a second time with the same password
|
|
and c) that using a different password fails the login."""
|
|
user, password = gencreds()
|
|
lp.sec(f"login first time with {user} {password}")
|
|
imap_or_smtp.connect()
|
|
imap_or_smtp.login(user, password)
|
|
lp.indent("success")
|
|
|
|
lp.sec(f"reconnect and login second time {user} {password}")
|
|
imap_or_smtp.connect()
|
|
imap_or_smtp.login(user, password)
|
|
imap_or_smtp.connect()
|
|
lp.sec("success")
|
|
|
|
lp.sec(f"reconnect and verify wrong password fails {user} ")
|
|
imap_or_smtp.connect()
|
|
with pytest.raises(imap_or_smtp.AuthError):
|
|
imap_or_smtp.login(user, password + "wrong")
|
|
|
|
|
|
def test_login_same_password(imap_or_smtp, gencreds):
|
|
"""Test two different users logging in with the same password
|
|
to ensure that authentication process does not confuse the users
|
|
by using only the password hash as a key.
|
|
"""
|
|
user1, password1 = gencreds()
|
|
user2, _ = gencreds()
|
|
imap_or_smtp.connect()
|
|
imap_or_smtp.login(user1, password1)
|
|
imap_or_smtp.connect()
|
|
imap_or_smtp.login(user2, password1)
|