From 429c56e9b940e03f0b24ecb93540961fd450737b Mon Sep 17 00:00:00 2001
From: Imran Iqbal <iqbalmy@hotmail.com>
Date: Mon, 27 Apr 2020 15:52:15 +0100
Subject: [PATCH] ci(kitchen+travis+inspec): merge test suites into single
 `default` suite

* Semi-automated using https://github.com/myii/ssf-formula/pull/165
---
 .rubocop.yml                                  |  5 +-
 .travis.yml                                   | 73 +++++++++----------
 kitchen.yml                                   | 24 ++----
 .../{tomcat_extend => default}/README.md      | 12 +--
 .../controls/packages_spec.rb                 |  0
 .../controls/services_spec.rb                 |  0
 .../controls/yaml_dump_spec.rb                |  0
 .../{tomcat_install => default}/inspec.yml    |  2 +-
 test/integration/tomcat_extend/inspec.yml     | 18 -----
 test/integration/tomcat_install/README.md     | 50 -------------
 10 files changed, 54 insertions(+), 130 deletions(-)
 rename test/integration/{tomcat_extend => default}/README.md (72%)
 rename test/integration/{tomcat_install => default}/controls/packages_spec.rb (100%)
 rename test/integration/{tomcat_install => default}/controls/services_spec.rb (100%)
 rename test/integration/{tomcat_install => default}/controls/yaml_dump_spec.rb (100%)
 rename test/integration/{tomcat_install => default}/inspec.yml (95%)
 delete mode 100644 test/integration/tomcat_extend/inspec.yml
 delete mode 100644 test/integration/tomcat_install/README.md

diff --git a/.rubocop.yml b/.rubocop.yml
index 999681b..3a1f7aa 100644
--- a/.rubocop.yml
+++ b/.rubocop.yml
@@ -20,6 +20,9 @@ AllCops:
     - test/integration/**/serverspec/*
 
 # Any offenses that should be fixed, e.g. collected via. `rubocop --auto-gen-config`
+Lint/EmptyWhen:
+  Exclude:
+    - test/integration/default/controls/config_spec.rb
 Style/FormatStringToken:
   Exclude:
-    - test/integration/tomcat_install/controls/yaml_dump_spec.rb
+    - test/integration/default/controls/yaml_dump_spec.rb
diff --git a/.travis.yml b/.travis.yml
index 8d0c9ae..2ee34c5 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -58,43 +58,42 @@ jobs:
     ## Define the rest of the matrix based on Kitchen testing
     # Make sure the instances listed below match up with
     # the `platforms` defined in `kitchen.yml`
-    - env: INSTANCE=tomcat-install-debian-10-master-py3
-    - env: INSTANCE=tomcat-install-ubuntu-1804-master-py3
-    # - env: INSTANCE=tomcat-extend-ubuntu-1804-master-py3
-    # - env: INSTANCE=tomcat-install-centos-8-master-py3
-    - env: INSTANCE=tomcat-install-fedora-31-master-py3
-    - env: INSTANCE=tomcat-install-opensuse-leap-151-master-py3
-    # - env: INSTANCE=tomcat-install-amazonlinux-2-master-py3
-    # - env: INSTANCE=tomcat-install-arch-base-latest-master-py2
-    # - env: INSTANCE=tomcat-install-debian-10-3000-1-py3
-    # - env: INSTANCE=tomcat-install-ubuntu-1804-3000-1-py3
-    # - env: INSTANCE=tomcat-install-centos-8-3000-1-py3
-    # - env: INSTANCE=tomcat-install-fedora-31-3000-1-py3
-    # - env: INSTANCE=tomcat-install-opensuse-leap-151-3000-1-py3
-    - env: INSTANCE=tomcat-install-amazonlinux-2-3000-1-py3
-    # - env: INSTANCE=tomcat-install-arch-base-latest-3000-1-py2
-    # - env: INSTANCE=tomcat-install-debian-10-2019-2-py3
-    - env: INSTANCE=tomcat-install-debian-9-2019-2-py3
-    # - env: INSTANCE=tomcat-install-ubuntu-1804-2019-2-py3
-    # - env: INSTANCE=tomcat-install-ubuntu-1604-2019-2-py3
-    # - env: INSTANCE=tomcat-install-centos-8-2019-2-py3
-    - env: INSTANCE=tomcat-install-centos-7-2019-2-py3
-    # - env: INSTANCE=tomcat-install-fedora-31-2019-2-py3
-    # - env: INSTANCE=tomcat-install-opensuse-leap-151-2019-2-py3
-    # - env: INSTANCE=tomcat-install-amazonlinux-2-2019-2-py3
-    # - env: INSTANCE=tomcat-install-ubuntu-1804-2019-2-py2
-    # - env: INSTANCE=tomcat-install-amazonlinux-1-2019-2-py2
-    # - env: INSTANCE=tomcat-install-arch-base-latest-2019-2-py2
-    # - env: INSTANCE=tomcat-install-centos-7-2018-3-py3
-    # - env: INSTANCE=tomcat-install-fedora-30-2018-3-py3
-    # - env: INSTANCE=tomcat-install-debian-9-2018-3-py2
-    # - env: INSTANCE=tomcat-install-debian-8-2018-3-py2
-    # - env: INSTANCE=tomcat-install-ubuntu-1804-2018-3-py2
-    # - env: INSTANCE=tomcat-install-ubuntu-1604-2018-3-py2
-    # - env: INSTANCE=tomcat-install-centos-6-2018-3-py2
-    # - env: INSTANCE=tomcat-install-opensuse-leap-151-2018-3-py2
-    # - env: INSTANCE=tomcat-install-amazonlinux-1-2018-3-py2
-    # - env: INSTANCE=tomcat-install-arch-base-latest-2018-3-py2
+    - env: INSTANCE=default-debian-10-master-py3
+    - env: INSTANCE=default-ubuntu-1804-master-py3
+    # - env: INSTANCE=default-centos-8-master-py3
+    - env: INSTANCE=default-fedora-31-master-py3
+    - env: INSTANCE=default-opensuse-leap-151-master-py3
+    # - env: INSTANCE=default-amazonlinux-2-master-py3
+    # - env: INSTANCE=default-arch-base-latest-master-py2
+    # - env: INSTANCE=default-debian-10-3000-1-py3
+    # - env: INSTANCE=default-ubuntu-1804-3000-1-py3
+    # - env: INSTANCE=default-centos-8-3000-1-py3
+    # - env: INSTANCE=default-fedora-31-3000-1-py3
+    # - env: INSTANCE=default-opensuse-leap-151-3000-1-py3
+    - env: INSTANCE=default-amazonlinux-2-3000-1-py3
+    # - env: INSTANCE=default-arch-base-latest-3000-1-py2
+    # - env: INSTANCE=default-debian-10-2019-2-py3
+    - env: INSTANCE=default-debian-9-2019-2-py3
+    # - env: INSTANCE=default-ubuntu-1804-2019-2-py3
+    # - env: INSTANCE=default-ubuntu-1604-2019-2-py3
+    # - env: INSTANCE=default-centos-8-2019-2-py3
+    - env: INSTANCE=default-centos-7-2019-2-py3
+    # - env: INSTANCE=default-fedora-31-2019-2-py3
+    # - env: INSTANCE=default-opensuse-leap-151-2019-2-py3
+    # - env: INSTANCE=default-amazonlinux-2-2019-2-py3
+    # - env: INSTANCE=default-ubuntu-1804-2019-2-py2
+    # - env: INSTANCE=default-amazonlinux-1-2019-2-py2
+    # - env: INSTANCE=default-arch-base-latest-2019-2-py2
+    # - env: INSTANCE=default-centos-7-2018-3-py3
+    # - env: INSTANCE=default-fedora-30-2018-3-py3
+    # - env: INSTANCE=default-debian-9-2018-3-py2
+    - env: INSTANCE=default-debian-8-2018-3-py2
+    # - env: INSTANCE=default-ubuntu-1804-2018-3-py2
+    # - env: INSTANCE=default-ubuntu-1604-2018-3-py2
+    # - env: INSTANCE=default-centos-6-2018-3-py2
+    # - env: INSTANCE=default-opensuse-leap-151-2018-3-py2
+    # - env: INSTANCE=default-amazonlinux-1-2018-3-py2
+    # - env: INSTANCE=default-arch-base-latest-2018-3-py2
 
     ## Define the release stage that runs `semantic-release`
     - stage: 'release'
diff --git a/kitchen.yml b/kitchen.yml
index 4dc8824..2c3e370 100644
--- a/kitchen.yml
+++ b/kitchen.yml
@@ -173,28 +173,15 @@ verifier:
     - cli
 
 suites:
-  - name: tomcat_install
+  - name: default
     provisioner:
       state_top:
         base:
           '*':
             - tomcat.yaml_dump
             - tomcat
-      pillars:
-        top.sls:
-          base:
-            '*':
-              - tomcat
-      pillars_from_files:
-        tomcat.sls: pillar.example
-    verifier:
-      inspec_tests:
-        - path: test/integration/tomcat_install
-  - name: tomcat_extend
-    provisioner:
-      state_top:
-        base:
-          '*':
+            - tomcat.native
+            - tomcat.config
             - tomcat.manager
             - tomcat.vhosts
             - tomcat.expires
@@ -207,6 +194,9 @@ suites:
               - tomcat
       pillars_from_files:
         tomcat.sls: pillar.example
+      dependencies:
+        - name: comparison_files
+          path: ./test/salt
     verifier:
       inspec_tests:
-        - path: test/integration/tomcat_extend
+        - path: test/integration/default
diff --git a/test/integration/tomcat_extend/README.md b/test/integration/default/README.md
similarity index 72%
rename from test/integration/tomcat_extend/README.md
rename to test/integration/default/README.md
index c0f5e1b..37cf963 100644
--- a/test/integration/tomcat_extend/README.md
+++ b/test/integration/default/README.md
@@ -1,16 +1,16 @@
-# InSpec Profile: `tomcat_extend`
+# InSpec Profile: `default`
 
-This shows the implementation of the `tomcat_extend` InSpec [profile](https://github.com/inspec/inspec/blob/master/docs/profiles.md).
+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 tomcat_extend
+$ inspec check default
 Summary
 -------
-Location: tomcat_extend
+Location: default
 Profile: profile
 Controls: 4
 Timestamp: 2019-06-24T23:09:01+00:00
@@ -28,7 +28,7 @@ Warnings
 To run all **supported** controls on a local machine use `inspec exec /path/to/profile`.
 
 ```bash
-$ inspec exec tomcat_extend
+$ inspec exec default
 ..
 
 Finished in 0.0025 seconds (files took 0.12449 seconds to load)
@@ -40,7 +40,7 @@ Finished in 0.0025 seconds (files took 0.12449 seconds to load)
 To run one control from the profile use `inspec exec /path/to/profile --controls name`.
 
 ```bash
-$ inspec exec tomcat_extend --controls package
+$ inspec exec default --controls package
 .
 
 Finished in 0.0025 seconds (files took 0.12449 seconds to load)
diff --git a/test/integration/tomcat_install/controls/packages_spec.rb b/test/integration/default/controls/packages_spec.rb
similarity index 100%
rename from test/integration/tomcat_install/controls/packages_spec.rb
rename to test/integration/default/controls/packages_spec.rb
diff --git a/test/integration/tomcat_install/controls/services_spec.rb b/test/integration/default/controls/services_spec.rb
similarity index 100%
rename from test/integration/tomcat_install/controls/services_spec.rb
rename to test/integration/default/controls/services_spec.rb
diff --git a/test/integration/tomcat_install/controls/yaml_dump_spec.rb b/test/integration/default/controls/yaml_dump_spec.rb
similarity index 100%
rename from test/integration/tomcat_install/controls/yaml_dump_spec.rb
rename to test/integration/default/controls/yaml_dump_spec.rb
diff --git a/test/integration/tomcat_install/inspec.yml b/test/integration/default/inspec.yml
similarity index 95%
rename from test/integration/tomcat_install/inspec.yml
rename to test/integration/default/inspec.yml
index f7a8285..efbfb00 100644
--- a/test/integration/tomcat_install/inspec.yml
+++ b/test/integration/default/inspec.yml
@@ -1,7 +1,7 @@
 # -*- coding: utf-8 -*-
 # vim: ft=yaml
 ---
-name: tomcat_install
+name: default
 title: tomcat formula
 maintainer: SaltStack Formulas
 license: Apache-2.0
diff --git a/test/integration/tomcat_extend/inspec.yml b/test/integration/tomcat_extend/inspec.yml
deleted file mode 100644
index 886f408..0000000
--- a/test/integration/tomcat_extend/inspec.yml
+++ /dev/null
@@ -1,18 +0,0 @@
-# -*- coding: utf-8 -*-
-# vim: ft=yaml
----
-name: tomcat_extend
-title: tomcat formula
-maintainer: SaltStack Formulas
-license: Apache-2.0
-summary: Verify that the extended tomcat configuration takes place 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
-  - platform-name: arch
diff --git a/test/integration/tomcat_install/README.md b/test/integration/tomcat_install/README.md
deleted file mode 100644
index 2f6c6d9..0000000
--- a/test/integration/tomcat_install/README.md
+++ /dev/null
@@ -1,50 +0,0 @@
-# InSpec Profile: `tomcat_install`
-
-This shows the implementation of the `tomcat_install` 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 tomcat_install
-Summary
--------
-Location: tomcat_install
-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 tomcat_install
-..
-
-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 tomcat_install --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).
-- 
GitLab