Beispiel #1
0
    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)