예제 #1
0
    def test_can_save_a_trigger(self):
        trigger = Trigger(self.trigger.account, {'name': "Test Trigger"})
        MockAdapter.expected = 1024

        result = trigger.save()

        self.assertIsNone(result)
        self.assertEqual(trigger.account.adapter.called, 1)
        self.assertEqual(trigger.account.adapter.call, ('POST', '/triggers', {
            'name': "Test Trigger"
        }))
        self.assertEqual(1024, trigger['trigger_id'])
예제 #2
0
    def test_can_save_a_trigger(self):
        trigger = Trigger(
            self.trigger.account,
            {'name':u"Test Trigger"}
        )
        MockAdapter.expected = 1024

        result = trigger.save()

        self.assertIsNone(result)
        self.assertEquals(trigger.account.adapter.called, 1)
        self.assertEquals(
            trigger.account.adapter.call,
            (
                'POST',
                '/triggers',
                {
                    'name': u"Test Trigger"
                }))
        self.assertEquals(1024, trigger['trigger_id'])
예제 #3
0
class TriggerTest(unittest.TestCase):
    def setUp(self):
        Account.default_adapter = MockAdapter
        self.trigger = Trigger(
            Account(account_id="100", public_key="xxx", private_key="yyy"), {
                'trigger_id': 200,
                'start_ts':
                datetime.now().strftime(SERIALIZED_DATETIME_FORMAT),
                'deleted_at': None,
                'parent_mailing': {
                    'mailing_type': "m",
                    'send_started': None,
                    'signup_form_id': None,
                    'mailing_id': 1024,
                    'plaintext': "Hello [% member:first_name %]!",
                    'recipient_count': 0,
                    'year': None,
                    'account_id': 100,
                    'month': None,
                    'disabled': False,
                    'parent_mailing_id': None,
                    'started_or_finished': None,
                    'name': "Sample Mailing",
                    'mailing_status': "c",
                    'plaintext_only': False,
                    'sender': "Test Sender",
                    'send_finished': None,
                    'send_at': None,
                    'reply_to': None,
                    'subject': "Parent Mailing",
                    'archived_ts': None,
                    'html_body': "<p>Hello [% member:first_name %]!</p>"
                }
            })

    def test_can_parse_special_fields_correctly(self):
        self.assertIsInstance(self.trigger['start_ts'], datetime)
        self.assertIsInstance(self.trigger['parent_mailing'], Mailing)
        self.assertIsNone(self.trigger.get('deleted_at'))

    def test_can_delete_a_trigger(self):
        del (self.trigger['trigger_id'])

        with self.assertRaises(ex.NoTriggerIdError):
            self.trigger.delete()
        self.assertEqual(self.trigger.account.adapter.called, 0)
        self.assertFalse(self.trigger.is_deleted())

    def test_can_delete_a_trigger2(self):
        self.trigger['deleted_at'] = datetime.now()

        result = self.trigger.delete()

        self.assertIsNone(result)
        self.assertEqual(self.trigger.account.adapter.called, 0)
        self.assertTrue(self.trigger.is_deleted())

    def test_can_delete_a_trigger3(self):
        MockAdapter.expected = True

        result = self.trigger.delete()

        self.assertIsNone(result)
        self.assertEqual(self.trigger.account.adapter.called, 1)
        self.assertEqual(self.trigger.account.adapter.call,
                         ('DELETE', '/triggers/200', {}))
        self.assertTrue(self.trigger.is_deleted())

    def test_can_save_a_trigger(self):
        trigger = Trigger(self.trigger.account, {'name': "Test Trigger"})
        MockAdapter.expected = 1024

        result = trigger.save()

        self.assertIsNone(result)
        self.assertEqual(trigger.account.adapter.called, 1)
        self.assertEqual(trigger.account.adapter.call, ('POST', '/triggers', {
            'name': "Test Trigger"
        }))
        self.assertEqual(1024, trigger['trigger_id'])

    def test_can_save_a_trigger2(self):
        MockAdapter.expected = True

        self.trigger['name'] = "Renamed Trigger"
        result = self.trigger.save()

        self.assertIsNone(result)
        self.assertEqual(self.trigger.account.adapter.called, 1)
        self.assertEqual(self.trigger.account.adapter.call,
                         ('PUT', '/triggers/200', {
                             'name': "Renamed Trigger"
                         }))
예제 #4
0
class TriggerTest(unittest.TestCase):
    def setUp(self):
        Account.default_adapter = MockAdapter
        self.trigger = Trigger(
            Account(account_id="100", public_key="xxx", private_key="yyy"),
            {
                'trigger_id':200,
                'start_ts': datetime.now().strftime(SERIALIZED_DATETIME_FORMAT),
                'deleted_at':None,
                'parent_mailing': {
                    'mailing_type': "m",
                    'send_started': None,
                    'signup_form_id': None,
                    'mailing_id': 1024,
                    'plaintext': "Hello [% member:first_name %]!",
                    'recipient_count': 0,
                    'year': None,
                    'account_id': 100,
                    'month': None,
                    'disabled': False,
                    'parent_mailing_id': None,
                    'started_or_finished': None,
                    'name': "Sample Mailing",
                    'mailing_status': "c",
                    'plaintext_only': False,
                    'sender': "Test Sender",
                    'send_finished': None,
                    'send_at': None,
                    'reply_to': None,
                    'subject': "Parent Mailing",
                    'archived_ts': None,
                    'html_body': "<p>Hello [% member:first_name %]!</p>"
                }
            }
        )

    def test_can_parse_special_fields_correctly(self):
        self.assertIsInstance(self.trigger['start_ts'], datetime)
        self.assertIsInstance(self.trigger['parent_mailing'], Mailing)
        self.assertIsNone(self.trigger.get('deleted_at'))

    def test_can_delete_a_trigger(self):
        del(self.trigger['trigger_id'])

        with self.assertRaises(ex.NoTriggerIdError):
            self.trigger.delete()
        self.assertEquals(self.trigger.account.adapter.called, 0)
        self.assertFalse(self.trigger.is_deleted())

    def test_can_delete_a_trigger2(self):
        self.trigger['deleted_at'] = datetime.now()

        result = self.trigger.delete()

        self.assertIsNone(result)
        self.assertEquals(self.trigger.account.adapter.called, 0)
        self.assertTrue(self.trigger.is_deleted())

    def test_can_delete_a_trigger3(self):
        MockAdapter.expected = True

        result = self.trigger.delete()

        self.assertIsNone(result)
        self.assertEquals(self.trigger.account.adapter.called, 1)
        self.assertEquals(
            self.trigger.account.adapter.call,
            ('DELETE', '/triggers/200', {}))
        self.assertTrue(self.trigger.is_deleted())

    def test_can_save_a_trigger(self):
        trigger = Trigger(
            self.trigger.account,
            {'name':u"Test Trigger"}
        )
        MockAdapter.expected = 1024

        result = trigger.save()

        self.assertIsNone(result)
        self.assertEquals(trigger.account.adapter.called, 1)
        self.assertEquals(
            trigger.account.adapter.call,
            (
                'POST',
                '/triggers',
                {
                    'name': u"Test Trigger"
                }))
        self.assertEquals(1024, trigger['trigger_id'])

    def test_can_save_a_trigger2(self):
        MockAdapter.expected = True

        self.trigger['name'] = u"Renamed Trigger"
        result = self.trigger.save()

        self.assertIsNone(result)
        self.assertEquals(self.trigger.account.adapter.called, 1)
        self.assertEquals(
            self.trigger.account.adapter.call,
            ('PUT', '/triggers/200',  {'name': u"Renamed Trigger"}))