diff --git a/scripts/alert.json b/scripts/alert.json index e23a3ce..043dc0e 100644 --- a/scripts/alert.json +++ b/scripts/alert.json @@ -1,17 +1,13 @@ { "process_name": "Show basic alert process", - "step1": { + "step1": {"active": true, "name": "trigger_alert", - "payload": { - "text": "Some Text", - "min": 0 - } + "min": 0, + "payload": { "text": "Some Text" } }, - "step2": { + "step2": {"active": true, "name": "trigger_alert", - "payload": { - "text": "Some more text Text", - "delay": 5 - } + "delay": 5, + "payload": { "text": "Some more text Text" } } } \ No newline at end of file diff --git a/scripts/blank.json b/scripts/blank.json new file mode 100644 index 0000000..4deee6a --- /dev/null +++ b/scripts/blank.json @@ -0,0 +1,35 @@ +{ + "process_name": "Test Display hiding", + "step1": {"active": true, + "name": "display_hide", + "delay": 1 + }, + "step2": {"active": true, + "name": "display_show", + "delay": 1 + }, + "step3": {"active": true, + "name": "display_blank", + "delay": 1 + }, + "step4": {"active": true, + "name": "display_show", + "delay": 1 + }, + "step5": {"active": true, + "name": "display_theme", + "delay": 1 + }, + "step6": {"active": true, + "name": "display_show", + "delay": 1 + }, + "step7": {"active": true, + "name": "display_desktop", + "delay": 1 + }, + "step8": {"active": true, + "name": "display_show", + "delay": 1 + } +} \ No newline at end of file diff --git a/scripts/blank.yaml b/scripts/blank.yaml deleted file mode 100644 index 75a4ee3..0000000 --- a/scripts/blank.yaml +++ /dev/null @@ -1,26 +0,0 @@ ---- -process_name: Test Display hiding -step1: - delay: 1 - name: display_hide -step2: - delay: 1 - name: display_show -step3: - delay: 1 - name: display_blank -step4: - delay: 1 - name: display_show -step5: - delay: 1 - name: display_theme -step6: - delay: 1 - name: display_show -step7: - delay: 1 - name: display_desktop -step8: - delay: 1 - name: display_show diff --git a/scripts/full_run_rand.json b/scripts/full_run_rand.json new file mode 100644 index 0000000..3d6bdfa --- /dev/null +++ b/scripts/full_run_rand.json @@ -0,0 +1,104 @@ +{ + "process_name": "Test Process Service Random", + "step1": {"active": true, + "name": "clear_live_controller", + "max": 1, + "min": 1 + }, + "step2": {"active": true, + "name": "clear_preview_controller", + "delay": 1 + }, + "step3": {"active": true, + "name": "new_service", + "max": 1, + "min": 1 + }, + "step4": {"active": true, + "name": "search_and_add", + "delay": 1, + "payload": { + "plugin": "songs" + } + }, + "step5": {"active": true, + "name": "search_and_add", + "delay": 1, + "payload": { + "plugin": "bibles" + } + }, + "step6": {"active": true, + "name": "search_and_add", + "delay": 1, + "payload": { + "plugin": "bibles" + } + }, + "step7": {"active": true, + "name": "search_and_add", + "delay": 1, + "payload": {"active": true, + "plugin": "custom" + } + }, + "step8": {"active": true, + "name": "search_and_add", + "delay": 1, + "payload": { + "plugin": "images" + } + }, + "step9": {"active": true, + "name": "search_and_add", + "delay": 1, + "payload": { + "plugin": "songs" + } + }, + "step10": {"active": true, + "name": "search_and_add", + "delay": 1, + "payload": { + "plugin": "bibles" + } + }, + "step11": {"active": true, + "name": "search_and_add", + "delay": 1, + "payload": { + "plugin": "bibles" + } + }, + "step12": {"active": true, + "name": "search_and_add", + "delay": 1, + "payload": { + "plugin": "songs" + } + }, + "step13": {"active": true, + "name": "search_and_add", + "delay": 1, + "payload": { + "plugin": "custom" + } + }, + "step14": {"active": true, + "name": "search_and_add", + "delay": 1, + "payload": { + "plugin": "bibles" + } + }, + "step15": {"active": true, + "name": "search_and_add", + "delay": 1, + "payload": { + "plugin": "songs" + } + }, + "step16": {"active": true, + "name": "load_service_random" + } +} diff --git a/scripts/full_run_rand.yaml b/scripts/full_run_rand.yaml deleted file mode 100644 index e933108..0000000 --- a/scripts/full_run_rand.yaml +++ /dev/null @@ -1,85 +0,0 @@ ---- -process_name: test process -step1: - max: 1 - min: 1 - name: clear_live_controller -step2: - delay: 1 - name: clear_preview_controller -step3: - max: 1 - min: 1 - name: new_service -step4: - delay: 1 - name: search_and_add - payload: - plugin: songs -step5: - delay: 1 - name: search_and_add - payload: - plugin: songs -step6: - delay: 1 - name: search_and_add - payload: - plugin: bibles -step7: - delay: 1 - name: search_and_add - payload: - plugin: bibles -step8: - delay: 1 - name: search_and_add - payload: - plugin: custom -step9: - delay: 1 - name: search_and_add - payload: - plugin: images -step10: - delay: 1 - name: search_and_add - payload: - plugin: songs -step11: - delay: 1 - name: search_and_add - payload: - plugin: presentation -step12: - delay: 1 - name: search_and_add - payload: - plugin: bibles -step13: - delay: 1 - name: search_and_add - payload: - plugin: bibles -step14: - delay: 1 - name: search_and_add - payload: - plugin: songs -step15: - delay: 1 - name: search_and_add - payload: - plugin: custom -step16: - delay: 1 - name: search_and_add - payload: - plugin: bibles -step17: - delay: 1 - name: search_and_add - payload: - plugin: bibles -step18: - name: load_service_random diff --git a/scripts/full_run_seq.json b/scripts/full_run_seq.json new file mode 100644 index 0000000..24fb31c --- /dev/null +++ b/scripts/full_run_seq.json @@ -0,0 +1,104 @@ +{ + "process_name": "Test Process Service Sequential", + "step1": {"active": true, + "name": "clear_live_controller", + "max": 1, + "min": 1 + }, + "step2": {"active": true, + "name": "clear_preview_controller", + "delay": 1 + }, + "step3": {"active": true, + "name": "new_service", + "max": 1, + "min": 1 + }, + "step4": {"active": true, + "name": "search_and_add", + "delay": 1, + "payload": { + "plugin": "songs" + } + }, + "step5": {"active": true, + "name": "search_and_add", + "delay": 1, + "payload": { + "plugin": "bibles" + } + }, + "step6": {"active": true, + "name": "search_and_add", + "delay": 1, + "payload": { + "plugin": "bibles" + } + }, + "step7": {"active": true, + "name": "search_and_add", + "delay": 1, + "payload": { + "plugin": "custom" + } + }, + "step8": {"active": true, + "name": "search_and_add", + "delay": 1, + "payload": { + "plugin": "images" + } + }, + "step9": {"active": true, + "name": "search_and_add", + "delay": 1, + "payload": { + "plugin": "songs" + } + }, + "step10": {"active": true, + "name": "search_and_add", + "delay": 1, + "payload": { + "plugin": "bibles" + } + }, + "step11": {"active": true, + "name": "search_and_add", + "delay": 1, + "payload": { + "plugin": "bibles" + } + }, + "step12": {"active": true, + "name": "search_and_add", + "delay": 1, + "payload": { + "plugin": "songs" + } + }, + "step13": {"active": true, + "name": "search_and_add", + "delay": 1, + "payload": { + "plugin": "custom" + } + }, + "step14": {"active": true, + "name": "search_and_add", + "delay": 1, + "payload": { + "plugin": "bibles" + } + }, + "step15": {"active": true, + "name": "search_and_add", + "delay": 1, + "payload": { + "plugin": "songs" + } + }, + "step16": {"active": true, + "name": "load_service_sequential" + } +} \ No newline at end of file diff --git a/scripts/full_run_seq.yaml b/scripts/full_run_seq.yaml deleted file mode 100644 index 49c4e5f..0000000 --- a/scripts/full_run_seq.yaml +++ /dev/null @@ -1,80 +0,0 @@ ---- -process_name: test process -step1: - max: 1 - min: 1 - name: clear_live_controller -step2: - delay: 1 - name: clear_preview_controller -step3: - max: 1 - min: 1 - name: new_service -step4: - delay: 1 - name: search_and_add - payload: - plugin: songs -step5: - delay: 1 - name: search_and_add - payload: - plugin: songs -step6: - delay: 1 - name: search_and_add - payload: - plugin: bibles -step7: - delay: 1 - name: search_and_add - payload: - plugin: bibles -step8: - delay: 1 - name: search_and_add - payload: - plugin: custom -step9: - delay: 1 - name: search_and_add - payload: - plugin: images -step10: - delay: 1 - name: search_and_add - payload: - plugin: songs -step12: - delay: 1 - name: search_and_add - payload: - plugin: bibles -step13: - delay: 1 - name: search_and_add - payload: - plugin: bibles -step14: - delay: 1 - name: search_and_add - payload: - plugin: songs -step15: - delay: 1 - name: search_and_add - payload: - plugin: custom -step16: - delay: 1 - name: search_and_add - payload: - plugin: bibles -step17: - delay: 1 - name: search_and_add - payload: - plugin: bibles -step18: - name: load_service_sequential diff --git a/scripts/live_item.json b/scripts/live_item.json index 5ee0862..584f584 100644 --- a/scripts/live_item.json +++ b/scripts/live_item.json @@ -1,6 +1,6 @@ { "process_name": "live_item", - "step1": { + "step1": {"active": true, "name": "play_live_items" } } \ No newline at end of file diff --git a/scripts/media.json b/scripts/media.json index 2f80be5..b1cacd1 100644 --- a/scripts/media.json +++ b/scripts/media.json @@ -1,33 +1,29 @@ { "process_name": "play media", - "step1": { + "step1": {"active": true, "name": "clear_live_controller", - "payload": { - "max": 1, - "min": 1 - } + "max": 1, + "min": 1 }, - "step2": { + "step2": {"active": true, "name": "clear_preview_controller", - "payload": { - "delay": 1 - } + "delay": 1 }, - "step3": { + "step3": {"active": true, "name": "search_and_add", - "delay": 10 + "delay": 10, "payload": { "plugin": "media" } }, - "step4": { + "step4": {"active": true, "name": "load_service_sequential" }, - "step5": { + "step5": {"active": true, + "name": "flush_pending", "delay": 30 - "name": "flush_pending" }, - "step6": { + "step6": {"active": true, "name": "media_pause" } } \ No newline at end of file diff --git a/scripts/pause.json b/scripts/pause.json new file mode 100644 index 0000000..e5e8700 --- /dev/null +++ b/scripts/pause.json @@ -0,0 +1,6 @@ +{ + "process_name": "Pause Media", + "step1": {"active": true, + "name": "media_pause", + } +} \ No newline at end of file diff --git a/scripts/pause.yaml b/scripts/pause.yaml deleted file mode 100644 index 62137e9..0000000 --- a/scripts/pause.yaml +++ /dev/null @@ -1,4 +0,0 @@ ---- -process_name: Pause Media -step1: - name: media_pause diff --git a/scripts/play.json b/scripts/play.json new file mode 100644 index 0000000..d6129d4 --- /dev/null +++ b/scripts/play.json @@ -0,0 +1,6 @@ +{ + "process_name": "Play Media", + "step1": {"active": true, + "name": "media_play", + } +} \ No newline at end of file diff --git a/scripts/play.yaml b/scripts/play.yaml deleted file mode 100644 index 4d994c9..0000000 --- a/scripts/play.yaml +++ /dev/null @@ -1,4 +0,0 @@ ---- -process_name: Play Media -step1: - name: media_play diff --git a/scripts/stop.json b/scripts/stop.json new file mode 100644 index 0000000..9ecc236 --- /dev/null +++ b/scripts/stop.json @@ -0,0 +1,6 @@ +{ + "process_name": "Stop Media", + "step1": {"active": true, + "name": "media_stop", + } +} \ No newline at end of file diff --git a/scripts/stop.yaml b/scripts/stop.yaml deleted file mode 100644 index 5e89126..0000000 --- a/scripts/stop.yaml +++ /dev/null @@ -1,4 +0,0 @@ ---- -process_name: Stop Media -step1: - name: media_stop diff --git a/scripts/test.json b/scripts/test.json index 3f24bfa..3c2681f 100644 --- a/scripts/test.json +++ b/scripts/test.json @@ -1,34 +1,32 @@ { "process_name": "play media", - "step1": { + "step1": {"active": true, "name": "clear_live_controller", "max": 1, "min": 1 }, - "step2": { + "step2": {"active": true, "name": "clear_preview_controller", "delay": 1 }, - "step3": { + "step3": {"active": true, "name": "new_service", "max": 1, "min": 1 }, - "step4": { + "step4": {"active": true, "name": "search_and_add", "delay": 1, "payload": { "plugin": "songs" } }, - "step5": { + "step5": {"active": true, "name": "search_and_add", "delay": 1, - "payload": { - "plugin": "bibles" - } + "payload": {"plugin": "bibles" } }, - "step6": { + "step6": {"active": true, "name": "load_service_sequential" } } \ No newline at end of file diff --git a/scripts/themes.json b/scripts/themes.json new file mode 100644 index 0000000..b296138 --- /dev/null +++ b/scripts/themes.json @@ -0,0 +1,15 @@ +{ + "process_name": "Themes", + "step1": {"active": true, + "name": "set_theme_level", + "payload": { "theme_level": "global" } + }, + "step2": {"active": true, + "delay": 2, + "name": "change_default_theme" + }, + "step3": {"active": true, + "delay": 2, + "name": "change_default_theme" + } +} \ No newline at end of file diff --git a/scripts/themes.yaml b/scripts/themes.yaml deleted file mode 100644 index b463e16..0000000 --- a/scripts/themes.yaml +++ /dev/null @@ -1,4 +0,0 @@ ---- -process_name: themes -step1: - name: loop_theme_default diff --git a/test_api/apitest/callbacks.py b/test_api/apitest/callbacks.py index f93493d..58e584e 100644 --- a/test_api/apitest/callbacks.py +++ b/test_api/apitest/callbacks.py @@ -226,11 +226,16 @@ def get_live_image(rtc: object) -> None: assert ret.status_code == 204, ret.status_code -def loop_theme_default(rtc: object) -> None: +def change_default_theme(rtc: object) -> None: print_text('loop_theme_default') items = get_themes(rtc) - for item in json.loads(items.text): - print(item) + default = get_default_theme(rtc) + first = None + for item in json.loads(items): + if item['name'].replace("\"", "") != default and first is None: + first = item['name'] + set_theme(rtc, first) + # items = requests.get(rtc.base_url + 'service/items') # service = json.loads(items.text) # limit = len(service) @@ -241,17 +246,18 @@ def loop_theme_default(rtc: object) -> None: # rtc.pending.append(Task(rtc, pl)) -def get_themes(rtc: object) -> str: +def get_themes(rtc: object) -> list: print_text('get_themes') ret = requests.get(rtc.base_url + 'controller/themes') assert ret.status_code == 200, ret.status_code return ret.text -def get_default_theme(rtc: object) -> None: +def get_default_theme(rtc: object) -> str: print_text('get_default_theme') ret = requests.get(rtc.base_url + 'controller/theme') - assert ret.status_code == 204, ret.status_code + assert ret.status_code == 200, ret.status_code + return ret.text.replace("\"", "").replace("\n", "") def get_themes_name(rtc: object, payload: dict) -> None: @@ -259,6 +265,7 @@ def get_themes_name(rtc: object, payload: dict) -> None: print_text('get_themes_name') ret = requests.get(rtc.base_url + f'themes/{t_name}') assert ret.status_code == 204, ret.status_code + return ret.text def get_live_theme(rtc: object) -> None: @@ -269,21 +276,22 @@ def get_live_theme(rtc: object) -> None: def get_theme_level(rtc: object) -> None: print_text('get_theme_level') - ret = requests.get(rtc.base_url + 'theme_level') - assert ret.status_code == 204, ret.status_code + ret = requests.get(rtc.base_url + 'controller/theme') + assert ret.status_code == 200, ret.status_code + return ret.text def set_theme_level(rtc: object, payload: dict) -> None: t_level = payload['theme_level'] print_text('set_theme_level') - ret = requests.post(rtc.base_url + 'theme_level', json=dict(level=t_level)) + ret = requests.post(rtc.base_url + 'controller/theme-level', json=dict(level=t_level)) assert ret.status_code == 204, ret.status_code + return ret.text -def set_theme(rtc: object, payload: dict) -> None: - t_level = payload['theme_level'] - print_text('set_theme_level') - ret = requests.post(rtc.base_url + 'theme_level', json=dict(level=t_level)) +def set_theme(rtc: object, theme_name: str) -> None: + print_text('set_theme') + ret = requests.post(rtc.base_url + 'controller/theme', json=dict(theme=theme_name)) assert ret.status_code == 204, ret.status_code diff --git a/test_api/apitest/runner.py b/test_api/apitest/runner.py index 44a3434..0a539e4 100644 --- a/test_api/apitest/runner.py +++ b/test_api/apitest/runner.py @@ -117,14 +117,14 @@ class RunTestsController(object): parser.add_argument('rargs', nargs='*', default=[]) a = parser.parse_args() f_open = f'{a.rargs[0]}' - print(f_open) with open(f_open, 'r') as file: commands = json.load(file) for step in commands: if step == 'process_name': print_info(f'Processing file {commands[step]}') continue - self.tasks.append(Task(self, commands[step])) + if commands[step]['active'] is True: + self.tasks.append(Task(self, commands[step])) self.process_queue() def compare_stage(self): diff --git a/test_api/apitest/zero.py b/test_api/apitest/zero.py index 209ec57..af612f8 100644 --- a/test_api/apitest/zero.py +++ b/test_api/apitest/zero.py @@ -18,7 +18,7 @@ # along with this program. If not, see . # ########################################################################## import socket -from zeroconf import ServiceBrowser, Zeroconf +from zeroconf import ServiceBrowser, Zeroconf, ServiceInfo from time import sleep from test_api.apitest.logger import print_info @@ -42,6 +42,10 @@ def check_for_openlp(type: str) -> str: self.port = str(info.port) self.address = socket.inet_ntoa(info.addresses[0]) + @staticmethod + def update_service(info: ServiceInfo) -> None: + pass + zeroconf = Zeroconf() my_listener = MyListener() _ = ServiceBrowser(zeroconf, f'_{type}._tcp.local.', my_listener)