def test_two_reminder(self, mail_mock): """ Test the cron job for a meeting with a single reminder to send. """ mail_mock.return_value = None # Meeting with a reminder remobj = model.Reminder( 'H-12', '[email protected]', '[email protected],[email protected]', 'Come to our test meeting') remobj.save(self.session) self.session.flush() date_sa = datetime.utcnow() + timedelta(hours=12) date_so = datetime.utcnow() + timedelta(hours=13) obj = model.Meeting( # id:1 meeting_name='Test meeting with reminder', meeting_date=date_sa.date(), meeting_date_end=date_so.date(), meeting_time_start=date_sa.time(), meeting_time_stop=date_so.time(), meeting_information='This is a test meeting with reminder', calendar_name='test_calendar', reminder_id=remobj.reminder_id) obj.add_manager(self.session, ['pingou']) obj.save(self.session) self.session.commit() self.assertNotEqual(obj, None) msgs = fedocal_cron.send_reminder() self.assertEqual(len(msgs), 1) self.assertEqual(msgs[0]['To'], '[email protected], [email protected]') self.assertEqual(msgs[0]['From'], '[email protected]')
def test_no_reminder(self): """ Test the cron job for run with no reminders. """ # Meeting with a reminder but outside the standard offsets remobj = model.Reminder( 'H-12', '*****@*****.**', 'root@localhost', 'Come to our test meeting') remobj.save(self.session) self.session.flush() date_sa = datetime.utcnow() + timedelta(hours=15) date_so = datetime.utcnow() + timedelta(hours=16) obj = model.Meeting( # id:1 meeting_name='Test meeting with reminder', meeting_date=date_sa.date(), meeting_date_end=date_so.date(), meeting_time_start=date_sa.time(), meeting_time_stop=date_so.time(), meeting_information='This is a test meeting with reminder', calendar_name='test_calendar', reminder_id=remobj.reminder_id) obj.add_manager(self.session, ['pingou']) obj.save(self.session) self.session.commit() self.assertNotEqual(obj, None) msgs = fedocal_cron.send_reminder() self.assertEqual(len(msgs), 0)
def test_no_reminder(self): """ Test the cron job for run with no reminders. """ # Meeting with a reminder but outside the standard offsets remobj = model.Reminder('H-12', '*****@*****.**', 'root@localhost', 'Come to our test meeting') remobj.save(self.session) self.session.flush() date_sa = datetime.utcnow() + timedelta(hours=15) date_so = datetime.utcnow() + timedelta(hours=16) obj = model.Meeting( # id:1 meeting_name='Test meeting with reminder', meeting_date=date_sa.date(), meeting_date_end=date_so.date(), meeting_time_start=date_sa.time(), meeting_time_stop=date_so.time(), meeting_information='This is a test meeting with reminder', calendar_name='test_calendar', reminder_id=remobj.reminder_id) obj.add_manager(self.session, ['pingou']) obj.save(self.session) self.session.commit() self.assertNotEqual(obj, None) msgs = fedocal_cron.send_reminder() self.assertEqual(len(msgs), 0)
def test_two_reminder(self, mail_mock): """ Test the cron job for a meeting with a single reminder to send. """ mail_mock.return_value = None # Meeting with a reminder remobj = model.Reminder('H-12', '[email protected]', '[email protected],[email protected]', 'Come to our test meeting') remobj.save(self.session) self.session.flush() date_sa = datetime.utcnow() + timedelta(hours=12) date_so = datetime.utcnow() + timedelta(hours=13) obj = model.Meeting( # id:1 meeting_name='Test meeting with reminder', meeting_date=date_sa.date(), meeting_date_end=date_so.date(), meeting_time_start=date_sa.time(), meeting_time_stop=date_so.time(), meeting_information='This is a test meeting with reminder', calendar_name='test_calendar', reminder_id=remobj.reminder_id) obj.add_manager(self.session, ['pingou']) obj.save(self.session) self.session.commit() self.assertNotEqual(obj, None) msgs = fedocal_cron.send_reminder() self.assertEqual(len(msgs), 1) self.assertEqual(msgs[0]['To'], '[email protected], [email protected]') self.assertEqual(msgs[0]['From'], '[email protected]')
def test_two_reminder(self, smtp_mock, mail_mock): """ Test the cron job for a meeting with a single reminder to send. """ smtp_mock.return_value = FakeSMTP() mail_mock.return_value = None # Meeting with a reminder remobj = model.Reminder('H-12', '[email protected]', '[email protected],[email protected]', 'Come to our test meeting') remobj.save(self.session) self.session.flush() date_sa = datetime.utcnow() + timedelta(hours=12) date_so = datetime.utcnow() + timedelta(hours=13) obj = model.Meeting( # id:1 meeting_name='Test meeting with reminder', meeting_date=date_sa.date(), meeting_date_end=date_so.date(), meeting_time_start=date_sa.time(), meeting_time_stop=date_so.time(), meeting_information='This is a test meeting with reminder', calendar_name='test_calendar', reminder_id=remobj.reminder_id) obj.save(self.session) obj.add_manager(self.session, ['pingou']) self.session.commit() self.assertNotEqual(obj, None) with testing.mock_sends( api.Message(topic="fedocal.reminder", body={ 'meeting': { 'meeting_id': 1, 'meeting_name': 'Test meeting with reminder', 'meeting_manager': ['pingou'], 'meeting_date': ANY, 'meeting_date_end': ANY, 'meeting_time_start': ANY, 'meeting_time_stop': ANY, 'meeting_timezone': 'UTC', 'meeting_information': 'This is a test meeting with reminder', 'meeting_location': None, 'calendar_name': 'test_calendar' }, 'calendar': { 'calendar_name': 'test_calendar', 'calendar_contact': '*****@*****.**', 'calendar_description': 'This is a test calendar', 'calendar_editor_group': 'fi-apprentice', 'calendar_admin_group': 'infrastructure-main2', 'calendar_status': 'Enabled' } })): msgs = fedocal_cron.send_reminder() self.assertEqual(len(msgs), 1) self.assertEqual(msgs[0]['To'], '[email protected], [email protected]') self.assertEqual(msgs[0]['From'], '[email protected]')