from ftw.builder import Builder from ftw.builder import create from ftw.mail.emailaddress import UUIDEmailAddress from ftw.mail.interfaces import IEmailAddress from ftw.mail.testing import FTW_MAIL_FUNCTIONAL_TESTING from plone.app.testing import TEST_USER_ID from plone.app.testing import setRoles from plone.uuid.interfaces import IUUID from unittest2 import TestCase from zope.interface.verify import verifyClass from zope.publisher.browser import TestRequest class TestUUIDResolver(TestCase): layer = FTW_MAIL_FUNCTIONAL_TESTING def setUp(self): self.portal = self.layer.get('portal') setRoles(self.portal, TEST_USER_ID, ['Manager', 'Member']) self.subfolder = create(Builder('folder')) self.request = TestRequest() self.emailaddress = IEmailAddress(self.request) def test_verify_adapter(self): verifyClass(IEmailAddress, UUIDEmailAddress) def test_get_object_for_email(self): email = "%s@example.org" % IUUID(self.subfolder) self.assertEquals(self.subfolder, self.emailaddress.get_object_for_email(email)) def test_get_email_for_object(self): email = "%s@example.org" % IUUID(self.subfolder) self.assertEquals( email, self.emailaddress.get_email_for_object(self.subfolder)) def test_get_email_for_object_with_different_domain(self): email = "%s@otherdomain.org" % IUUID(self.subfolder) self.assertEquals( email, self.emailaddress.get_email_for_object(self.subfolder, 'otherdomain.org'))