Skip to content

Commit

Permalink
Merge pull request #83 from manuhortet/features/79
Browse files Browse the repository at this point in the history
Features/79
  • Loading branch information
José Noguera committed Sep 10, 2018
2 parents fb336ca + 6e9780b commit ca03a08
Show file tree
Hide file tree
Showing 4 changed files with 36 additions and 2 deletions.
3 changes: 3 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -130,6 +130,9 @@ Path: <log file path> # default: /var/log/prom2teams/prom2teams.log
[Template]
Path: <Jinja2 template path> # default: app resources template
[Group Alerts]
Field: <Field to group alerts by> # alerts won't be grouped by default
```

### Configuring Prometheus
Expand Down
6 changes: 4 additions & 2 deletions prom2teams/app/configuration.py
Original file line number Diff line number Diff line change
Expand Up @@ -34,6 +34,8 @@ def _update_application_configuration(application, configuration):
application.config['LOG_LEVEL'] = configuration['Log']['Level']
if 'Log' in configuration and 'Path' in configuration['Log']:
application.config['LOG_FILE_PATH'] = configuration['Log']['Path']
if 'Group Alerts' in configuration:
application.config['GROUP_ALERTS_BY'] = configuration['Group Alerts']['Field']
if 'HTTP Server' in configuration:
if 'Host' in configuration['HTTP Server']:
_host = configuration['HTTP Server']['Host']
Expand Down Expand Up @@ -108,8 +110,8 @@ def config_app(application):
application.config['LOG_FILE_PATH'] = command_line_args.logfilepath
if command_line_args.templatepath:
application.config['TEMPLATE_PATH'] = command_line_args.templatepath
if command_line_args.templatepath:
application.config['GROUP_ALERTS_BY'] = command_line_args.groupalerts
if command_line_args.groupalertsby:
application.config['GROUP_ALERTS_BY'] = command_line_args.groupalertsby

if 'MICROSOFT_TEAMS' not in application.config:
raise MissingConnectorConfigKeyException('missing connector key in config')
Expand Down
16 changes: 16 additions & 0 deletions tests/data/all_fields.ini
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
[HTTP Server]
Host: 1.1.1.1
Port: 9089

[Microsoft Teams]
Connector: some_url

[Log]
Level: TEST
Path: /var/log/prom2teams/test.log

[Template]
Path: jinja2/template/path

[Group Alerts]
Field: name
13 changes: 13 additions & 0 deletions tests/test_app_configuration.py
Original file line number Diff line number Diff line change
Expand Up @@ -39,6 +39,19 @@ def test_connectors_configured(self):
self.assertEqual(config['Microsoft Teams']['connector2'], 'another_teams_webhook_url')
self.assertEqual(config['Microsoft Teams']['connector3'], 'definitely_another_teams_webhook_url')

def test_get_config_for_all_fields(self):
provided_config_relative_path = self.TEST_CONFIG_FILES_PATH + 'all_fields.ini'
config = configuration._config_provided(provided_config_relative_path)

self.assertEqual(config.get('HTTP Server', 'Host'), '1.1.1.1')
self.assertEqual(config.get('HTTP Server', 'Port'), '9089')
self.assertEqual(config.get('Microsoft Teams', 'Connector'), 'some_url')
self.assertEqual(config.get('Log', 'Level'), 'TEST')
self.assertEqual(config.get('Log', 'Path'), '/var/log/prom2teams/test.log')
self.assertEqual(config.get('Template', 'Path'), 'jinja2/template/path')
self.assertEqual(config.get('Group Alerts', 'Field'), 'name')



if __name__ == '__main__':
unittest.main()

0 comments on commit ca03a08

Please sign in to comment.