ci(kitchen): add Kitchen tests

This commit is contained in:
Nicolas Rodriguez
2019-08-27 23:52:09 +02:00
parent 2d4adf9e24
commit 963b5eb77c
10 changed files with 454 additions and 0 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,15 @@
control 'Cron package' do
title 'should be installed'
package_name =
case os[:family]
when 'debian'
'cron'
else
'cronie'
end
describe package(package_name) do
it { should be_installed }
end
end
@@ -0,0 +1,17 @@
control 'Cron service' do
title 'should be running and enabled'
service_name =
case os[:family]
when 'debian', 'suse'
'cron'
else
'crond'
end
describe service(service_name) do
it { should be_enabled }
it { should be_running }
end
end
+17
View File
@@ -0,0 +1,17 @@
# -*- coding: utf-8 -*-
# vim: ft=yaml
---
name: default
title: cron formula
maintainer: SaltStack Formulas
license: Apache-2.0
summary: Verify that the cron 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