mirror of
https://github.com/saltstack-formulas/timezone-formula.git
synced 2026-09-21 06:14:36 +02:00
ci(travis): add Inspec tests
This commit is contained in:
committed by
Nicolas Rodriguez
parent
4657f44f09
commit
168926a660
@@ -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
|
||||
@@ -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
|
||||
@@ -0,0 +1,4 @@
|
||||
---
|
||||
timezone:
|
||||
name: 'Europe/Paris'
|
||||
utc: true
|
||||
Reference in New Issue
Block a user