fix(vimrc): ensure `vimrc` state runstags/v0.48.4
@@ -50,7 +50,8 @@ 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=default-debian-10-master-py3 | |||
# - env: INSTANCE=default-debian-10-master-py3 | |||
- env: INSTANCE=vimrc-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 |
@@ -192,3 +192,26 @@ suites: | |||
verifier: | |||
inspec_tests: | |||
- path: test/integration/default | |||
- name: vimrc | |||
provisioner: | |||
state_top: | |||
base: | |||
'*': | |||
- users.vimrc | |||
pillars: | |||
top.sls: | |||
base: | |||
'*': | |||
- users | |||
- vimrc | |||
pillars_from_files: | |||
users.sls: test/salt/pillar/default.sls | |||
vimrc.sls: test/salt/pillar/vimrc.sls | |||
dependencies: | |||
- name: vim | |||
repo: git | |||
source: https://github.com/saltstack-formulas/vim-formula.git | |||
verifier: | |||
inspec_tests: | |||
- path: test/integration/default | |||
- path: test/integration/vimrc |
@@ -0,0 +1,50 @@ | |||
# InSpec Profile: `vimrc` | |||
This shows the implementation of the `vimrc` 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 vimrc | |||
Summary | |||
------- | |||
Location: vimrc | |||
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 vimrc | |||
.. | |||
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 vimrc --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,11 @@ | |||
# frozen_string_literal: true | |||
control 'vimrc is managed' do | |||
title 'formula should manage .vimrc' | |||
describe file('/home/vim_user/.vimrc') do | |||
it { should be_owned_by 'vim_user' } | |||
its('mode') { should cmp '0644' } | |||
its('content') { should match(/syntax on/) } | |||
end | |||
end |
@@ -0,0 +1,18 @@ | |||
# -*- coding: utf-8 -*- | |||
# vim: ft=yaml | |||
--- | |||
name: vimrc | |||
title: users formula | |||
maintainer: SaltStack Formulas | |||
license: Apache-2.0 | |||
summary: Verify that the `.vimrc` file is configured correctly for specified users | |||
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 |
@@ -2,7 +2,6 @@ | |||
# vim: ft=yaml | |||
--- | |||
users-formula: | |||
use_vim_formula: true | |||
lookup: # override the defauls in map.jinja | |||
root_group: root | |||
@@ -0,0 +1,11 @@ | |||
# -*- coding: utf-8 -*- | |||
# vim: ft=yaml | |||
--- | |||
users-formula: | |||
use_vim_formula: true | |||
users: | |||
## Minimal required pillar values | |||
vim_user: | |||
fullname: Vim User | |||
manage_vimrc: true |
@@ -1,3 +1,9 @@ | |||
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" | |||
" File managed by Salt at <{{ source }}>. | |||
" Your changes will be overwritten. | |||
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" | |||
" | |||
{% raw -%} | |||
" URL: http://vim.wikia.com/wiki/Example_vimrc | |||
" Authors: http://vim.wikia.com/wiki/Vim_on_Freenode | |||
" Description: A minimal, but feature rich, example .vimrc. If you are a | |||
@@ -158,3 +164,4 @@ nnoremap <C-L> :nohl<CR><C-L> | |||
"------------------------------------------------------------ | |||
{%- endraw %} |
@@ -1,6 +1,6 @@ | |||
{% from "users/map.jinja" import users with context %} | |||
{% if users.use_vim_formula %} | |||
{% if salt['pillar.get']('users-formula:use_vim_formula', False) %} | |||
include: | |||
- users |