Merge pull request #216 from myii/add-test-vimrc-generation
fix(vimrc): ensure `vimrc` state runs
This commit is contained in:
commit
1a96921e89
|
@ -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
|
||||
|
|
23
kitchen.yml
23
kitchen.yml
|
@ -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
|
||||
|
|
Loading…
Reference in New Issue