1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126
|
#!/usr/bin/env python
# -*- coding: utf-8 -*-
"""Some simple tests for callback on the roon api."""
import os.path, pytest
from roonapi import RoonApi, LOGGER
@pytest.fixture()
def roon_api(request):
try:
host = open("test_core_server_file").read()
port = open("test_core_port_file").read()
token = open("my_token_file").read()
except OSError:
print("Please authorise first using discovery.py")
exit()
appinfo = {
"extension_id": "python_roon_test",
"display_name": "Python library for Roon",
"display_version": "1.0.0",
"publisher": "pavoni",
"email": "my@email.com",
}
def teardown():
roonapi.stop()
request.addfinalizer(teardown)
# initialize Roon api and register the callback for state changes
roonapi = RoonApi(appinfo, token, host, port, True)
return roonapi
def test_loop_settings(roon_api):
db_zone = [
zone for zone in roon_api.zones.values() if zone["display_name"] == "95 Office"
][0]
db_zone_output_id = db_zone["outputs"][0]["output_id"]
loop = db_zone["settings"]["loop"]
assert loop == "disabled"
roon_api.repeat(db_zone_output_id, "loop_one")
db_zone = [
zone for zone in roon_api.zones.values() if zone["display_name"] == "95 Office"
][0]
db_zone_output_id = db_zone["outputs"][0]["output_id"]
loop = db_zone["settings"]["loop"]
assert loop == "loop_one"
roon_api.repeat(db_zone_output_id, "loop")
db_zone = [
zone for zone in roon_api.zones.values() if zone["display_name"] == "95 Office"
][0]
db_zone_output_id = db_zone["outputs"][0]["output_id"]
loop = db_zone["settings"]["loop"]
assert loop == "loop"
roon_api.repeat(db_zone_output_id, "disabled")
db_zone = [
zone for zone in roon_api.zones.values() if zone["display_name"] == "95 Office"
][0]
db_zone_output_id = db_zone["outputs"][0]["output_id"]
loop = db_zone["settings"]["loop"]
assert loop == "disabled"
def test_loop_old_style_settings(roon_api):
db_zone = [
zone for zone in roon_api.zones.values() if zone["display_name"] == "95 Office"
][0]
db_zone_output_id = db_zone["outputs"][0]["output_id"]
loop = db_zone["settings"]["loop"]
assert loop == "disabled"
roon_api.repeat(db_zone_output_id, True)
db_zone = [
zone for zone in roon_api.zones.values() if zone["display_name"] == "95 Office"
][0]
db_zone_output_id = db_zone["outputs"][0]["output_id"]
loop = db_zone["settings"]["loop"]
assert loop == "loop"
roon_api.repeat(db_zone_output_id, False)
db_zone = [
zone for zone in roon_api.zones.values() if zone["display_name"] == "95 Office"
][0]
db_zone_output_id = db_zone["outputs"][0]["output_id"]
loop = db_zone["settings"]["loop"]
assert loop == "disabled"
roon_api.repeat(db_zone_output_id)
db_zone = [
zone for zone in roon_api.zones.values() if zone["display_name"] == "95 Office"
][0]
db_zone_output_id = db_zone["outputs"][0]["output_id"]
loop = db_zone["settings"]["loop"]
assert loop == "loop"
roon_api.repeat(db_zone_output_id, False)
|