automatically use bundled certificate it set to auto (#6707)

* automatically use bundled certificate if certificate-parameter is set to 'auto' and seperate this from which port is specified

* Fix travis error and long lines

* Update __init__.py
This commit is contained in:
printzlau authored and Paulus Schoutsen committed 2017-03-19 14:51:53 -07:00
1 parent acf75b5253
commit 1cb2a6add0
2 files changed
+21 -22

No files matched your search

+18 -19
View File
@@ -377,8 +377,24 @@ def test_setup_fails_if_no_connect_broker(hass):
@asyncio.coroutine
def test_setup_uses_certificate_on_mqtts_port(hass):
"""Test setup uses bundled certificates when mqtts port is requested."""
def test_setup_uses_certificate_on_certificate_set_to_auto(hass):
"""Test setup uses bundled certs when certificate is set to auto."""
test_broker_cfg = {mqtt.DOMAIN: {mqtt.CONF_BROKER: 'test-broker',
'certificate': 'auto'}}
with mock.patch('homeassistant.components.mqtt.MQTT') as mock_MQTT:
yield from async_setup_component(hass, mqtt.DOMAIN, test_broker_cfg)
assert mock_MQTT.called
import requests.certs
expectedCertificate = requests.certs.where()
assert mock_MQTT.mock_calls[0][1][7] == expectedCertificate
@asyncio.coroutine
def test_setup_does_not_use_certificate_on_mqtts_port(hass):
"""Test setup doesn't use bundled certs when certificate is not set."""
test_broker_cfg = {mqtt.DOMAIN: {mqtt.CONF_BROKER: 'test-broker',
'port': 8883}}
@@ -388,23 +404,6 @@ def test_setup_uses_certificate_on_mqtts_port(hass):
assert mock_MQTT.called
assert mock_MQTT.mock_calls[0][1][2] == 8883
import requests.certs
expectedCertificate = requests.certs.where()
assert mock_MQTT.mock_calls[0][1][7] == expectedCertificate
@asyncio.coroutine
def test_setup_uses_certificate_not_on_mqtts_port(hass):
"""Test setup doesn't use bundled certificates when not mqtts port."""
test_broker_cfg = {mqtt.DOMAIN: {mqtt.CONF_BROKER: 'test-broker',
'port': 1883}}
with mock.patch('homeassistant.components.mqtt.MQTT') as mock_MQTT:
yield from async_setup_component(hass, mqtt.DOMAIN, test_broker_cfg)
assert mock_MQTT.called
assert mock_MQTT.mock_calls[0][1][2] == 1883
import requests.certs
mqttsCertificateBundle = requests.certs.where()
assert mock_MQTT.mock_calls[0][1][7] != mqttsCertificateBundle