def post(self): from sosbeacon.event.message import create_marker_user from sosbeacon.event.event import EVENT_STATUS_CLOSED event_urlsafe = self.request.get('event') user_urlsafe = self.request.get('user') message_urlsafe = self.request.get('message') if not event_urlsafe: logging.error('No event key given.') return # TODO: Use event id rather than key here for namespacing purposes? event_key = ndb.Key(urlsafe=event_urlsafe) event = event_key.get() if not event: logging.error('Event %s not found!', event_key) error = 'Event %s not found!' % event_key create_error_log(error, 'ERR') return if event.status == EVENT_STATUS_CLOSED: logging.error('Event %s closed!', event_key) error = 'Event %s not found!' % event_key create_error_log(error, 'ERR') return user_key = ndb.Key(urlsafe = user_urlsafe) user = user_key.get() if not user: logging.error('User %s not found!', user_key) error = 'User %s not found!' % user_key create_error_log(error, 'ERR') return message_key = ndb.Key(urlsafe = message_urlsafe) message = message_key.get() if not message: logging.error('Message %s not found!', message_key) error = 'Message %s not found!' % message_key create_error_log(error, 'ERR') return create_marker_user(event_key, message_key, user_key)
def test_message_type_is_call(self, put_mock, insert_tasks_mock): """Ensure the method create the contact marker default with message type is email call""" from sosbeacon.event.message import create_marker_user event_key = self.event.key message_key = Mock() message_key.urlsafe.return_value = "MESSAGE" message_key.get.return_value.message_type = "ec" user_key = Mock() user_key.urlsafe.return_value = "USER" user_key.get.return_value.name = "longly" user_key.get.return_value.email = "*****@*****.**" user_key.get.return_value.phone = "84973796065" create_marker_user(event_key, message_key, user_key) self.assertEqual(1, put_mock.call_count) self.assertEqual(1, insert_tasks_mock.call_count)