async def test_fetch_with_client_error(self, mocked_post):
     """Test fetching measurement when getting measurements fails."""
     mock_async_get_request = AsyncMock()
     mock_async_get_request.close = Mock()
     mock_async_get_request.json.return_value = self.metrics
     await self.fetch_measurements(
         None, side_effect=[mock_async_get_request, aiohttp.ClientConnectionError("error")]
     )
     mocked_post.assert_called_once_with(
         self.measurement_api_url,
         json=dict(
             sources=[
                 dict(
                     api_url=self.url,
                     landing_url=self.url,
                     value=None,
                     total=None,
                     entities=[],
                     connection_error="error",
                     parse_error=None,
                     source_uuid="source_id",
                 )
             ],
             metric_uuid="metric_uuid",
         ),
     )
    async def test_fetch_with_empty_client_error(self, mocked_post):
        """Test fetching measurement when getting measurements fails with an 'empty' exception.

        This can happen when an exception returns an empty string when converted to string.
        """
        mock_async_get_request = AsyncMock()
        mock_async_get_request.close = Mock()
        mock_async_get_request.json.return_value = self.metrics
        await self.fetch_measurements(None, side_effect=[mock_async_get_request, aiohttp.ClientPayloadError()])
        mocked_post.assert_called_once_with(
            self.measurement_api_url,
            json=dict(
                sources=[
                    dict(
                        api_url=self.url,
                        landing_url=self.url,
                        value=None,
                        total=None,
                        entities=[],
                        connection_error="ClientPayloadError",
                        parse_error=None,
                        source_uuid="source_id",
                    )
                ],
                metric_uuid="metric_uuid",
            ),
        )
def stream_reader_writer_slots_before_units(hass):
    """Create a StreamReader and fill it with connection messages."""
    reader = StreamReader()
    reader.feed_data(
        b"\x1b[H\x1b[2JWelcome to the Folding@home Client command server.\n")
    reader.feed_data(b"OK\n")
    reader.feed_data(b"> \n")
    reader.feed_data(b"> \n")
    reader.feed_data(b"> \n")
    reader.feed_data(b"> \n")
    reader.feed_data(b"PyON 1 slots\n")
    reader.feed_data(
        b'[{"id": "00", "status": "READY", "description": "cpu: 3", "options": {"idle": "false"}, "reason": "", "idle": False}]\n'
    )
    reader.feed_data(b"---\n")
    reader.feed_data(b"> \n")
    reader.feed_data(b"> \n")
    reader.feed_data(b"> \n")
    reader.feed_data(b"> \n")
    reader.feed_data(b"PyON 1 units\n")
    reader.feed_data(b"""[{
        "id": "00",
        "state": "RUNNING",
        "error": "NO_ERROR",
        "project": 11777,
        "run": 0,
        "clone": 17250,
        "gen": 0,
        "core": "0x22",
        "unit": "0x00000003287234c95e774a8488c5d4ea",
        "percentdone": "72.51%",
        "eta": "1 hours 04 mins",
        "ppd": "359072",
        "creditestimate": "58183",
        "waitingon": "",
        "nextattempt": "0.00 secs",
        "timeremaining": "8.08 days",
        "totalframes": 100,
        "framesdone": 72,
        "assigned": "2020-03-28T08: 33: 55Z",
        "timeout": "2020-03-29T08: 33: 55Z",
        "deadline": "2020-04-05T13: 21: 54Z",
        "ws": "40.114.52.201",
        "cs": "13.82.98.119",
        "attempts": 0,
        "slot": "00",
        "tpf": "2 mins 20 secs",
        "basecredit": "9405"
    }
    ]\n""")
    reader.feed_data(b"---\n")
    reader.feed_data(b"> \n")
    reader.feed_data(b"> \n")
    reader.feed_data(b"> \n")
    reader.feed_data(b"> \n")
    reader.feed_eof()
    stream_writer = AsyncMock()
    stream_writer.close = MagicMock()
    return (reader, stream_writer)
Example #4
0
def writer_mock() -> AsyncMock:
    """Cria e prepara um objeto writer mock para os testes."""
    writer = AsyncMock()

    # Um objeto AsyncMock que não é chamado com await, faz com que apareça warning ao rodar os testes
    writer.write = Mock()
    writer.close = Mock()

    return writer
Example #5
0
async def test_setup_and_shutdown(hass: HomeAssistant,
                                  monitors: AsyncMock) -> None:
    """Test that the component can set up and shut down cleanly, closing the underlying server on shutdown."""
    monitors.start_server = AsyncMock(return_value=None)
    monitors.close = AsyncMock(return_value=None)
    assert await setup_greeneye_monitor_component_with_config(
        hass, SINGLE_MONITOR_CONFIG_POWER_SENSORS)

    await hass.async_stop()

    assert monitors.close.called
Example #6
0
def mock_anthemav() -> AsyncMock:
    """Return the default mocked anthemav."""
    avr = AsyncMock()
    avr.protocol.macaddress = "000000000001"
    avr.protocol.model = "MRX 520"
    avr.reconnect = AsyncMock()
    avr.protocol.wait_for_device_initialised = AsyncMock()
    avr.close = MagicMock()
    avr.protocol.input_list = []
    avr.protocol.audio_listening_mode_list = []
    avr.protocol.zones = {1: get_zone(), 2: get_zone()}
    return avr
Example #7
0
def get_mock_device(
    serial="aabbccddeeff",
    host="1.2.3.4",
    product_name="P1 meter",
    product_type="HWE-P1",
):
    """Return a mock bridge."""
    mock_device = AsyncMock()
    mock_device.host = host

    mock_device.device.product_name = product_name
    mock_device.device.product_type = product_type
    mock_device.device.serial = serial
    mock_device.device.api_version = "v1"
    mock_device.device.firmware_version = "1.00"

    mock_device.state = None

    mock_device.initialize = AsyncMock()
    mock_device.close = AsyncMock()

    return mock_device
Example #8
0
def get_mock_device(
    serial="aabbccddeeff",
    host="1.2.3.4",
    product_name="P1 meter",
    product_type="HWE-P1",
):
    """Return a mock bridge."""
    mock_device = AsyncMock()
    mock_device.host = host

    mock_device.device = AsyncMock(return_value=Device(
        product_name=product_name,
        product_type=product_type,
        serial=serial,
        api_version="V1",
        firmware_version="1.00",
    ))
    mock_device.data = AsyncMock(return_value=None)
    mock_device.state = AsyncMock(return_value=None)

    mock_device.close = AsyncMock()

    return mock_device