async def test_facebook_message_handler_invalid(self):
        """Test the new facebook message handler for invalid message."""
        import aiohttp
        connector = ConnectorFacebook({})
        req_ob = {
            "object":
            "page",
            "entry": [{
                "messaging": [{
                    "message": {
                        "text": "Hello"
                    },
                    "sender": {}
                }]
            }]
        }
        mock_request = amock.CoroutineMock()
        mock_request.json = amock.CoroutineMock()
        mock_request.json.return_value = req_ob

        with OpsDroid() as opsdroid,  \
                amock.patch('opsdroid.connector.facebook._LOGGER.error') \
                        as logmock:
            connector.opsdroid = opsdroid
            connector.opsdroid.parse = amock.CoroutineMock()

            response = await connector.facebook_message_handler(mock_request)
            self.assertFalse(connector.opsdroid.parse.called)
            self.assertTrue(logmock.called)
            self.assertEqual(type(response), aiohttp.web.Response)
            self.assertEqual(response.status, 200)
    async def test_facebook_message_handler(self):
        """Test the new facebook message handler."""
        import aiohttp
        connector = ConnectorFacebook({})
        req_ob = {
            "object":
            "page",
            "entry": [{
                "messaging": [{
                    "message": {
                        "text": "Hello"
                    },
                    "sender": {
                        "id": '1234567890'
                    }
                }]
            }]
        }
        mock_request = amock.CoroutineMock()
        mock_request.json = amock.CoroutineMock()
        mock_request.json.return_value = req_ob

        with OpsDroid() as opsdroid:
            connector.opsdroid = opsdroid
            connector.opsdroid.parse = amock.CoroutineMock()

            response = await connector.facebook_message_handler(mock_request)
            self.assertTrue(connector.opsdroid.parse.called)
            self.assertEqual(type(response), aiohttp.web.Response)
            self.assertEqual(response.status, 200)
Example #3
0
async def test_facebook_message_handler_invalid(opsdroid, caplog):
    """Test the new facebook message handler for invalid message."""
    import aiohttp

    connector = ConnectorFacebook({}, opsdroid=opsdroid)
    req_ob = {
        "object": "page",
        "entry": [{
            "messaging": [{
                "message": {
                    "text": "Hello"
                },
                "sender": {}
            }]
        }],
    }
    mock_request = amock.CoroutineMock()
    mock_request.json = amock.CoroutineMock()
    mock_request.json.return_value = req_ob

    connector.opsdroid = opsdroid
    connector.opsdroid.parse = amock.CoroutineMock()

    response = await connector.facebook_message_handler(mock_request)
    assert not connector.opsdroid.parse.called
    assert "Unable to process message." in caplog.text
    assert isinstance(response, aiohttp.web.Response)
    assert response.status == 200
    async def test_facebook_message_handler_invalid(self):
        """Test the new facebook message handler for invalid message."""
        import aiohttp
        opsdroid = amock.CoroutineMock()
        connector = ConnectorFacebook({}, opsdroid=opsdroid)
        req_ob = {
            "object": "page",
            "entry": [{
                "messaging": [{
                    "message": {"text": "Hello"},
                    "sender": {}
                }]
            }]
        }
        mock_request = amock.CoroutineMock()
        mock_request.json = amock.CoroutineMock()
        mock_request.json.return_value = req_ob

        with OpsDroid() as opsdroid:
            connector.opsdroid = opsdroid
            connector.opsdroid.parse = amock.CoroutineMock()

            response = await connector.facebook_message_handler(mock_request)
            self.assertFalse(connector.opsdroid.parse.called)
            self.assertLogs('_LOGGER', 'error')
            self.assertEqual(type(response), aiohttp.web.Response)
            self.assertEqual(response.status, 200)
Example #5
0
async def test_facebook_message_handler(opsdroid):
    """Test the new facebook message handler."""
    import aiohttp

    connector = ConnectorFacebook({}, opsdroid=opsdroid)
    req_ob = {
        "object":
        "page",
        "entry": [{
            "messaging": [{
                "message": {
                    "text": "Hello"
                },
                "sender": {
                    "id": "1234567890"
                }
            }]
        }],
    }
    mock_request = amock.CoroutineMock()
    mock_request.json = amock.CoroutineMock()
    mock_request.json.return_value = req_ob

    connector.opsdroid = opsdroid
    connector.opsdroid.parse = amock.CoroutineMock()

    response = await connector.facebook_message_handler(mock_request)
    assert connector.opsdroid.parse.called
    assert isinstance(response, aiohttp.web.Response)
    assert response.status == 200