Skip to content
Snippets Groups Projects
Select Git revision
  • dce19396efe9357b4d00a387c83a06041bec3b10
  • master default protected
  • pbs_support
  • windows-fixes
  • T53099-gpu-rendering
  • wip-double-running
  • v2.2.1
  • v2.2
  • v2.2-dev8
  • v2.1.0
  • v2.0.8
  • v2.0.7
  • v2.0.6
  • v2.0.6-beta1
  • v2.0.5
  • v2.0.4
  • v2.0.2
  • v2.0.1
  • v2.0
  • v2.0-beta10-worker6
  • v2.0-beta10-worker5
  • v2.0-beta10-worker4
  • v2.0-beta10-worker3
  • v2.0-beta10
  • v2.0-beta9
  • v2.0-beta8
26 results

test_commands_remove_tree.py

Blame
  • user avatar
    Sybren A. Stüvel authored
    dce19396
    History
    test_commands_remove_tree.py 3.10 KiB
    from pathlib import Path
    import os
    
    from test_runner import AbstractCommandTest
    
    
    class RemoveTreeTest(AbstractCommandTest):
        def setUp(self):
            super().setUp()
    
            from flamenco_worker.commands import RemoveTreeCommand
            import tempfile
    
            self.tmpdir = tempfile.TemporaryDirectory()
            self.tmppath = Path(self.tmpdir.name)
    
            self.cmd = RemoveTreeCommand(
                worker=self.fworker,
                task_id='12345',
                command_idx=0,
            )
    
        def tearDown(self):
            super().tearDown()
            self.tmpdir.cleanup()
    
        def test_validate_settings(self):
            self.assertIn('path', self.cmd.validate({'path': 12}))
            self.assertIn('path', self.cmd.validate({'path': ''}))
            self.assertIn('path', self.cmd.validate({}))
            self.assertFalse(self.cmd.validate({'path': '/some/path'}))
    
        def test_nonexistant_source(self):
            path = self.tmppath / 'nonexisting'
            task = self.cmd.run({'path': str(path)})
            ok = self.loop.run_until_complete(task)
    
            self.assertTrue(ok)
            self.assertFalse(path.exists())
    
        def test_source_file(self):
            path = self.tmppath / 'existing'
            path.touch()
            task = self.cmd.run({'path': str(path)})
            ok = self.loop.run_until_complete(task)
    
            self.assertTrue(ok)
            self.assertFalse(path.exists())
    
        def test_soure_dir_with_files(self):
            path = self.tmppath / 'dir'
            path.mkdir()
            (path / 'a.file').touch()
            (path / 'b.file').touch()
            (path / 'c.file').touch()
    
            task = self.cmd.run({'path': str(path)})
            ok = self.loop.run_until_complete(task)
    
            self.assertTrue(ok)
            self.assertFalse(path.exists())
    
        def test_soure_dir_with_files_and_dirs(self):
            path = self.tmppath / 'dir'
            path.mkdir()
            (path / 'subdir-a' / 'subsub-1').mkdir(parents=True)
            (path / 'subdir-a' / 'subsub-2').mkdir()
            (path / 'subdir-a' / 'subsub-3').mkdir()
            (path / 'subdir-b' / 'subsub-1').mkdir(parents=True)
            (path / 'subdir-c' / 'subsub-1').mkdir(parents=True)
            (path / 'subdir-c' / 'subsub-2').mkdir()
            (path / 'a.file').touch()
            (path / 'b.file').touch()
            (path / 'c.file').touch()
    
            (path / 'subdir-a' / 'subsub-1' / 'a.file').touch()
            (path / 'subdir-a' / 'subsub-1' / 'b.file').touch()
            (path / 'subdir-a' / 'subsub-2' / 'a.file').touch()
            (path / 'subdir-a' / 'subsub-2' / 'b.file').touch()
            (path / 'subdir-a' / 'subsub-3' / 'a.file').touch()
            (path / 'subdir-a' / 'subsub-3' / 'b.file').touch()
            (path / 'subdir-b' / 'subsub-1' / 'a.file').touch()
            (path / 'subdir-b' / 'subsub-1' / 'b.file').touch()
            (path / 'subdir-c' / 'subsub-1' / 'a.file').touch()
            (path / 'subdir-c' / 'subsub-1' / 'b.file').touch()
            (path / 'subdir-c' / 'subsub-2' / 'a.file').touch()
            (path / 'subdir-c' / 'subsub-2' / 'b.file').touch()
    
            task = self.cmd.run({'path': str(path)})
            ok = self.loop.run_until_complete(task)
    
            self.assertTrue(ok)
            self.assertFalse(path.exists())