ci(travis): add Inspec tests

This commit is contained in:
Nicolas Rodriguez
2019-08-26 10:30:19 +02:00
committed by Nicolas Rodriguez
parent 4657f44f09
commit 168926a660
10 changed files with 479 additions and 1 deletions
+50
View File
@@ -0,0 +1,50 @@
# InSpec Profile: `default`
This shows the implementation of the `default` InSpec [profile](https://github.com/inspec/inspec/blob/master/docs/profiles.md).
## Verify a profile
InSpec ships with built-in features to verify a profile structure.
```bash
$ inspec check default
Summary
-------
Location: default
Profile: profile
Controls: 4
Timestamp: 2019-06-24T23:09:01+00:00
Valid: true
Errors
------
Warnings
--------
```
## Execute a profile
To run all **supported** controls on a local machine use `inspec exec /path/to/profile`.
```bash
$ inspec exec default
..
Finished in 0.0025 seconds (files took 0.12449 seconds to load)
8 examples, 0 failures
```
## Execute a specific control from a profile
To run one control from the profile use `inspec exec /path/to/profile --controls name`.
```bash
$ inspec exec default --controls package
.
Finished in 0.0025 seconds (files took 0.12449 seconds to load)
1 examples, 0 failures
```
See an [example control here](https://github.com/inspec/inspec/blob/master/examples/profile/controls/example.rb).
@@ -0,0 +1,22 @@
control 'Timezone configuration' do
title 'should match desired lines'
def test_file_content(config_file)
describe file(config_file) do
its('content') { should include 'Europe/Paris' }
end
end
def test_symlink(config_file)
describe file(config_file) do
its('link_path') { should eq '/usr/share/zoneinfo/Europe/Paris' }
end
end
case os[:family]
when 'debian'
test_file_content('/etc/timezone')
else
test_symlink('/etc/localtime')
end
end
@@ -0,0 +1,15 @@
control 'Timezone package' do
title 'should be installed'
package_name =
case os[:family]
when 'suse'
'timezone'
else
'tzdata'
end
describe package(package_name) do
it { should be_installed }
end
end
+15
View File
@@ -0,0 +1,15 @@
---
name: default
title: timezone formula
maintainer: SaltStack Formulas
license: Apache-2.0
summary: Verify that the timezone formula is setup and configured correctly
supports:
- platform-name: debian
- platform-name: ubuntu
- platform-name: centos
- platform-name: fedora
- platform-name: opensuse
- platform-name: suse
- platform-name: freebsd
- platform-name: amazon
+4
View File
@@ -0,0 +1,4 @@
---
timezone:
name: 'Europe/Paris'
utc: true