Skip to content

Commit

Permalink
Add basic test for device additions
Browse files Browse the repository at this point in the history
  • Loading branch information
nocarryr committed Feb 23, 2017
1 parent e4168c1 commit ac617d3
Showing 1 changed file with 60 additions and 0 deletions.
60 changes: 60 additions & 0 deletions tests/test_config.py
Original file line number Diff line number Diff line change
Expand Up @@ -69,3 +69,63 @@ async def test_config_discovery(tempconfig, vidhub_zeroconf_info, mocked_vidhub_
assert vidhub_zeroconf_info['device_id'] in config.vidhubs

await config.stop()


@pytest.mark.asyncio
async def test_config_devices(tempconfig):
from vidhubcontrol.backends import (
DummyBackend, SmartViewDummyBackend, SmartScopeDummyBackend,
)

config = Config.load(str(tempconfig))
await config.start()

for i in range(3):
device_id = 'dummy{}'.format(i)
vidhub = await DummyBackend.create_async(
device_id=device_id,
device_name='vidhub{}'.format(i),
)
smartview = await SmartViewDummyBackend.create_async(
device_id=device_id,
device_name='smartview{}'.format(i),
)
smartscope = await SmartScopeDummyBackend.create_async(
device_id=device_id,
device_name='smartscope{}'.format(i)
)
if i == 0:
config.add_vidhub(vidhub)
config.add_smartview(smartview)
config.add_smartscope(smartscope)
else:
config.add_device(vidhub)
config.add_device(smartview)
config.add_device(smartscope)

keys_expected = set(('dummy{}'.format(i) for i in range(3)))
assert len(config.vidhubs) == len(config.smartviews) == len(config.smartscopes) == 3
assert set(config.vidhubs.keys()) == set(config.smartviews.keys()) == set(config.smartscopes.keys()) == keys_expected

for vidhub in config.vidhubs.values():
assert isinstance(vidhub.backend, DummyBackend)
for smartview in config.smartviews.values():
assert isinstance(smartview.backend, SmartViewDummyBackend)
for smartscope in config.smartscopes.values():
assert isinstance(smartscope.backend, SmartScopeDummyBackend)

config2 = Config.load(str(tempconfig))
await config2.start()

assert len(config2.vidhubs) == len(config2.smartviews) == len(config2.smartscopes) == 3
assert set(config2.vidhubs.keys()) == set(config2.smartviews.keys()) == set(config2.smartscopes.keys()) == keys_expected

for vidhub in config2.vidhubs.values():
assert isinstance(vidhub.backend, DummyBackend)
for smartview in config2.smartviews.values():
assert isinstance(smartview.backend, SmartViewDummyBackend)
for smartscope in config2.smartscopes.values():
assert isinstance(smartscope.backend, SmartScopeDummyBackend)

await config.stop()
await config2.stop()

0 comments on commit ac617d3

Please sign in to comment.