add test for mqtt+json switch
This commit is contained in:
parent
820b2a31b3
commit
427944cc44
2 changed files with 29 additions and 2 deletions
|
@ -56,5 +56,4 @@ class TestSensorMQTT(unittest.TestCase):
|
||||||
state = self.hass.states.get('sensor.test')
|
state = self.hass.states.get('sensor.test')
|
||||||
|
|
||||||
self.assertEqual('100', state.state)
|
self.assertEqual('100', state.state)
|
||||||
self.assertEqual('fav unit',
|
|
||||||
state.attributes.get('unit_of_measurement'))
|
|
||||||
|
|
|
@ -80,3 +80,31 @@ class TestSensorMQTT(unittest.TestCase):
|
||||||
self.mock_publish.mock_calls[-1][1])
|
self.mock_publish.mock_calls[-1][1])
|
||||||
state = self.hass.states.get('switch.test')
|
state = self.hass.states.get('switch.test')
|
||||||
self.assertEqual(STATE_OFF, state.state)
|
self.assertEqual(STATE_OFF, state.state)
|
||||||
|
|
||||||
|
def test_controlling_state_via_topic_and_json_message(self):
|
||||||
|
self.assertTrue(switch.setup(self.hass, {
|
||||||
|
'switch': {
|
||||||
|
'platform': 'mqtt',
|
||||||
|
'name': 'test',
|
||||||
|
'state_topic': 'state-topic',
|
||||||
|
'command_topic': 'command-topic',
|
||||||
|
'payload_on': 'beer on',
|
||||||
|
'payload_off': 'beer off',
|
||||||
|
'state_format': 'json:val'
|
||||||
|
}
|
||||||
|
}))
|
||||||
|
|
||||||
|
state = self.hass.states.get('switch.test')
|
||||||
|
self.assertEqual(STATE_OFF, state.state)
|
||||||
|
|
||||||
|
fire_mqtt_message(self.hass, 'state-topic', '{"val":"beer on"}')
|
||||||
|
self.hass.pool.block_till_done()
|
||||||
|
|
||||||
|
state = self.hass.states.get('switch.test')
|
||||||
|
self.assertEqual(STATE_ON, state.state)
|
||||||
|
|
||||||
|
fire_mqtt_message(self.hass, 'state-topic', '{"val":"beer off"}')
|
||||||
|
self.hass.pool.block_till_done()
|
||||||
|
|
||||||
|
state = self.hass.states.get('switch.test')
|
||||||
|
self.assertEqual(STATE_OFF, state.state)
|
Loading…
Add table
Add a link
Reference in a new issue