forked from rc/aircox
		
	110fac70a6 n'est pas lié à #123 (tu peux l'ignorer ici mais rc/aircox#122 (comment)) 04f5c3208a : nettoyage d'anciens tests, je ne suis pas parvenu à rétablir le dernier, je l'ai préfixé avec broken_. Il y aurait aussi à supprimer/corriger aircox/tests/management/_test_sound_monitor.py 5a75f42808 : le correctif qui permet d'ajouter des sons dans une émission à l'aide de la commande `sounds_scan`. Co-authored-by: Christophe Siraut <d@tobald.eu.org> Reviewed-on: rc/aircox#125 Co-authored-by: Chris Tactic <chris@tacticasbl.be> Co-committed-by: Chris Tactic <chris@tacticasbl.be>
This commit is contained in:
		@ -206,29 +206,48 @@ def monitor():
 | 
			
		||||
    yield sound_monitor.SoundMonitor()
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
class SoundMonitor:
 | 
			
		||||
class TestSoundMonitor:
 | 
			
		||||
    @pytest.mark.django_db
 | 
			
		||||
    def test_report(self, monitor, program, logger):
 | 
			
		||||
        monitor.report(program, "component", "content", logger=logger)
 | 
			
		||||
        msg = f"{program}, component: content"
 | 
			
		||||
        assert logger._trace("info", args=True) == (msg,)
 | 
			
		||||
 | 
			
		||||
    def test_scan(self, monitor, program, logger):
 | 
			
		||||
    @pytest.mark.django_db
 | 
			
		||||
    def test_scan(self, monitor, programs, logger):
 | 
			
		||||
        interface = Interface(None, {"scan_for_program": None})
 | 
			
		||||
        monitor.scan_for_program = interface.scan_for_program
 | 
			
		||||
        dirs = monitor.scan(logger)
 | 
			
		||||
 | 
			
		||||
        assert logger._traces("info") == (
 | 
			
		||||
            "scan all programs...",
 | 
			
		||||
            f"#{program.id} {program.title}",
 | 
			
		||||
        assert logger._traces("info") == tuple(
 | 
			
		||||
            [
 | 
			
		||||
                (("scan all programs...",), {}),
 | 
			
		||||
            ]
 | 
			
		||||
            + [
 | 
			
		||||
                ((f"#{program.id} {program.title}",), {})
 | 
			
		||||
                for program in programs
 | 
			
		||||
            ]
 | 
			
		||||
        )
 | 
			
		||||
        assert dirs == [program.abspath]
 | 
			
		||||
        assert interface._traces("scan_for_program") == (
 | 
			
		||||
            ((program, settings.SOUND_ARCHIVES_SUBDIR), {"logger": logger})(
 | 
			
		||||
                (program, settings.SOUND_EXCERPTS_SUBDIR), {"logger": logger}
 | 
			
		||||
            )
 | 
			
		||||
        assert dirs == [program.abspath for program in programs]
 | 
			
		||||
        traces = tuple(
 | 
			
		||||
            [
 | 
			
		||||
                [
 | 
			
		||||
                    (
 | 
			
		||||
                        (program, settings.SOUND_ARCHIVES_SUBDIR),
 | 
			
		||||
                        {"logger": logger, "type": Sound.TYPE_ARCHIVE},
 | 
			
		||||
                    ),
 | 
			
		||||
                    (
 | 
			
		||||
                        (program, settings.SOUND_EXCERPTS_SUBDIR),
 | 
			
		||||
                        {"logger": logger, "type": Sound.TYPE_EXCERPT},
 | 
			
		||||
                    ),
 | 
			
		||||
                ]
 | 
			
		||||
                for program in programs
 | 
			
		||||
            ]
 | 
			
		||||
        )
 | 
			
		||||
        traces_flat = tuple([item for sublist in traces for item in sublist])
 | 
			
		||||
        assert interface._traces("scan_for_program") == traces_flat
 | 
			
		||||
 | 
			
		||||
    def test_monitor(self, monitor, monitor_interfaces, logger):
 | 
			
		||||
    def broken_test_monitor(self, monitor, monitor_interfaces, logger):
 | 
			
		||||
        def sleep(*args, **kwargs):
 | 
			
		||||
            monitor.stop()
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
		Reference in New Issue
	
	Block a user