inspec/docs/resources/ini.md.erb
djenniex-bene 2cfc0acaae SMTP example for the ini resource was incorrect and did not work (#2461)
* SMTP example for the ini resource was incorrect and did not work

Obvious fix.

* Fixed documentation and removed semicolons as the ini parser includes those semicolons

Obvious fix.
2018-01-17 11:41:33 -08:00

69 lines
1.5 KiB
Text

---
title: About the ini Resource
---
# ini
Use the `ini` InSpec audit resource to test settings in an INI file.
<br>
## Syntax
An `ini` resource block declares the configuration settings to be tested:
describe ini('path') do
its('setting_name') { should eq 'value' }
end
where
* `'setting_name'` is a setting key defined in the INI file
* `('path')` is the path to the INI file
* `{ should eq 'value' }` is the value that is expected
For example:
describe ini('path/to/ini_file.ini') do
its('port') { should eq '143' }
its('server') { should eq '192.0.2.62' }
end
Settings inside of sections, such as the following:
[section_name]
setting_name = 123
... can be retrieved by prefixing the setting_name with the section.
its('section_name.setting_name') { should cmp 123 }
In the event a section or setting name has a period in it, the alternate syntax can be used:
its(['section.with.a.dot.in.it', 'setting.name.with.dots']) { should cmp 'lotsadots' }
<br>
## Examples
The following examples show how to use this InSpec audit resource.
### Test SMTP settings in a PHP INI file
For example, a PHP INI file located at contains the following settings:
[mail function]
SMTP = smtp.gmail.com
smtp_port = 465
and can be tested like this:
describe ini('/etc/php5/apache2/php.ini') do
its('mail function.smtp_port') { should eq('465') }
end
<br>
## Matchers
For a full list of available matchers please visit our [matchers page](https://www.inspec.io/docs/reference/matchers/).