Commit Graph

65 Commits

Author SHA1 Message Date
Thomas Gelf ad7c5bc997 IcingaHost: fix tests 2016-10-25 00:30:12 +00:00
Thomas Gelf 0d86c24cd8 Huge change, getting rid of legacy assignment...
...code. All objects should work with the new code base right now
2016-10-24 03:41:37 +00:00
Thomas Gelf 9ba6116091 IcingaService: support and test speciall object...
...name variants with apply for
2016-10-22 06:54:53 +00:00
Thomas Gelf 4c9de0fa34 IcingaServiceTest: no need to store when setting...
...a connection
2016-10-22 06:37:22 +00:00
Thomas Gelf 5d693debeb IcingaServiceTest: re-add tests lost on rebase 2016-10-22 06:23:59 +00:00
Corentin Ardeois 3e30d34098 Use `config` variable in apply for rules
* use `config` instead of `value` in apply for rules
* update documentation

refs #11976
2016-10-22 06:07:57 +00:00
Corentin Ardeois e7bd4343b5 Add support for Apply for rules in services
Apply for rules are defined through `apply_for` property
Only Array custom variables will be eligible in apply_for dropdown.

API Example:
```bash
 ./director-curl POST director/service?name=my_service '{"apply_for": "for (checked_tcp_port in host.vars.checked_tcp_ports)" }'
 ```

 Will render as:
 ```
  apply Service "my_service" for (checked_tcp_port in host.vars.checked_tcp_ports) {
      ...
  }
  ```
Feature: https://dev.icinga.org/issues/11976

Depends-On: https://github.com/Icinga/icingaweb2-module-director/pull/20
refs #11976
2016-10-22 06:00:54 +00:00
Thomas Gelf b7eaab715b Make explicit calls to renderStringWithVariables 2016-10-22 05:48:09 +00:00
Corentin Ardeois 37c91050c7 Expressions syntax is now $var$
Instead of $$var$$.
We make sure $$var$$ is left untouched.

refs #11976
2016-10-22 00:15:09 +00:00
Corentin Ardeois ddcfb09f58 Handle expressions only for apply objects
Expressions will be handled only if the object is an ApplyRule.
Only properties and custom variables are replaced.

refs #11976
2016-10-22 00:15:09 +00:00
Corentin Ardeois bcef87f4c9 Add support for expressions
Any rendered string can contain variables encapsulated with "$$" characters.

Example:
Display Name declared with `Port $$host.vars.tcp_port$$ check` will
be processed as `"Port " + host.vars.tcp_port + " check"`

API:
```bash
 ./director-curl POST director/service?name=my_service '{"display_name": "Port $$host.vars.tcp_port$$ check" }'
 ```

 Rendered config:
 ```
  apply Service "my_service" {
      import "my_template"

      display_name = "Port " + host.vars.tcp_port + " check"
  }
 ```

refs #11976
2016-10-22 00:15:09 +00:00
Thomas Gelf c4da25ef25 IcingaCommandArgument: render set_if without format
Icinga DSL support was introduced in 348cb1aa6 and works fine, but breaks
rendering of legacy arguments with set_if_format = NULL. This should default
to 'string', as we should IMO not force NOT NULL in the DB in this case.

refs #12153
fixes #12886
2016-10-11 09:45:11 +00:00
Thomas Gelf 89f86abdda IcingaHostTest: remove obsolete workaround 2016-10-09 13:15:51 +00:00
Thomas Gelf d915bb25f7 CustomVariablesTest: testVarsCanBeUnsetAndSetAgain 2016-09-08 23:13:48 +00:00
Thomas Gelf 8390457939 test/Objects: check for new constant imports 2016-09-08 22:41:58 +00:00
Thomas Gelf 2c6afcbd66 IcingaTimePeriodTest: adjust to recent changes 2016-09-08 15:25:36 +00:00
Thomas Gelf 8a3956b6a2 IcingaServiceTest: delete after storing them 2016-09-08 13:52:07 +00:00
Thomas Gelf 999019ba16 IcingaService: make sure to have a db connection
...when rendering, as we require settings
2016-09-08 13:30:37 +00:00
Thomas Gelf 4f4b6eb63a IcingaService: allow host vars to override vars...
...for applied services

refs #12546
2016-09-08 10:45:02 +00:00
Thomas Gelf 4cd399e059 IcingaConfigHelper: use string-based sort for...
...dictionary fields to make PHP 5.x and PHP 7.x produce the same output.

refs #12591
2016-09-07 20:44:03 +00:00
Thomas Gelf 6427b22621 IcingaConfigHelper: fix numeric dictionary key...
...rendering and add related tests

fixes #12591
2016-08-30 12:15:48 +00:00
Thomas Gelf d142fa1c49 tests: adjust rendered dictionaries to fit...
...latest changes

refs #12447
2016-08-26 07:07:35 +00:00
Thomas Gelf 6258230fdb IcingaArguments: test and fix modification tracking
This fixes related behaviour when working on CLI, API or through
Sync Rules - but not web forms

refs #12266
2016-08-01 09:31:10 +00:00
Thomas Gelf 439757d464 IcingaHost: introduce API keys 2016-07-26 09:52:55 +02:00
Thomas Gelf 4e083d7d40 CustomVariables: use array notation for keys...
...with special characters
2016-07-22 18:09:02 +02:00
Thomas Gelf 15acbb5290 IcingaObject::replaceWith: implement preserve...
...and add related tests, as this is a tricky one
2016-07-14 17:06:48 +02:00
Thomas Gelf 123b4c7549 tests: be resiliant to adjusted master zone 2016-05-26 01:33:55 +02:00
Thomas Gelf 2ae326ab8c IcingaTimePeriod: add and test isActive() method 2016-05-18 21:21:53 +02:00
Thomas Gelf 4222261434 IcingaCommand: fix windows absolute path detection
Also add a couple of new related tests

fixes #11550
2016-05-13 16:01:47 +02:00
Thomas Gelf 1158409eeb IcingaObject: fix rendering target and tests 2016-05-02 10:23:32 +02:00
Thomas Gelf df8926a420 test/php: add new host/service render target checks 2016-04-20 10:20:13 +02:00
Thomas Gelf 41ed29df8c IcingaCommandTest: add new command-related tests 2016-04-02 20:19:19 +02:00
Thomas Gelf 1034ff3867 IcingaServiceTest: new assignment-related tests 2016-03-24 06:44:02 +01:00
Thomas Gelf 89a2f40c81 IcingaCommandTest: add new test 2016-03-21 10:09:57 +01:00
Thomas Gelf 3970f381dd IcingaTimePeriodTest: stricter tests 2016-03-17 23:05:16 +01:00
Thomas Gelf 91ff752fec IcingaNotificationTest: intensively test modify 2016-03-16 21:35:33 +01:00
Thomas Gelf e557ea8f63 IcingaNotificationTest: related empty groups...
...should be returned when returning full plain object
2016-03-16 15:16:35 +01:00
Thomas Gelf ab90f51cfa IcingaNotificationTest: add rendering test 2016-03-16 13:54:09 +01:00
Thomas Gelf f78c858fe7 IcingaNotificationTest: add store & reload check 2016-03-16 13:48:21 +01:00
Thomas Gelf e5605afb41 IcingaNotificationTest: test related objects...
...for notifications
2016-03-16 13:03:24 +01:00
Thomas Gelf 41b909e64e IcingaHostTest: fix delete order for failing test 2016-03-15 20:44:36 +01:00
Thomas Gelf bbd96fd375 IcingaHostTest: more tests 2016-03-08 21:24:42 +01:00
Thomas Gelf 8cb84c7735 IcingaHostTest: skip db-related test with no db 2016-03-08 09:25:43 +01:00
Thomas Gelf fdfedbae04 IcingaConfigHelper: render dictionaries sorted
Adjusted test scenario
2016-03-08 09:24:18 +01:00
Thomas Gelf 407a47a6ec IcingaHostTest: add a couple of tests...
...related to recently added lazy-loading capabilities
2016-03-08 09:20:27 +01:00
Thomas Gelf a80aed49a1 StateFilterTest: a couple of tests for state filters 2016-03-01 04:28:26 +01:00
Thomas Gelf 4b46330855 ExtensibleSet: do not quote values, adjust tests 2016-02-29 18:30:32 +01:00
Thomas Gelf 245e632f54 ExtensibleSet: fix tests 2016-02-29 17:37:01 +01:00
Thomas Gelf cc70193a56 ExtensibleSet: add and test renderer 2016-02-29 12:38:31 +01:00
Thomas Gelf 23dd4721ec ExtensibleSet: basic implementation & tests 2016-02-29 12:23:08 +01:00