コード例 #1
0
  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)
コード例 #2
0
    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)
コード例 #3
0
    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)
コード例 #4
0
    def test_json_to_callable_none(self):
        json_definition = {'source': {'type': 'SOMETHING'}}

        scheduler = AlertSchedulerHandler(TEST_PATH, TEST_PATH, TEST_PATH,
                                          TEST_PATH, None, None)
        callable_result = scheduler._AlertSchedulerHandler__json_to_callable(
            'cluster', 'host', copy.deepcopy(json_definition))

        self.assertTrue(callable_result is None)
コード例 #5
0
  def test_execute_alert_emptyCommands(self):
    execution_commands = []

    scheduler = AlertSchedulerHandler(TEST_PATH, TEST_PATH, TEST_PATH, TEST_PATH, 5, None, None, None)
    alert_mock = Mock()
    scheduler._AlertSchedulerHandler__json_to_callable = Mock(return_value=alert_mock)

    scheduler.execute_alert(execution_commands)

    self.assertFalse(alert_mock.collect.called)
コード例 #6
0
  def test_json_to_callable_none(self):
    json_definition = {
      'source': {
        'type': 'SOMETHING'
      }
    }

    scheduler = AlertSchedulerHandler(TEST_PATH, TEST_PATH, TEST_PATH, TEST_PATH, 5, None, None, None)
    callable_result = scheduler._AlertSchedulerHandler__json_to_callable('cluster', 'host', copy.deepcopy(json_definition))

    self.assertTrue(callable_result is None)
コード例 #7
0
    def test_execute_alert_emptyCommands(self):
        execution_commands = []

        scheduler = AlertSchedulerHandler(TEST_PATH, TEST_PATH, TEST_PATH,
                                          TEST_PATH, None, None)
        alert_mock = Mock()
        scheduler._AlertSchedulerHandler__json_to_callable = Mock(
            return_value=alert_mock)

        scheduler.execute_alert(execution_commands)

        self.assertFalse(alert_mock.collect.called)
コード例 #8
0
    def test_json_to_callable_port(self):
        json_definition = {'source': {'type': 'PORT'}}

        scheduler = AlertSchedulerHandler(TEST_PATH, TEST_PATH, TEST_PATH,
                                          TEST_PATH, None, None)
        callable_result = scheduler._AlertSchedulerHandler__json_to_callable(
            'cluster', 'host', copy.deepcopy(json_definition))

        self.assertTrue(callable_result is not None)
        self.assertTrue(isinstance(callable_result, PortAlert))
        self.assertEquals(callable_result.alert_meta, json_definition)
        self.assertEquals(callable_result.alert_source_meta,
                          json_definition['source'])
コード例 #9
0
    def test_json_to_callable_ams(self):
        scheduler = AlertSchedulerHandler(TEST_PATH, TEST_PATH, TEST_PATH,
                                          TEST_PATH, None, self.config, None)
        json_definition = {'source': {'type': 'AMS'}}

        callable_result = scheduler._AlertSchedulerHandler__json_to_callable(
            'cluster', 'host', copy.deepcopy(json_definition))

        self.assertTrue(callable_result is not None)
        self.assertTrue(isinstance(callable_result, AmsAlert))
        self.assertEquals(callable_result.alert_meta, json_definition)
        self.assertEquals(callable_result.alert_source_meta,
                          json_definition['source'])
コード例 #10
0
  def test_execute_alert_emptyCommands(self):
    execution_commands = []

    initializer_module = InitializerModule()
    initializer_module.init()
    
    scheduler = AlertSchedulerHandler(initializer_module)
    #TEST_PATH, TEST_PATH, TEST_PATH, TEST_PATH, TEST_PATH, None, self.config, None)
    alert_mock = Mock()
    scheduler._AlertSchedulerHandler__json_to_callable = Mock(return_value=alert_mock)

    scheduler.execute_alert(execution_commands)

    self.assertFalse(alert_mock.collect.called)
コード例 #11
0
  def test_json_to_callable_port(self):
    json_definition = {
      'source': {
        'type': 'PORT'
      }
    }

    scheduler = AlertSchedulerHandler(TEST_PATH, TEST_PATH, TEST_PATH, TEST_PATH, 5, None, None, None)
    callable_result = scheduler._AlertSchedulerHandler__json_to_callable('cluster', 'host', copy.deepcopy(json_definition))

    self.assertTrue(callable_result is not None)
    self.assertTrue(isinstance(callable_result, PortAlert))
    self.assertEquals(callable_result.alert_meta, json_definition)
    self.assertEquals(callable_result.alert_source_meta, json_definition['source'])
コード例 #12
0
  def test_json_to_callable_ams(self):
    scheduler = AlertSchedulerHandler(TEST_PATH, TEST_PATH, TEST_PATH, TEST_PATH, None, self.config, None)
    json_definition = {
      'source': {
        'type': 'AMS'
      }
    }

    callable_result = scheduler._AlertSchedulerHandler__json_to_callable('cluster', 'host', copy.deepcopy(json_definition))

    self.assertTrue(callable_result is not None)
    self.assertTrue(isinstance(callable_result, AmsAlert))
    self.assertEquals(callable_result.alert_meta, json_definition)
    self.assertEquals(callable_result.alert_source_meta, json_definition['source'])
コード例 #13
0
  def test_json_to_callable_none(self):
    json_definition = {
      'source': {
        'type': 'SOMETHING'
      }
    }

    initializer_module = InitializerModule()
    initializer_module.init()
    
    scheduler = AlertSchedulerHandler(initializer_module)
    #(TEST_PATH, TEST_PATH, TEST_PATH, TEST_PATH, TEST_PATH, None, self.config, None)
    callable_result = scheduler._AlertSchedulerHandler__json_to_callable('cluster', 'host', 'host', copy.deepcopy(json_definition))

    self.assertTrue(callable_result is None)
コード例 #14
0
  def test_json_to_callable_metric(self):
    initializer_module = InitializerModule()
    initializer_module.init()
    
    scheduler = AlertSchedulerHandler(initializer_module)
    #(TEST_PATH, TEST_PATH, TEST_PATH, TEST_PATH, TEST_PATH, None, self.config, None)
    json_definition = {
      'source': {
        'type': 'METRIC'
      }
    }

    callable_result = scheduler._AlertSchedulerHandler__json_to_callable('cluster', 'host', 'host', copy.deepcopy(json_definition))

    self.assertTrue(callable_result is not None)
    self.assertTrue(isinstance(callable_result, MetricAlert))
    self.assertEquals(callable_result.alert_meta, json_definition)
    self.assertEquals(callable_result.alert_source_meta, json_definition['source'])
コード例 #15
0
  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)