59 lines
1.9 KiB
Python
59 lines
1.9 KiB
Python
import pytest
|
|
import logging as log
|
|
import time
|
|
import os
|
|
import subprocess
|
|
|
|
from multilang_translator.backend_controller.broadcaster_config import broadcaster_config
|
|
from multilang_translator.backend_controller.broadcaster_play_once import broadcaster_play_file
|
|
from multilang_translator.backend_controller.broadcaster_copy_files import copy_to_broadcaster
|
|
|
|
@pytest.fixture(scope="session")
|
|
def ft_reset_broadcaster():
|
|
subprocess.run(["nrfjprog", "--reset", "-s", "1050109484"], check=True)
|
|
log.info("Resetting Broadcaster...")
|
|
time.sleep(2.)
|
|
|
|
@pytest.fixture(scope="session")
|
|
def ft_configure_broadcaster(ft_reset_broadcaster):
|
|
log.info("Configuring Broadcaster...")
|
|
start = time.time()
|
|
ret = broadcaster_config()
|
|
log.info(f"Configuration took {round(time.time() - start, 3)} seconds")
|
|
assert "err" not in ret
|
|
assert "Failed" not in ret
|
|
yield ret
|
|
|
|
def test_config_broadcaster(ft_configure_broadcaster):
|
|
ret = ft_configure_broadcaster
|
|
|
|
|
|
def test_copy_to_broadcaster():
|
|
log.info("Current working directory is: " + os.getcwd())
|
|
start = time.time()
|
|
copy_to_broadcaster('./tests/announcement_de.lc3')
|
|
log.info(f"Copy to broadcaster took {round(time.time() - start, 3)} seconds")
|
|
|
|
def test_play_files():
|
|
ret = broadcaster_play_file(0, 'announcement_de.lc3')
|
|
assert "err" not in ret
|
|
assert "Failed" not in ret
|
|
|
|
time.sleep(1)
|
|
ret = broadcaster_play_file(1, 'announcement_en.lc3')
|
|
assert "err" not in ret
|
|
assert "Failed" not in ret
|
|
|
|
def test_copy_and_play():
|
|
copy_to_broadcaster('./tests/announcement_de.lc3')
|
|
copy_to_broadcaster('./tests/announcement_en.lc3')
|
|
time.sleep(0.5)
|
|
|
|
ret = broadcaster_play_file(0, 'announcement_de.lc3')
|
|
assert "err" not in ret
|
|
assert "Failed" not in ret
|
|
time.sleep(.5)
|
|
ret = broadcaster_play_file(1, 'announcement_en.lc3')
|
|
assert "err" not in ret
|
|
assert "Failed" not in ret
|