1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55
|
#!/usr/bin/env python
# -*- coding: utf-8 -*-
"""Tests for `bleak` package."""
import platform
import pytest
from bleak import BleakClient, BleakScanner
from bleak.backends import BleakBackend
from bleak.backends.client import get_platform_client_backend_type
from bleak.backends.scanner import get_platform_scanner_backend_type
def test_platform_detection():
"""Test by importing the client and assert correct client by OS."""
client_backend_type, client_backend_id = get_platform_client_backend_type()
scanner_backend_type, scanner_backend_id = get_platform_scanner_backend_type()
if platform.system() == "Linux":
assert client_backend_type.__name__ == "BleakClientBlueZDBus"
assert scanner_backend_type.__name__ == "BleakScannerBlueZDBus"
assert client_backend_id == BleakBackend.BLUEZ_DBUS
assert scanner_backend_id == BleakBackend.BLUEZ_DBUS
elif platform.system() == "Windows":
assert client_backend_type.__name__ == "BleakClientWinRT"
assert scanner_backend_type.__name__ == "BleakScannerWinRT"
assert client_backend_id == BleakBackend.WIN_RT
assert scanner_backend_id == BleakBackend.WIN_RT
elif platform.system() == "Darwin":
assert client_backend_type.__name__ == "BleakClientCoreBluetooth"
assert scanner_backend_type.__name__ == "BleakScannerCoreBluetooth"
assert client_backend_id == BleakBackend.CORE_BLUETOOTH
assert scanner_backend_id == BleakBackend.CORE_BLUETOOTH
@pytest.mark.asyncio
async def test_backend_id():
"""Test that backend IDs are correct."""
client = BleakClient("")
scanner = BleakScanner()
assert client.backend_id == scanner.backend_id
if platform.system() == "Linux":
assert client.backend_id == BleakBackend.BLUEZ_DBUS
assert scanner.backend_id == BleakBackend.BLUEZ_DBUS
elif platform.system() == "Windows":
assert client.backend_id == BleakBackend.WIN_RT
assert scanner.backend_id == BleakBackend.WIN_RT
elif platform.system() == "Darwin":
assert client.backend_id == BleakBackend.CORE_BLUETOOTH
assert scanner.backend_id == BleakBackend.CORE_BLUETOOTH
|