refactor(kitchen+travis+inspec): use pre-salted images

* Semi-automated using https://github.com/myii/ssf-formula/pull/36
* Restructure all tests according to updated test suites
* Improve tests where necessary (code style, new platforms and package versions)
This commit is contained in:
Imran Iqbal
2019-09-19 02:20:18 +01:00
parent cb726afb10
commit fc1d0b15a3
25 changed files with 472 additions and 212 deletions
-12
View File
@@ -1,12 +0,0 @@
control 'salt packages' do
title 'should be installed'
%w(
salt-master
salt-minion
).each do |p|
describe package(p) do
it { should be_installed }
end
end
end
+50
View File
@@ -0,0 +1,50 @@
# InSpec Profile: `v201707-py2`
This shows the implementation of the `v201707-py2` 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 v201707-py2
Summary
-------
Location: v201707-py2
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 v201707-py2
..
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 v201707-py2 --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).
@@ -1,13 +1,15 @@
case os[:name]
when 'centos'
version = '2019.2.0-1.el7'
when 'fedora'
version = '2019.2.0-1.fc30'
when 'opensuse'
version = '2019.2.0-lp150.3.33.1'
when 'debian', 'ubuntu'
version = '2019.2.0+ds-1'
end
version =
case platform[:family]
when 'redhat'
case platform[:name]
when 'amazon'
'2017.7.8-1.el7'
when 'centos'
'2017.7.8-1.el6'
end
when 'debian'
'2017.7.8+ds-1'
end
control 'salt packages' do
title 'should be installed'
+17
View File
@@ -0,0 +1,17 @@
# -*- coding: utf-8 -*-
# vim: ft=yaml
---
name: v201707-py2
title: salt formula
maintainer: SaltStack Formulas
license: Apache-2.0
summary: Verify that Salt `v201707-py2` is setup and configured
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
+50
View File
@@ -0,0 +1,50 @@
# InSpec Profile: `v201803-py2`
This shows the implementation of the `v201803-py2` 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 v201803-py2
Summary
-------
Location: v201803-py2
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 v201803-py2
..
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 v201803-py2 --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).
@@ -1,9 +1,10 @@
case os[:name]
when 'centos'
version = '2017.7.8-1.el6'
when 'debian', 'ubuntu'
version = '2017.7.8+ds-1'
end
version =
case platform[:family]
when 'redhat'
'2018.3.4-1.el7'
when 'debian'
'2018.3.4+ds-1'
end
control 'salt packages' do
title 'should be installed'
+17
View File
@@ -0,0 +1,17 @@
# -*- coding: utf-8 -*-
# vim: ft=yaml
---
name: v201803-py2
title: salt formula
maintainer: SaltStack Formulas
license: Apache-2.0
summary: Verify that Salt `v201803-py2` is setup and configured
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
+50
View File
@@ -0,0 +1,50 @@
# InSpec Profile: `v201902-py2`
This shows the implementation of the `v201902-py2` 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 v201902-py2
Summary
-------
Location: v201902-py2
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 v201902-py2
..
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 v201902-py2 --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).
@@ -1,11 +1,14 @@
case os[:name]
when 'centos'
version = '2018.3.4-1.el7'
when 'debian', 'ubuntu'
version = '2018.3.4+ds-1'
when 'fedora'
version = '2018.3.2-5.fc29'
end
version =
case platform[:family]
when 'redhat'
'2019.2.0-1.el7'
when 'fedora'
'2019.2.0-1.fc30'
when 'suse'
'2019.2.0-lp151.5.3.1'
when 'debian'
'2019.2.0+ds-1'
end
control 'salt packages' do
title 'should be installed'
+17
View File
@@ -0,0 +1,17 @@
# -*- coding: utf-8 -*-
# vim: ft=yaml
---
name: v201902-py2
title: salt formula
maintainer: SaltStack Formulas
license: Apache-2.0
summary: Verify that Salt `v201902-py2` is setup and configured
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
+50
View File
@@ -0,0 +1,50 @@
# InSpec Profile: `v201902-py3`
This shows the implementation of the `v201902-py3` 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 v201902-py3
Summary
-------
Location: v201902-py3
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 v201902-py3
..
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 v201902-py3 --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,30 @@
version =
case platform[:family]
when 'redhat'
case platform[:name]
when 'amazon'
'2019.2.0-1.el7'
when 'centos'
'2019.2.0-2.el7'
end
when 'fedora'
'2019.2.0-1.fc30'
when 'suse'
'2019.2.0-lp151.5.3.1'
when 'debian'
'2019.2.0+ds-1'
end
control 'salt packages' do
title 'should be installed'
%w(
salt-master
salt-minion
).each do |p|
describe package(p) do
it { should be_installed }
its('version') { should eq version }
end
end
end
+17
View File
@@ -0,0 +1,17 @@
# -*- coding: utf-8 -*-
# vim: ft=yaml
---
name: v201902-py3
title: salt formula
maintainer: SaltStack Formulas
license: Apache-2.0
summary: Verify that Salt `v201902-py3` is setup and configured
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
-6
View File
@@ -1,6 +0,0 @@
# -*- coding: utf-8 -*-
# vim: ft=yaml
---
salt:
release: 'latest'
py_ver: 'py3'
@@ -1,7 +0,0 @@
# -*- coding: utf-8 -*-
# vim: ft=yaml
---
salt:
release: '2018.3'
py_ver: 'py2'
version: '2018.3.2-5.fc29'