Add support for the renaming of Yamaha Receiver Zones via configuration file. Added a test to cover the change, plus previously untested options. (#11402)
This commit is contained in:
parent
f314b6cb6c
commit
bb2191b2b0
2 changed files with 46 additions and 4 deletions
|
@ -4,6 +4,15 @@ import xml.etree.ElementTree as ET
|
|||
|
||||
import rxv
|
||||
|
||||
import homeassistant.components.media_player.yamaha as yamaha
|
||||
|
||||
TEST_CONFIG = {
|
||||
'name': "Test Receiver",
|
||||
'source_ignore': ['HDMI5'],
|
||||
'source_names': {'HDMI1': 'Laserdisc'},
|
||||
'zone_names': {'Main_Zone': "Laser Dome"}
|
||||
}
|
||||
|
||||
|
||||
def sample_content(name):
|
||||
"""Read content into a string from a file."""
|
||||
|
@ -12,6 +21,14 @@ def sample_content(name):
|
|||
return content.read()
|
||||
|
||||
|
||||
def yamaha_player(receiver):
|
||||
"""Create a YamahaDevice from a given receiver, presumably a Mock."""
|
||||
zone_controller = receiver.zone_controllers()[0]
|
||||
player = yamaha.YamahaDevice(receiver=zone_controller, **TEST_CONFIG)
|
||||
player.build_source_list()
|
||||
return player
|
||||
|
||||
|
||||
class FakeYamaha(rxv.rxv.RXV):
|
||||
"""Fake Yamaha receiver.
|
||||
|
||||
|
@ -74,6 +91,7 @@ class TestYamaha(unittest.TestCase):
|
|||
"""Setup things to be run when tests are started."""
|
||||
super(TestYamaha, self).setUp()
|
||||
self.rec = FakeYamaha("http://10.0.0.0:80/YamahaRemoteControl/ctrl")
|
||||
self.player = yamaha_player(self.rec)
|
||||
|
||||
def test_get_playback_support(self):
|
||||
"""Test the playback."""
|
||||
|
@ -92,3 +110,20 @@ class TestYamaha(unittest.TestCase):
|
|||
self.assertTrue(support.stop)
|
||||
self.assertFalse(support.skip_f)
|
||||
self.assertFalse(support.skip_r)
|
||||
|
||||
def test_configuration_options(self):
|
||||
"""Test configuration options."""
|
||||
rec_name = TEST_CONFIG['name']
|
||||
src_zone = 'Main_Zone'
|
||||
src_zone_alt = src_zone.replace('_', ' ')
|
||||
renamed_zone = TEST_CONFIG['zone_names'][src_zone]
|
||||
ignored_src = TEST_CONFIG['source_ignore'][0]
|
||||
renamed_src = 'HDMI1'
|
||||
new_src = TEST_CONFIG['source_names'][renamed_src]
|
||||
self.assertFalse(self.player.name == rec_name + ' ' + src_zone)
|
||||
self.assertFalse(self.player.name == rec_name + ' ' + src_zone_alt)
|
||||
self.assertTrue(self.player.name == rec_name + ' ' + renamed_zone)
|
||||
|
||||
self.assertFalse(ignored_src in self.player.source_list)
|
||||
self.assertFalse(renamed_src in self.player.source_list)
|
||||
self.assertTrue(new_src in self.player.source_list)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue