kopia lustrzana https://github.com/Yakifo/amqtt
commit
67fd2970ab
|
@ -470,6 +470,7 @@ class MQTTClient:
|
||||||
reader: StreamReaderAdapter | WebSocketsReader | None = None
|
reader: StreamReaderAdapter | WebSocketsReader | None = None
|
||||||
writer: StreamWriterAdapter | WebSocketsWriter | None = None
|
writer: StreamWriterAdapter | WebSocketsWriter | None = None
|
||||||
self._connected_state.clear()
|
self._connected_state.clear()
|
||||||
|
|
||||||
# Open connection
|
# Open connection
|
||||||
if scheme in ("mqtt", "mqtts"):
|
if scheme in ("mqtt", "mqtts"):
|
||||||
conn_reader, conn_writer = await asyncio.open_connection(
|
conn_reader, conn_writer = await asyncio.open_connection(
|
||||||
|
@ -489,11 +490,11 @@ class MQTTClient:
|
||||||
)
|
)
|
||||||
reader = WebSocketsReader(websocket)
|
reader = WebSocketsReader(websocket)
|
||||||
writer = WebSocketsWriter(websocket)
|
writer = WebSocketsWriter(websocket)
|
||||||
|
elif not self.session.broker_uri:
|
||||||
if reader is None or writer is None:
|
msg = "missing broker uri"
|
||||||
self.session.transitions.disconnect()
|
raise ClientError(msg)
|
||||||
self.logger.warning("reader or writer not initialized")
|
else:
|
||||||
msg = "reader or writer not initialized"
|
msg = f"incorrect scheme defined in uri: '{scheme!r}'"
|
||||||
raise ClientError(msg)
|
raise ClientError(msg)
|
||||||
|
|
||||||
# Start MQTT protocol
|
# Start MQTT protocol
|
||||||
|
|
|
@ -7,7 +7,7 @@ import pytest
|
||||||
|
|
||||||
from amqtt.broker import Broker
|
from amqtt.broker import Broker
|
||||||
from amqtt.client import MQTTClient
|
from amqtt.client import MQTTClient
|
||||||
from amqtt.errors import ConnectError
|
from amqtt.errors import ClientError, ConnectError
|
||||||
from amqtt.mqtt.constants import QOS_0, QOS_1, QOS_2
|
from amqtt.mqtt.constants import QOS_0, QOS_1, QOS_2
|
||||||
|
|
||||||
formatter = "[%(asctime)s] %(name)s {%(filename)s:%(lineno)d} %(levelname)s - %(message)s"
|
formatter = "[%(asctime)s] %(name)s {%(filename)s:%(lineno)d} %(levelname)s - %(message)s"
|
||||||
|
@ -301,6 +301,21 @@ async def test_client_publish_will_with_retain(broker_fixture, client_config):
|
||||||
|
|
||||||
|
|
||||||
@pytest.mark.asyncio
|
@pytest.mark.asyncio
|
||||||
|
async def test_connect_broken_uri():
|
||||||
|
config = {"auto_reconnect": False}
|
||||||
|
client = MQTTClient(config=config)
|
||||||
|
with pytest.raises(ClientError):
|
||||||
|
await client.connect('"mqtt://someplace')
|
||||||
|
|
||||||
|
|
||||||
|
@pytest.mark.asyncio
|
||||||
|
async def test_connect_incorrect_scheme():
|
||||||
|
config = {"auto_reconnect": False}
|
||||||
|
client = MQTTClient(config=config)
|
||||||
|
with pytest.raises(ClientError):
|
||||||
|
await client.connect('"mq://someplace')
|
||||||
|
|
||||||
|
|
||||||
async def test_client_no_auth():
|
async def test_client_no_auth():
|
||||||
|
|
||||||
|
|
||||||
|
|
Ładowanie…
Reference in New Issue