Skip to content

Commit

Permalink
Merge 7ff05ba into 68eb708
Browse files Browse the repository at this point in the history
  • Loading branch information
fphammerle committed Nov 4, 2020
2 parents 68eb708 + 7ff05ba commit 1f9cd7d
Show file tree
Hide file tree
Showing 6 changed files with 45 additions and 48 deletions.
7 changes: 4 additions & 3 deletions Pipfile
Expand Up @@ -9,18 +9,19 @@ switchbot-mqtt = {editable = true,path = "."}
[dev-packages]
# black requires python>=3.6
# https://github.com/psf/black/commit/e74117f172e29e8a980e2c9de929ad50d3769150#diff-2eeaed663bd0d25b7e608891384b7298R51
black = {version = "==19.10b0", markers = "python_version >= '3.6'"}
black = {version = "==20.8b1", markers = "python_version >= '3.6'"}
mypy = "*"
pylint = "*"
pylint-import-requirements = "*"
pytest = "*"
pytest-cov = "*"

# python3.5 compatibility
# https://github.com/jaraco/zipp/commit/05a3c52b4d41690e0471a2e283cffb500dc0329a
zipp = "<2"
isort = "<5"
# workaround https://github.com/pytest-dev/pytest/issues/3953
pathlib2 = {version = "*", markers="python_version < '3.6'"}
# https://github.com/jaraco/zipp/commit/05a3c52b4d41690e0471a2e283cffb500dc0329a
zipp = "<2"

# python3.8 compatibility
# workaround https://github.com/WanzenBug/pylint-import-requirements/issues/17
Expand Down
56 changes: 28 additions & 28 deletions Pipfile.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

6 changes: 5 additions & 1 deletion setup.py
Expand Up @@ -67,7 +67,11 @@
"Programming Language :: Python :: 3.8",
"Topic :: Home Automation",
],
entry_points={"console_scripts": ["switchbot-mqtt = switchbot_mqtt:_main",]},
entry_points={
"console_scripts": [
"switchbot-mqtt = switchbot_mqtt:_main",
]
},
install_requires=["PySwitchbot", "paho-mqtt<2"],
setup_requires=["setuptools_scm"],
tests_require=["pytest"],
Expand Down
6 changes: 2 additions & 4 deletions switchbot_mqtt/__init__.py
Expand Up @@ -88,7 +88,7 @@ def _report_state(
payload = _MQTT_STATE_PAYLOAD_MAPPING[switchbot_state]
_LOGGER.debug("publishing topic=%s payload=%r", topic, payload)
message_info = mqtt_client.publish(
topic=topic, payload=payload, retain=True,
topic=topic, payload=payload, retain=True
) # type: paho.mqtt.client.MQTTMessageInfo
if message_info.rc != paho.mqtt.client.MQTT_ERR_SUCCESS:
_LOGGER.error("failed to publish state (rc=%d)", message_info.rc)
Expand Down Expand Up @@ -174,9 +174,7 @@ def _run(
mqtt_client = paho.mqtt.client.Client()
mqtt_client.on_connect = _mqtt_on_connect
mqtt_client.on_message = _mqtt_on_message
_LOGGER.info(
"connecting to MQTT broker %s:%d", mqtt_host, mqtt_port,
)
_LOGGER.info("connecting to MQTT broker %s:%d", mqtt_host, mqtt_port)
if mqtt_username:
mqtt_client.username_pw_set(username=mqtt_username, password=mqtt_password)
elif mqtt_password:
Expand Down
2 changes: 1 addition & 1 deletion tests/test_cli.py
Expand Up @@ -69,7 +69,7 @@ def test__main(


@pytest.mark.parametrize(
("password_file_content", "expected_password",),
("password_file_content", "expected_password"),
[
("secret", "secret"),
("secret space", "secret space"),
Expand Down
16 changes: 5 additions & 11 deletions tests/test_mqtt.py
Expand Up @@ -51,7 +51,7 @@ def test__run_authentication(mqtt_host, mqtt_port, mqtt_username, mqtt_password)
)
mqtt_client_mock.assert_called_once_with()
mqtt_client_mock().username_pw_set.assert_called_once_with(
username=mqtt_username, password=mqtt_password,
username=mqtt_username, password=mqtt_password
)


Expand Down Expand Up @@ -131,9 +131,7 @@ def test__mqtt_on_message(
(b"homeassistant/switch/switchbot/aa:bb:cc:dd:ee:ff/set", b"EIN"),
],
)
def test__mqtt_on_message_ignored(
topic: bytes, payload: bytes,
):
def test__mqtt_on_message_ignored(topic: bytes, payload: bytes):
message = MQTTMessage(topic=topic)
message.payload = payload
with unittest.mock.patch("switchbot_mqtt._send_command") as send_command_mock:
Expand All @@ -145,9 +143,7 @@ def test__mqtt_on_message_ignored(
("topic", "payload"),
[(b"homeassistant/switch/switchbot/aa:bb:cc:dd:ee:ff/set", b"ON")],
)
def test__mqtt_on_message_ignored_retained(
topic: bytes, payload: bytes,
):
def test__mqtt_on_message_ignored_retained(topic: bytes, payload: bytes):
message = MQTTMessage(topic=topic)
message.payload = payload
message.retain = True
Expand All @@ -168,9 +164,7 @@ def test__mqtt_on_message_ignored_retained(
(switchbot_mqtt._SwitchbotState.OFF, b"OFF"),
],
)
@pytest.mark.parametrize(
"return_code", [MQTT_ERR_SUCCESS, MQTT_ERR_QUEUE_SIZE],
)
@pytest.mark.parametrize("return_code", [MQTT_ERR_SUCCESS, MQTT_ERR_QUEUE_SIZE])
def test__report_state(
caplog,
state: switchbot_mqtt._SwitchbotState,
Expand All @@ -189,7 +183,7 @@ def test__report_state(
switchbot_state=state,
)
mqtt_client_mock.publish.assert_called_once_with(
topic=expected_topic, payload=expected_payload, retain=True,
topic=expected_topic, payload=expected_payload, retain=True
)
if return_code == MQTT_ERR_SUCCESS:
assert len(caplog.records) == 0
Expand Down

0 comments on commit 1f9cd7d

Please sign in to comment.