mirror of
https://github.com/inspec/inspec
synced 2024-11-23 21:23:29 +00:00
No description
37ad8f9531
Instead of having RSpec re-run its world multiple times, run it only once with all tests. Which leaves us with one more thing to solve: we want to start tests as soon as the container is up and they are set up. At the moment, the containers come up and are set up concurrently, including test registry, but the tests themselves are in simple sequence. Signed-off-by: Dominik Richter <dominik.richter@gmail.com> |
||
---|---|---|
bin | ||
lib | ||
test | ||
.gitignore | ||
.rubocop.yml | ||
.tests.yaml | ||
.travis.yml | ||
Gemfile | ||
Rakefile | ||
README.md | ||
vulcano.gemspec |
Vulcano CLI
Test your Server, VM, or workstation.
Small example: Write a your checks in test.rb
:
describe file('/proc/cpuinfo') do
it { should be_file }
end
describe ssh_config do
its('Protocol') { should eq('2') }
end
Run this file locally:
vulcano exec test.rb
Installation
Requires Ruby ( >1.9 ).
To simply run it without installation, you must install bundler:
bundle install
bundle exec bin/vulcano help
To install it as a gem locally, run:
gem build vulcano.gemspec
gem install vulcano-*.gem
You should now be able to run:
vulcano --help
Configuration
Run tests against different targets:
# run test locally
vulcano exec test.rb
# run test on remote host on SSH
vulcano exec test.rb -t ssh://user@hostname
# run test on remote windows host on WinRM
vulcano exec test.rb -t winrm://Administrator@windowshost
# run test on docker container
vulcano exec test.rb -t docker://image_id
Custom resources
You can easily create your own resources. Here is a custom resource for an
application called Gordon and save it in gordon_config.rb
:
require 'yaml'
class GordonConfig < Vulcano.resource
name 'gordon_config'
def initialize
@path = '/etc/gordon/config.yaml'
@config = vulcano.file(@path).content
@params = YAML.load(@config)
end
def method_missing(name)
@params[name.to_s]
end
end
Include this file in your test.rb
:
require_relative 'gordon_config'
Now you can start using your new resource:
describe gordon_config do
its('Version') { should eq('1.0') }
end
Contributing
- Fork it
- Create your feature branch (git checkout -b my-new-feature)
- Commit your changes (git commit -am 'Add some feature')
- Push to the branch (git push origin my-new-feature)
- Create new Pull Request
Copyright 2015 Chef Software Inc. All rights reserved. Copyright 2015 Vulcano Security GmbH. All rights reserved. Copyright 2015 Dominik Richter. All rights reserved.