Skip to content
Snippets Groups Projects

Remailer support

Merged Julian requested to merge remailer into master

Files

+ 31
2
@@ -60,14 +60,18 @@ class MockConnection:
pass
class UffdAPIMock:
def __init__(self, aliases=None):
def __init__(self, aliases=None, remailer_map=None):
self.aliases = aliases or {}
self.remailer_map = remailer_map or {}
def get_aliases(self, mail_address):
return self.aliases.get(mail_address, [])
def resolve_remailer(self, orig_address):
return self.remailer_map.get(orig_address, None)
class TestSocketmapsRequestHandler(unittest.TestCase):
def test_handle(self):
def test_handle_virtual(self):
api = UffdAPIMock(aliases={
'test@example.com': ['test-dest@example.com'],
'space test@example.com': ['space test dest@example.com'],
@@ -136,3 +140,28 @@ class TestSocketmapsRequestHandler(unittest.TestCase):
conn = MockConnection(request, 4096)
RequestHandler(conn, '', None).handle()
self.assertIn(b'PERM ', conn.sent)
def test_handle_remailer(self):
api = UffdAPIMock(remailer_map={
'v1-23-testuser@remailer.example.com': 'testuser@example.com',
'v1-23-testadmin@remailer.example.com': 'testadmin@example.com',
})
RequestHandler = make_requesthandler(api)
request = b'54:remailer_canonical v1-23-testuser@remailer.example.com,'
response = b'23:OK testuser@example.com,'
conn = MockConnection(request, 4096)
RequestHandler(conn, '', None).handle()
self.assertEqual(conn.sent, response)
request = b'56:remailer_canonical v1-42-not-a-user@remailer.example.com,'
response = b'9:NOTFOUND ,'
conn = MockConnection(request, 4096)
RequestHandler(conn, '', None).handle()
self.assertEqual(conn.sent, response)
request = b'35:remailer_canonical test@example.com,'
response = b'9:NOTFOUND ,'
conn = MockConnection(request, 4096)
RequestHandler(conn, '', None).handle()
self.assertEqual(conn.sent, response)
Loading