forked from rc/aircox

- Add configuration files for packaging - Precommit now uses ruff Co-authored-by: bkfox <thomas bkfox net> Reviewed-on: rc/aircox#127
58 lines
2.1 KiB
Python
58 lines
2.1 KiB
Python
import pytest
|
|
|
|
from aircox_streamer.controllers import Metadata
|
|
|
|
|
|
class TestBaseMetaData:
|
|
@pytest.mark.django_db
|
|
def test_is_playing(self, metadata):
|
|
metadata.status = "playing"
|
|
assert metadata.is_playing
|
|
|
|
@pytest.mark.django_db
|
|
def test_is_playing_false(self, metadata):
|
|
metadata.status = "other"
|
|
assert not metadata.is_playing
|
|
|
|
@pytest.mark.django_db
|
|
def test_fetch(self, controller, metadata, metadata_data, metadata_string):
|
|
controller.connector.socket.recv_data = metadata_string
|
|
metadata.fetch()
|
|
assert metadata.uri == metadata_data["initial_uri"]
|
|
|
|
@pytest.mark.django_db
|
|
def test_validate_status_playing(self, controller, metadata):
|
|
controller.source = metadata
|
|
assert metadata.validate_status("playing") == "playing"
|
|
|
|
@pytest.mark.django_db
|
|
def test_validate_status_paused(self, controller, metadata):
|
|
controller.source = Metadata(controller, metadata.rid + 1)
|
|
assert metadata.validate_status("playing") == "paused"
|
|
|
|
@pytest.mark.django_db
|
|
def test_validate_status_stopped(self, controller, metadata):
|
|
controller.source = Metadata(controller, 2)
|
|
assert metadata.validate_status("") == "stopped"
|
|
assert metadata.validate_status("any") == "stopped"
|
|
|
|
@pytest.mark.django_db
|
|
def test_validate_air_time(self, metadata, metadata_data, metadata_data_air_time):
|
|
air_time = metadata_data["on_air"]
|
|
result = metadata.validate_air_time(air_time)
|
|
assert result == metadata_data_air_time
|
|
|
|
@pytest.mark.django_db
|
|
def test_validate_air_time_none(self, metadata):
|
|
assert metadata.validate_air_time("") is None
|
|
|
|
@pytest.mark.django_db
|
|
def test_validate(self, metadata, metadata_data, metadata_data_air_time):
|
|
metadata.validate(metadata_data)
|
|
assert metadata.uri == metadata_data["initial_uri"]
|
|
assert metadata.air_time == metadata_data_air_time
|
|
# controller.source != metadata + status = "playing"
|
|
# => status == "paused"
|
|
assert metadata.status == "paused"
|
|
assert metadata.request_status == "playing"
|