Skip to content
Alexander edited this page Jul 18, 2014 · 2 revisions

gns-rules-checker - инструмент для проверки правил GNS локально.

Основное предназначение этого инструмента - убедиться в том, что правило отработает в GNS так, как вы этого ожидаете.

Как использовать

Для того что бы использовать gns_checker вам надо следующее:

Правила

Собственно, правило или несколько правил, которые вы хотите проверить. Путь к пакету с правилом указывается опции -r.

Как создать правило.

Описание события на которое должно реагировать ваше правило.

Событие должно быть в JSON'е. gns-checker может прочитать его из файла (опция -e) или прочитать из stdin'а (в качестве параметра опции -e надо передать -) и отдать правило через пайп. Событие - любой валидный JSON.

Конфиг GNS

Необходим для работы email, sms, etc уведомлений). При установке, с пакетом приезжает дефолтная конфигурация, в которой в качестве SMTP сервера указан localhost, если вы хотите использовать другой сервер - скопируйте себе конфиг и измените сервер. Таким же оброзом можно менять и другие настройки.

Запуск

$ gns-checker -c gnsruleschecker/config.yaml -e event.json -r ./testrules
2014-07-08 17:25:52,376 [DEBUG] raava.handlers: Loading rules from head: ; root: /Users/alexanderk/dev/gns-rules-tester/testrules
2014-07-08 17:25:52,377 [DEBUG] raava.handlers: Scanning for rules: rule.py
2014-07-08 17:25:52,500 [DEBUG] raava.handlers: Loaded on_event handler from <module 'rule' from '/Users/alexanderk/dev/gns-rules-tester/testrules/rule.py'>
2014-07-08 17:25:52,500 [DEBUG] raava.rules: Applied: bac3ef1c-3008-4817-8a79-99821d1373d5 --> rule.on_event
2014-07-08 17:25:52,510 [DEBUG] gnshelpers.output.via_email: Sending email to: ['[email protected]']; cc: []; via SMTP None@localhost
2014-07-08 17:25:53,808 [INFO] gnshelpers.output.via_email: Email sent to: ['[email protected]']; cc: []

Посмотреть живой пример можно тут.