def test_it(self): karltesting.registerSettings() gf = self._callFUT() self.assertEqual(gf, [ ('group.KarlAdmin', 'KarlAdmin'), ('group.KarlLovers', 'KarlLovers') ])
def setUp(self): from zope.interface import directlyProvides from karl.content.interfaces import ICommunityFile config = cleanUp() config.setup_registry() # this is not a unit test karltesting.registerSettings() # Create dummy site skel community = karltesting.DummyCommunity() site = community.__parent__.__parent__ profiles = testing.DummyModel() site["profiles"] = profiles self.profile = profiles["member"] = karltesting.DummyProfile() profiles["creator"] = karltesting.DummyProfile() community["files"] = testing.DummyModel() f = testing.DummyModel(text="This is a test", description="Some description") community["files"]["file"] = f f.title = "An interesting file" f.docid = 0 directlyProvides(f, ICommunityFile) self.f = f f.creator = "creator"
def setUp(self): cleanUp() from zope.interface import directlyProvides from karl.content.interfaces import IBlogEntry karltesting.registerSettings() # Create dummy site skel community = karltesting.DummyCommunity() site = community.__parent__.__parent__ profiles = testing.DummyModel() site["profiles"] = profiles self.profile = profiles["member"] = karltesting.DummyProfile() profiles["creator"] = karltesting.DummyProfile() community["blog"] = testing.DummyModel() blogentry = testing.DummyModel(text="This is a test") community["blog"]["blogentry"] = blogentry blogentry["attachments"] = testing.DummyModel() blogentry.title = "Blog Entry" blogentry.docid = 0 directlyProvides(blogentry, IBlogEntry) self.blogentry = blogentry blogentry["comments"] = comments = testing.DummyModel() self.comment = self._add_comment(blogentry)
def setUp(self): from zope.interface import directlyProvides from karl.content.interfaces import IBlogEntry config = cleanUp() config.setup_registry() # this is not a unit test karltesting.registerSettings() # Create dummy site skel self.community = community = karltesting.DummyCommunity() site = community.__parent__.__parent__ profiles = testing.DummyModel() site["profiles"] = profiles self.profile = profiles["member"] = karltesting.DummyProfile() profiles["creator"] = karltesting.DummyProfile() community["blog"] = testing.DummyModel() blogentry = testing.DummyModel(text="This is a test") community["blog"]["blogentry"] = blogentry blogentry["attachments"] = testing.DummyModel() blogentry.title = "Blog Entry" blogentry.docid = 0 directlyProvides(blogentry, IBlogEntry) self.blogentry = blogentry blogentry.creator = "creator"
def test___call___no_parent(self): from repoze.bfg.testing import DummyModel from karl.testing import registerSettings registerSettings() context = DummyModel() url = self._makeOne(context) self.assertEqual(url(), 'http://offline.example.com/app/')
def setUp(self): import datetime from zope.interface import directlyProvides from karl.content.interfaces import IBlogEntry cleanUp() karltesting.registerSettings() # Create dummy site skel community = karltesting.DummyCommunity() site = community.__parent__.__parent__ profiles = testing.DummyModel() site["profiles"] = profiles self.profile = profiles["member"] = karltesting.DummyProfile() profiles["creator"] = karltesting.DummyProfile() community["blog"] = testing.DummyModel() blogentry = testing.DummyModel(text="This is a test") blogentry.created = datetime.datetime(2010, 5, 12, 2, 42) blogentry.creator = 'member' community["blog"]["blogentry"] = blogentry blogentry["attachments"] = testing.DummyModel() blogentry.title = "Blog Entry" blogentry.docid = 0 directlyProvides(blogentry, IBlogEntry) self.blogentry = blogentry blogentry["comments"] = testing.DummyModel() self.comment = self._add_comment(blogentry)
def setUp(self): cleanUp() from zope.interface import directlyProvides from karl.content.interfaces import ICommunityFile karltesting.registerSettings() # Create dummy site skel community = karltesting.DummyCommunity() site = community.__parent__.__parent__ profiles = testing.DummyModel() site["profiles"] = profiles self.profile = profiles["member"] = karltesting.DummyProfile() profiles["creator"] = karltesting.DummyProfile() community["files"] = testing.DummyModel() f = testing.DummyModel( text="This is a test", description="Some description") community["files"]["file"] = f f.title = "An interesting file" f.docid = 0 directlyProvides(f, ICommunityFile) self.f = f f.creator = "creator"
def test___call___no_parent(self): from pyramid.testing import DummyModel from karl.testing import registerSettings registerSettings() context = DummyModel() url = self._makeOne(context) self.assertEqual(url(), 'http://offline.example.com/app/')
def test___call___w_parent(self): from pyramid.testing import DummyModel from karl.testing import registerSettings registerSettings() root = self._makeRoot() context = root['foo'] = DummyModel() url = self._makeOne(context) self.assertEqual(url(), 'http://offline.example.com/app/foo')
def test___call___w_parent_chain(self): from pyramid.testing import DummyModel from karl.testing import registerSettings registerSettings() root = self._makeRoot() foo = root['foo'] = DummyModel() context = foo['bar'] = DummyModel() url = self._makeOne(context) self.assertEqual(url(), 'http://offline.example.com/app/foo/bar')
def setUp(self): self._cleanUp() from karl.utilities.interfaces import IAlerts from repoze.bfg.testing import registerUtility self.alerts = DummyAlerts() registerUtility(self.alerts, IAlerts) from karl.testing import registerSettings registerSettings()
def test___call___w_parent_chain(self): from repoze.bfg.testing import DummyModel from karl.testing import registerSettings registerSettings() parent = DummyModel() foo = parent['foo'] = DummyModel() context = foo['bar'] = DummyModel() url = self._makeOne(context) self.assertEqual(url(), 'http://offline.example.com/app/foo/bar')
def test_handle_submit(self): from karl.testing import registerSettings registerSettings() context = self.blog self.site.system_email_domain = 'example.com' tags = DummyTags() self.site.tags = tags from karl.testing import DummyCatalog self.site.catalog = DummyCatalog() self.site.sessions = DummySessions() from karl.testing import DummyUpload attachment1 = DummyUpload(filename="test1.txt") attachment2 = DummyUpload(filename=r"C:\My Documents\Ha Ha\test2.txt") converted = { 'title':'foo', 'text':'text', 'tags':['tag1', 'tag2'], 'sendalert':True, 'security_state':'public', 'attachments':[attachment1, attachment2], } self._register() from karl.content.interfaces import IBlogEntry from karl.content.interfaces import ICommunityFile from repoze.lemonade.testing import registerContentFactory registerContentFactory(DummyBlogEntry, IBlogEntry) registerContentFactory(DummyFile, ICommunityFile) request = self._makeRequest() controller = self._makeOne(context, request) response = controller.handle_submit(converted) self.assertEqual(response.location, 'http://example.com/communities/community/blog/foo/') self.assertEqual(3, len(self.mailer)) for x in self.mailer: self.assertEqual(x.mfrom, '*****@*****.**') recipients = reduce(lambda x,y: x+y, [x.mto for x in self.mailer]) recipients.sort() self.assertEqual(["*****@*****.**", "*****@*****.**", "*****@*****.**",], recipients) blogentry_url = "http://example.com/communities/community/blog/foo/" attachments_url = "%sattachments" % blogentry_url self.failUnless(context['foo']['attachments']['test1.txt']) self.failUnless(context['foo']['attachments']['test2.txt']) from base64 import decodestring body = self.mailer[0].msg.get_payload(decode=True) self.failUnless("%s/test1.txt" % attachments_url in body) self.failUnless("%s/test2.txt" % attachments_url in body) attachment1 = context['foo']['attachments']['test1.txt'] self.assertEqual(attachment1.filename, "test1.txt") attachment2 = context['foo']['attachments']['test2.txt'] self.assertEqual(attachment2.filename, "test2.txt")
def setUp(self): cleanUp() sessions = self.sessions = DummySessions() context = testing.DummyModel(sessions=sessions) context.title = 'profiles' self.context = context request = testing.DummyRequest() request.environ['repoze.browserid'] = '1' self.request = request karltesting.registerSettings()
def test_handle_submit(self): from karl.testing import registerSettings registerSettings() context = self.blog self.site.system_email_domain = 'example.com' tags = DummyTags() self.site.tags = tags from karl.testing import DummyCatalog self.site.catalog = DummyCatalog() self.site.sessions = DummySessions() from karl.testing import DummyUpload attachment1 = DummyUpload(filename="test1.txt") attachment2 = DummyUpload(filename=r"C:\My Documents\Ha Ha\test2.txt") converted = { 'title': 'foo', 'text': 'text', 'tags': ['tag1', 'tag2'], 'sendalert': True, 'security_state': 'public', 'attachments': [attachment1, attachment2], } self._register() from karl.content.interfaces import IBlogEntry from karl.content.interfaces import ICommunityFile from repoze.lemonade.testing import registerContentFactory registerContentFactory(DummyBlogEntry, IBlogEntry) registerContentFactory(DummyFile, ICommunityFile) request = self._makeRequest() controller = self._makeOne(context, request) karl.testing.registerDummyRenderer( 'templates/email_blog_entry_alert.pt') response = controller.handle_submit(converted) self.assertEqual(response.location, 'http://example.com/communities/community/blog/foo/') self.assertEqual(3, len(self.mailer)) recipients = reduce(lambda x, y: x + y, [x.mto for x in self.mailer]) recipients.sort() self.assertEqual([ "*****@*****.**", "*****@*****.**", "*****@*****.**", ], recipients) self.failUnless(context['foo']['attachments']['test1.txt']) self.failUnless(context['foo']['attachments']['test2.txt']) body = self.mailer[0].msg.get_payload(decode=True) self.assertEqual(body, '') attachment1 = context['foo']['attachments']['test1.txt'] self.assertEqual(attachment1.filename, "test1.txt") attachment2 = context['foo']['attachments']['test2.txt'] self.assertEqual(attachment2.filename, "test2.txt")
def setUp(self): cleanUp() self.sessions = sessions = DummySessions() context = DummyProfile(sessions=sessions) context.title = 'title' self.context = context request = testing.DummyRequest() request.environ['repoze.browserid'] = '1' self.request = request # this initializes the available groups karltesting.registerSettings()
def setUp(self): testing.cleanUp() from karl.testing import registerSettings registerSettings() site = makeRoot() self.context = site request = testing.DummyRequest() request.environ['repoze.browserid'] = '1' self.request = request karl.testing.registerDummyRenderer( 'karl.views:forms/templates/snippets.pt')
def setUp(self): testing.cleanUp() from karl.testing import registerSettings registerSettings() from karl.models.interfaces import ISite site = testing.DummyModel(sessions=DummySessions()) directlyProvides(site, ISite) self.context = site request = testing.DummyRequest() request.environ['repoze.browserid'] = '1' self.request = request testing.registerDummyRenderer('karl.views:forms/templates/snippets.pt')
def test_handle_submit(self): from karl.testing import registerSettings registerSettings() context = self.blog self.site.system_email_domain = "example.com" tags = DummyTags() self.site.tags = tags from karl.testing import DummyCatalog self.site.catalog = DummyCatalog() self.site.sessions = DummySessions() from karl.testing import DummyUpload attachment1 = DummyUpload(filename="test1.txt") attachment2 = DummyUpload(filename=r"C:\My Documents\Ha Ha\test2.txt") converted = { "title": "foo", "text": "text", "tags": ["tag1", "tag2"], "sendalert": True, "security_state": "public", "attachments": [attachment1, attachment2], } self._register() from karl.content.interfaces import IBlogEntry from karl.content.interfaces import ICommunityFile from repoze.lemonade.testing import registerContentFactory registerContentFactory(DummyBlogEntry, IBlogEntry) registerContentFactory(DummyFile, ICommunityFile) request = self._makeRequest() controller = self._makeOne(context, request) karl.testing.registerDummyRenderer("templates/email_blog_entry_alert.pt") response = controller.handle_submit(converted) self.assertEqual(response.location, "http://example.com/communities/community/blog/foo/") self.assertEqual(3, len(self.mailer)) recipients = reduce(lambda x, y: x + y, [x.mto for x in self.mailer]) recipients.sort() self.assertEqual(["*****@*****.**", "*****@*****.**", "*****@*****.**"], recipients) self.failUnless(context["foo"]["attachments"]["test1.txt"]) self.failUnless(context["foo"]["attachments"]["test2.txt"]) body = self.mailer[0].msg.get_payload(decode=True) self.assertEqual(body, "") attachment1 = context["foo"]["attachments"]["test1.txt"] self.assertEqual(attachment1.filename, "test1.txt") attachment2 = context["foo"]["attachments"]["test2.txt"] self.assertEqual(attachment2.filename, "test2.txt")
def setUp(self): testing.cleanUp() from karl.testing import registerSettings registerSettings() from karl.models.interfaces import ISite site = testing.DummyModel(sessions=DummySessions()) directlyProvides(site, ISite) self.context = site request = testing.DummyRequest() request.environ['repoze.browserid'] = '1' self.request = request karl.testing.registerDummyRenderer( 'karl.views:forms/templates/snippets.pt')
def test_with_filename_too_big(self): from karl.testing import registerSettings from karl.content.interfaces import ICommunityFile from StringIO import StringIO registerSettings(upload_limit=1) attachments = [ DummyFile(filename='abc', mimetype='text/plain', file=StringIO('abc')) ] folder = testing.DummyModel() from repoze.lemonade.testing import registerContentFactory class BigDummyFile(object): def __init__(self, **kw): self.__dict__.update(kw) self.size = 10000 registerContentFactory(BigDummyFile, ICommunityFile) request = testing.DummyRequest() self.assertRaises(ValueError, self._callFUT, attachments, folder, 'chris', request)
def test_handle_w_inactive_contacts(self): karltesting.registerSettings() md = self._registerMailDelivery() _called_with = self._registerCatalogSearch([0], inactive=True) message = self._makeMessage() root = testing.DummyModel() people = root['people'] = testing.DummyModel() section = people['section'] = testing.DummyModel() report = section['report'] = testing.DummyModel() report['mailinglist'] = testing.DummyModel(short_address='alias') report.getQuery = lambda: {'testing': True} adapter = self._makeOne(report) adapter.handle(message, {'report': 'section+report'}, 'text', ()) self.assertEqual(_called_with, [{'testing': True}]) self.assertEqual(len(md._sent), 0)
def test_handle_w_mailinglist_wo_subdomain(self): karltesting.registerSettings() md = self._registerMailDelivery() _called_with = self._registerCatalogSearch([0, 1]) message = self._makeMessage() root = testing.DummyModel() people = root['people'] = testing.DummyModel() section = people['section'] = testing.DummyModel() report = section['report'] = testing.DummyModel() report['mailinglist'] = testing.DummyModel(short_address='alias') report.getQuery = lambda: {'testing': True} adapter = self._makeOne(report) adapter.handle(message, {'report': 'section+report'}, 'text', ()) self.assertEqual(len(md._sent), 2) for index, (to, sentmessage) in enumerate(md._sent): self.assertEqual(to, ['*****@*****.**' % index]) self.failIf('Message-Id' in sentmessage) self.assertEqual(sentmessage['Reply-To'], '*****@*****.**') self.assertEqual(_called_with, [{'testing': True}])
def setUp(self): import datetime from zope.interface import directlyProvides from karl.content.interfaces import IBlogEntry from karl.models.interfaces import ICommentsFolder cleanUp() karltesting.registerSettings() # Create dummy site skel community = karltesting.DummyCommunity() site = community.__parent__.__parent__ profiles = testing.DummyModel() site["profiles"] = profiles self.profile = profiles["member"] = karltesting.DummyProfile() profiles["creator"] = karltesting.DummyProfile() community["blog"] = testing.DummyModel() community["blog"].__parent__ = community blogentry = testing.DummyModel(text="This is a test") blogentry.created = datetime.datetime(2010, 5, 12, 2, 42) blogentry.creator = 'member' community["blog"]["blogentry"] = blogentry blogentry.__parent__ = community['blog'] blogentry["attachments"] = testing.DummyModel() blogentry["attachments"].__parent__ = blogentry blogentry.title = "Blog Entry" blogentry.docid = 0 directlyProvides(blogentry, IBlogEntry) self.blogentry = blogentry blogentry["comments"] = testing.DummyModel() blogentry["comments"].__parent__ = self.blogentry directlyProvides(blogentry['comments'], ICommentsFolder) self.comment = self._add_comment(blogentry)
def setUp(self): from zope.interface import directlyProvides from karl.content.interfaces import ICalendarEvent config = cleanUp() config.setup_registry() # this is not a unit test karltesting.registerSettings() karltesting.registerKarlDates() # Create dummy site skel community = karltesting.DummyCommunity() site = community.__parent__.__parent__ profiles = testing.DummyModel() site["profiles"] = profiles self.profile = profiles["member"] = karltesting.DummyProfile() profiles["creator"] = karltesting.DummyProfile() community["calendar"] = testing.DummyModel() event = testing.DummyModel( text="This is a test", description="Some description", startDate=datetime(2009, 8, 5, 10, 0), endDate=datetime(2009, 8, 5, 11, 0), attendees=['alice', 'bob'], location='NYC', contact_name='Alice W', contact_email='*****@*****.**', ) community["calendar"]["event"] = event event.title = "An Exciting Event!" event.docid = 0 directlyProvides(event, ICalendarEvent) self.event = event event.creator = "creator"
def test___call___no_parent(self): from karl.testing import registerSettings registerSettings() root = self._makeRoot() url = self._makeOne(root) self.assertEqual(url(), 'http://offline.example.com/app/')
def _registerSettings(self): from karl.testing import registerSettings registerSettings()
def setUp(self): cleanUp() from karl.testing import registerSettings registerSettings()
def setUp(self): cleanUp() karltesting.registerSettings()