def test_start(self):
        execution_commands = [{
            'clusterName': 'cluster',
            'hostName': 'host',
            'alertDefinition': {
                'name': 'alert1'
            }
        }]

        scheduler = AlertSchedulerHandler(TEST_PATH, TEST_PATH, TEST_PATH,
                                          TEST_PATH, None, None)
        alert_mock = MagicMock()
        alert_mock.interval = Mock(return_value=5)
        alert_mock.collect = Mock()
        alert_mock.set_helpers = Mock()
        scheduler.schedule_definition = MagicMock()
        scheduler._AlertSchedulerHandler__scheduler = MagicMock()
        scheduler._AlertSchedulerHandler__scheduler.running = False
        scheduler._AlertSchedulerHandler__scheduler.start = Mock()
        scheduler._AlertSchedulerHandler__json_to_callable = Mock(
            return_value=alert_mock)
        scheduler._AlertSchedulerHandler__config_maps = {'cluster': {}}

        scheduler.start()

        self.assertTrue(
            scheduler._AlertSchedulerHandler__scheduler.start.called)
        scheduler.schedule_definition.assert_called_with(alert_mock)
  def test_start(self):
    execution_commands = [
      {
        'clusterName': 'cluster',
        'hostName': 'host',
        'alertDefinition': {
          'name': 'alert1'
        }
      }
    ]

    scheduler = AlertSchedulerHandler(TEST_PATH, TEST_PATH, TEST_PATH, TEST_PATH, 5, None, None, None)
    alert_mock = MagicMock()
    alert_mock.interval = Mock(return_value=5)
    alert_mock.collect = Mock()
    alert_mock.set_helpers = Mock()
    scheduler.schedule_definition = MagicMock()
    scheduler._AlertSchedulerHandler__scheduler = MagicMock()
    scheduler._AlertSchedulerHandler__scheduler.running = False
    scheduler._AlertSchedulerHandler__scheduler.start = Mock()
    scheduler._AlertSchedulerHandler__json_to_callable = Mock(return_value=alert_mock)
    scheduler._AlertSchedulerHandler__config_maps = {
      'cluster': {}
    }

    scheduler.start()

    self.assertTrue(scheduler._AlertSchedulerHandler__scheduler.start.called)
    scheduler.schedule_definition.assert_called_with(alert_mock)
    def test_execute_alert_from_extension(self):
        execution_commands = [{
            'clusterName': 'cluster',
            'hostName': 'host',
            'publicHostName': 'host',
            'alertDefinition': {
                'name': 'alert1'
            }
        }]

        scheduler = AlertSchedulerHandler('wrong_path', 'wrong_path',
                                          'wrong_path', TEST_PATH,
                                          'wrong_path', None, self.config,
                                          None)
        alert_mock = MagicMock()
        alert_mock.collect = Mock()
        alert_mock.set_helpers = Mock()
        scheduler._AlertSchedulerHandler__json_to_callable = Mock(
            return_value=alert_mock)
        scheduler._AlertSchedulerHandler__config_maps = {'cluster': {}}

        scheduler.execute_alert(execution_commands)

        scheduler._AlertSchedulerHandler__json_to_callable.assert_called_with(
            'cluster', 'host', 'host', {'name': 'alert1'})
        self.assertTrue(alert_mock.collect.called)
  def test_execute_alert(self):
    execution_commands = [
      {
        'clusterName': 'cluster',
        'hostName': 'host',
        'alertDefinition': {
          'name': 'alert1'
        }
      }
    ]

    scheduler = AlertSchedulerHandler(TEST_PATH, TEST_PATH, TEST_PATH, TEST_PATH, 5, None, None, None)
    alert_mock = MagicMock()
    alert_mock.collect = Mock()
    alert_mock.set_helpers = Mock()
    scheduler._AlertSchedulerHandler__json_to_callable = Mock(return_value=alert_mock)
    scheduler._AlertSchedulerHandler__config_maps = {
      'cluster': {}
    }

    scheduler.execute_alert(execution_commands)

    scheduler._AlertSchedulerHandler__json_to_callable.assert_called_with('cluster', 'host', {'name': 'alert1'})
    self.assertTrue(alert_mock.collect.called)