Initial commit.
This commit is contained in:
138
mail/spamassassin/pyzor-0.7.0/tests/functional/test_account.py
Normal file
138
mail/spamassassin/pyzor-0.7.0/tests/functional/test_account.py
Normal file
@@ -0,0 +1,138 @@
|
||||
import unittest
|
||||
|
||||
from tests.util import *
|
||||
|
||||
class AccountPyzorTest(PyzorTestBase):
|
||||
|
||||
# test bob which has access to everything
|
||||
def test_ping(self):
|
||||
self.check_pyzor("ping", "bob", code=200, exit_code=0)
|
||||
|
||||
def test_pong(self):
|
||||
self.check_pyzor("pong", "bob", input=msg, code=200, exit_code=0)
|
||||
|
||||
def test_check(self):
|
||||
self.check_pyzor("check", "bob", input=msg, code=200)
|
||||
|
||||
def test_report(self):
|
||||
self.check_pyzor("report", "bob", input=msg, code=200, exit_code=0)
|
||||
|
||||
def test_whitelist(self):
|
||||
self.check_pyzor("whitelist", "bob", input=msg, code=200, exit_code=0)
|
||||
|
||||
def test_info(self):
|
||||
self.check_pyzor("info", "bob", input=msg, code=200, exit_code=0)
|
||||
|
||||
# test alice which does not has access to anything
|
||||
# Error should be 403 Forbidden
|
||||
def test_ping_forbidden(self):
|
||||
self.check_pyzor("ping", "alice", code=403, exit_code=1)
|
||||
|
||||
def test_pong_forbidden(self):
|
||||
self.check_pyzor("pong", "alice", input=msg, code=403, exit_code=1)
|
||||
|
||||
def test_check_forbidden(self):
|
||||
self.check_pyzor("check", "alice", input=msg, code=403, exit_code=1)
|
||||
|
||||
def test_report_forbidden(self):
|
||||
self.check_pyzor("report", "alice", input=msg, code=403, exit_code=1)
|
||||
|
||||
def test_whitelist_forbidden(self):
|
||||
self.check_pyzor("whitelist", "alice", input=msg, code=403, exit_code=1)
|
||||
|
||||
def test_info_forbidden(self):
|
||||
self.check_pyzor("info", "alice", input=msg, code=403, exit_code=1)
|
||||
|
||||
# test chuck which does tries to steal bob's account but has the wrong key
|
||||
# Error should be 401 Unauthorized
|
||||
def test_ping_unauthorized(self):
|
||||
self.check_pyzor("ping", "chuck", code=401, exit_code=1)
|
||||
|
||||
def test_pong_unauthorized(self):
|
||||
self.check_pyzor("pong", "chuck", input=msg, code=401, exit_code=1)
|
||||
|
||||
def test_check_unauthorized(self):
|
||||
self.check_pyzor("check", "chuck", input=msg, code=401, exit_code=1)
|
||||
|
||||
def test_report_unauthorized(self):
|
||||
self.check_pyzor("report", "chuck", input=msg, code=401, exit_code=1)
|
||||
|
||||
def test_whitelist_unauthorized(self):
|
||||
self.check_pyzor("whitelist", "chuck", input=msg, code=401, exit_code=1)
|
||||
|
||||
def test_info_unauthorized(self):
|
||||
self.check_pyzor("info", "chuck", input=msg, code=401, exit_code=1)
|
||||
|
||||
# test dan account, which has some access
|
||||
def test_ping_combo(self):
|
||||
self.check_pyzor("ping", "dan", code=200, exit_code=0)
|
||||
|
||||
def test_pong_combo(self):
|
||||
self.check_pyzor("pong", "dan", input=msg, code=403, exit_code=1)
|
||||
|
||||
def test_check_combo(self):
|
||||
self.check_pyzor("check", "dan", input=msg, code=200)
|
||||
|
||||
def test_report_combo(self):
|
||||
self.check_pyzor("report", "dan", input=msg, code=200, exit_code=0)
|
||||
|
||||
def test_whitelist_combo(self):
|
||||
self.check_pyzor("whitelist", "dan", input=msg, code=403, exit_code=1)
|
||||
|
||||
def test_info_combo(self):
|
||||
self.check_pyzor("info", "dan", input=msg, code=403, exit_code=1)
|
||||
|
||||
# test anonymous account, which should is not currently set up in the server
|
||||
def test_ping_anonymous(self):
|
||||
self.check_pyzor("ping", None, code=403, exit_code=1)
|
||||
|
||||
def test_pong_anonymous(self):
|
||||
self.check_pyzor("pong", None, input=msg, code=403, exit_code=1)
|
||||
|
||||
def test_check_anonymous(self):
|
||||
self.check_pyzor("check", None, input=msg, code=403, exit_code=1)
|
||||
|
||||
def test_report_anonymous(self):
|
||||
self.check_pyzor("report", None, input=msg, code=403, exit_code=1)
|
||||
|
||||
def test_whitelist_anonymous(self):
|
||||
self.check_pyzor("whitelist", None, input=msg, code=403, exit_code=1)
|
||||
|
||||
def test_info_anonymous(self):
|
||||
self.check_pyzor("info", None, input=msg, code=403, exit_code=1)
|
||||
|
||||
class AnonymousPyzorTest(PyzorTestBase):
|
||||
"""Test accounts with no access or password file set-up. And test
|
||||
anonymous default access.
|
||||
"""
|
||||
access_file = None
|
||||
password_file = None
|
||||
def test_ping(self):
|
||||
self.check_pyzor("ping", None, code=200, exit_code=0)
|
||||
|
||||
def test_pong(self):
|
||||
self.check_pyzor("pong", None, input=msg, code=200, exit_code=0)
|
||||
|
||||
def test_check(self):
|
||||
self.check_pyzor("check", None, input=msg, code=200)
|
||||
|
||||
def test_report(self):
|
||||
self.check_pyzor("report", None, input=msg, code=200, exit_code=0)
|
||||
|
||||
def test_whitelist(self):
|
||||
# anonymous account are not allowed to whitelist by default
|
||||
self.check_pyzor("whitelist", None, input=msg, code=403, exit_code=1)
|
||||
|
||||
def test_info(self):
|
||||
self.check_pyzor("info", None, input=msg, code=200, exit_code=0)
|
||||
|
||||
def suite():
|
||||
"""Gather all the tests from this module in a test suite."""
|
||||
test_suite = unittest.TestSuite()
|
||||
test_suite.addTest(unittest.makeSuite(AccountPyzorTest))
|
||||
test_suite.addTest(unittest.makeSuite(AnonymousPyzorTest))
|
||||
return test_suite
|
||||
|
||||
if __name__ == '__main__':
|
||||
unittest.main()
|
||||
|
||||
Reference in New Issue
Block a user