From 5a75f428086eecbaefc4926b67ec9c5b4b0bedf7 Mon Sep 17 00:00:00 2001 From: Christophe Siraut Date: Fri, 29 Sep 2023 20:02:18 +0200 Subject: [PATCH] management/sounds_monitor: re-enable sounds scan --- aircox/management/commands/sounds_monitor.py | 9 +++------ aircox/tests/management/test_sounds_monitor.py | 18 ++++++++++++++++++ requirements_tests.txt | 1 + 3 files changed, 22 insertions(+), 6 deletions(-) create mode 100644 aircox/tests/management/test_sounds_monitor.py diff --git a/aircox/management/commands/sounds_monitor.py b/aircox/management/commands/sounds_monitor.py index 8c87643..735d68b 100755 --- a/aircox/management/commands/sounds_monitor.py +++ b/aircox/management/commands/sounds_monitor.py @@ -1,5 +1,4 @@ #! /usr/bin/env python3 -# TODO: SoundMonitor class """Monitor sound files; For each program, check for: @@ -62,10 +61,8 @@ class Command(BaseCommand): ) def handle(self, *args, **options): - SoundMonitor() + monitor = SoundMonitor() if options.get("scan"): - self.scan() - # if options.get('quality_check'): - # self.check_quality(check=(not options.get('scan'))) + monitor.scan() if options.get("monitor"): - self.monitor() + monitor.monitor() diff --git a/aircox/tests/management/test_sounds_monitor.py b/aircox/tests/management/test_sounds_monitor.py new file mode 100644 index 0000000..10c8048 --- /dev/null +++ b/aircox/tests/management/test_sounds_monitor.py @@ -0,0 +1,18 @@ +import pytest +import os + +from django.core.management import call_command +from django.conf import settings + +wav = b"RIFF$\x00\x00\x00WAVEfmt \x10\x00\x00\x00\x01\x00\x02\x00D\xac\x00\x00\x10\xb1\x02\x00\x04\x00\x10\x00data\x00\x00\x00\x00" + + +@pytest.mark.django_db +def test_adding_a_sound(programs, fs): + p0 = programs[0] + assert len(p0.sound_set.all()) == 0 + + s0 = os.path.join(settings.PROJECT_ROOT, "static/media/%s/archives/sound.wav" % p0.path) + fs.create_file(s0, contents=wav) + call_command("sounds_monitor", "-s") + assert len(p0.sound_set.all()) == 1 diff --git a/requirements_tests.txt b/requirements_tests.txt index 9007f2b..99948b7 100644 --- a/requirements_tests.txt +++ b/requirements_tests.txt @@ -1,3 +1,4 @@ pytest~=7.2 pytest-django~=4.5 model_bakery~=1.10 +pyfakefs~=5.2