Exemple #1
0
 def test_monitoring_status_chart_registered(self):
     chart_config = DASHBOARD_CHARTS.get(0, None)
     self.assertIsNotNone(chart_config)
     self.assertEqual(chart_config['name'], 'Monitoring Status')
     self.assertIn('labels', chart_config)
     self.assertNotIn('filters', chart_config)
     query_params = chart_config['query_params']
     self.assertIn('group_by', query_params)
     self.assertEqual(query_params['group_by'], 'monitoring__status')
 def test_system_type_chart_registered(self):
     chart_config = DASHBOARD_CHARTS.get(12, None)
     self.assertIsNotNone(chart_config)
     self.assertEqual(chart_config['name'], 'System type')
     self.assertIn('labels', chart_config)
     self.assertDictEqual(chart_config['labels'], {'': 'undefined'})
     self.assertNotIn('filters', chart_config)
     query_params = chart_config['query_params']
     self.assertIn('group_by', query_params)
     self.assertEqual(query_params['group_by'], 'system')
 def test_firmware_version_chart_registered(self):
     chart_config = DASHBOARD_CHARTS.get(11, None)
     self.assertIsNotNone(chart_config)
     self.assertEqual(chart_config['name'], 'Firmware version')
     self.assertIn('labels', chart_config)
     self.assertDictEqual(chart_config['labels'], {'': 'undefined'})
     self.assertNotIn('filters', chart_config)
     query_params = chart_config['query_params']
     self.assertIn('group_by', query_params)
     self.assertEqual(query_params['group_by'], 'os')
 def test_device_models_chart_registered(self):
     chart_config = DASHBOARD_CHARTS.get(10, None)
     self.assertIsNotNone(chart_config)
     self.assertEqual(chart_config['name'], 'Device Models')
     self.assertIn('labels', chart_config)
     self.assertDictEqual(chart_config['labels'], {'': 'undefined'})
     self.assertNotIn('filters', chart_config)
     query_params = chart_config['query_params']
     self.assertIn('group_by', query_params)
     self.assertEqual(query_params['group_by'], 'model')
 def test_monitoring_integration(self, *args):
     topology, device, cert = self._create_test_env(parser='netdiff.OpenvpnParser')
     node = self._init_test_node(
         topology, addresses=['netjson_id', '10.0.0.2'], common_name=cert.common_name
     )
     node2 = self._init_test_node(topology, addresses=['netjson_id2'], label='test2')
     device.management_ip = None
     device.save()
     link = Link(
         source=node,
         target=node2,
         status='up',
         topology=topology,
         organization=topology.organization,
         cost=1,
     )
     link.full_clean()
     link.save()
     DASHBOARD_CHARTS.clear()
     DASHBOARD_TEMPLATES.clear()
     MENU.clear()
     # needed for monitoring
     trigger_device_checks = import_string(trigger_device_checks_path)
     with mock.patch.object(trigger_device_checks, 'delay') as mocked_task:
         with self.modify_settings(
             INSTALLED_APPS={
                 'append': [
                     'openwisp_monitoring.monitoring',
                     'openwisp_monitoring.device',
                     'openwisp_monitoring.check',
                     'openwisp_controller.connection',
                     'openwisp_notifications',
                 ]
             }
         ):
             link.status = 'down'
             link.save()
         mocked_task.assert_called_once()
         mocked_task.assert_called_with(device.pk, recovery=False)
Exemple #6
0
 def test_geo_chart_registered(self):
     chart_config = DASHBOARD_CHARTS.get(2, None)
     self.assertIsNotNone(chart_config)
     self.assertEqual(chart_config['name'], 'Geographic positioning')
     self.assertIn('labels', chart_config)
     query_params = chart_config['query_params']
     self.assertIn('annotate', query_params)
     self.assertIn('aggregate', query_params)
     self.assertIn('filters', chart_config)
     filters = chart_config['filters']
     self.assertIn('key', filters)
     self.assertIn('with_geo__sum', chart_config['filters'])
     self.assertIn('without_geo__sum', chart_config['filters'])
 def test_config_status_chart_registered(self):
     expected_config = {
         'name': 'Configuration Status',
         'query_params': {
             'app_label': 'config',
             'model': 'device',
             'group_by': 'config__status',
         },
         'colors': {'applied': '#267126', 'modified': '#ffb442', 'error': '#a72d1d'},
         'labels': {'applied': 'applied', 'error': 'error', 'modified': 'modified'},
     }
     chart_config = DASHBOARD_CHARTS.get(1, None)
     self.assertIsNotNone(chart_config)
     self.assertDictEqual(chart_config, expected_config)
 def test_device_group_chart_registered(self):
     chart_config = DASHBOARD_CHARTS.get(20, None)
     self.assertIsNotNone(chart_config)
     self.assertEqual(chart_config['name'], 'Groups')
     self.assertIn('labels', chart_config)
     self.assertDictEqual(
         chart_config['labels'],
         {'active': 'Active groups', 'empty': 'Empty groups'},
     )
     self.assertIn('filters', chart_config)
     query_params = chart_config['query_params']
     self.assertNotIn('group_by', query_params)
     self.assertIn('annotate', query_params)
     self.assertIn('aggregate', query_params)
     self.assertIn('filters', chart_config)
     filters = chart_config['filters']
     self.assertIn('key', filters)
     self.assertIn('active', chart_config['filters'])
     self.assertIn('empty', chart_config['filters'])