checkIsAfterEvent takes logic as argument instead of hard coded program logic.
checkIsAfterEvent access checker uses hard coded core program_logic. Instead
it now takes the program logic as an argument to accommodate GHOPProgram
logic.
import sys, time, osfrom django.conf import settingsfrom django.db import connectionfrom django.core import mailfrom django.test import signalsfrom django.template import Templatefrom django.utils.translation import deactivatedef instrumented_test_render(self, context): """ An instrumented Template render method, providing a signal that can be intercepted by the test system Client """ signals.template_rendered.send(sender=self, template=self, context=context) return self.nodelist.render(context)class TestSMTPConnection(object): """A substitute SMTP connection for use during test sessions. The test connection stores email messages in a dummy outbox, rather than sending them out on the wire. """ def __init__(*args, **kwargs): pass def open(self): "Mock the SMTPConnection open() interface" pass def close(self): "Mock the SMTPConnection close() interface" pass def send_messages(self, messages): "Redirect messages to the dummy outbox" mail.outbox.extend(messages) return len(messages)def setup_test_environment(): """Perform any global pre-test setup. This involves: - Installing the instrumented test renderer - Diverting the email sending functions to a test buffer - Setting the active locale to match the LANGUAGE_CODE setting. """ Template.original_render = Template.render Template.render = instrumented_test_render mail.original_SMTPConnection = mail.SMTPConnection mail.SMTPConnection = TestSMTPConnection mail.outbox = [] deactivate()def teardown_test_environment(): """Perform any global post-test teardown. This involves: - Restoring the original test renderer - Restoring the email sending functions """ Template.render = Template.original_render del Template.original_render mail.SMTPConnection = mail.original_SMTPConnection del mail.original_SMTPConnection del mail.outbox