Ejemplo n.º 1
0
 def __init__(self, *args):
     self.logdir = tempfile.mkdtemp()
     self.events_processes_registry = EventsProcessesRegistry(
         log_dir=self.logdir)
     self.events_processes_registry_patcher = \
         unittest.mock.patch("sdcm.sct_events.base.SctEvent._events_processes_registry",
                             self.events_processes_registry)
     self.events_processes_registry_patcher.start()
     configure_logging(formatters={
         'default': {
             '()': MultilineMessagesFormatter,
             'format': '%(message)s'
         }
     },
                       variables={'log_dir': self.logdir})
     super().__init__(*args)
Ejemplo n.º 2
0
    def setup_events_processes(cls, events_device: bool,
                               events_main_device: bool,
                               registry_patcher: bool):
        """Setup own copy of Events Device machinery."""

        cls.temp_dir = tempfile.mkdtemp()
        cls.events_processes_registry = EventsProcessesRegistry(
            log_dir=cls.temp_dir)
        if registry_patcher:
            cls.events_processes_registry_patcher = \
                unittest.mock.patch("sdcm.sct_events.base.SctEvent._events_processes_registry",
                                    cls.events_processes_registry)
            cls.events_processes_registry_patcher.start()
        if events_device:
            start_events_device(_registry=cls.events_processes_registry)
        elif events_main_device:
            start_events_main_device(_registry=cls.events_processes_registry)
            time.sleep(EVENTS_DEVICE_START_DELAY)
        cls.events_main_device = get_events_main_device(
            _registry=cls.events_processes_registry)
class TestEventsProcessesRegistry(unittest.TestCase):
    def setUp(self):
        self.registry = EventsProcessesRegistry("some_path")

    def test_fresh(self):
        self.assertEqual(self.registry._registry_dict, {})  # pylint: disable=protected-access
        self.assertEqual(self.registry.log_dir, Path("some_path"))

    # pylint: disable=protected-access
    def test_start_events_process(self):
        self.registry.start_events_process("test", FakeProcess)
        self.assertEqual(len(self.registry._registry_dict), 1)
        self.assertIn("test", self.registry._registry_dict)
        self.assertEqual(self.registry._registry_dict["test"]._registry,
                         self.registry)
        self.assertTrue(self.registry._registry_dict["test"].started)

    def test_get_events_process(self):
        process = self.registry.get_events_process("test")
        self.assertIsNone(process)
        self.registry.start_events_process("test", FakeProcess)
        process = self.registry.get_events_process("test")
        self.assertEqual(process._registry, self.registry)
        self.assertTrue(process.started)

    @unittest.mock.patch("sdcm.sct_events.events_processes._EVENTS_PROCESSES",
                         not None)
    def test_create_default_registry_exists(self):
        self.assertRaises(RuntimeError,
                          create_default_events_process_registry,
                          log_dir="some_path")
        self.assertEqual(get_default_events_process_registry(), not None)

    @unittest.mock.patch("sdcm.sct_events.events_processes._EVENTS_PROCESSES",
                         None)
    def test_create_default_registry(self):
        self.assertEqual(get_default_events_process_registry(not None),
                         not None)
        self.assertRaises(RuntimeError, get_default_events_process_registry)
        registry = create_default_events_process_registry(log_dir="some_path")
        self.assertEqual(registry.log_dir, Path("some_path"))
        self.assertEqual(registry.default, True)
        self.assertIs(get_default_events_process_registry(), registry)
 def setUp(self):
     self.registry = EventsProcessesRegistry("some_path")
 def setUpClass(cls) -> None:
     cls.temp_dir = tempfile.mkdtemp()
     cls.events_processes_registry = EventsProcessesRegistry(
         log_dir=cls.temp_dir)