Tagged: testing Toggle Comment Threads | Keyboard Shortcuts

  • penguin 16:22 on 2016-06-28 Permalink | Reply
    Tags: , , , testing   

    Testing logstash configs with Docker 

    Now this is really not rocket science, but since I might do this more often, I don’t want to google every time.

    Prepare your directories

    ./tmp                   # THIS IS YOUR WORKING DIRECTORY
      |- patterns/          # optional
      |   |- patternfile1   # optional
      |   |- patternfile2   # optional
      |- logs.log
      |- logstash.conf

    Prepare your logstash config

    # logstash.conf
    input {
      file {
        path => '/stash/logs.log'
      }
    }
    
    filter {
      # whatever config you want to test
      grok {
        match        => [ "message", "%{WHATEVER}" ]
        patterns_dir => '/stash/patterns'              # optional :)
      }
    }
    
    output {
      stdout { codec => rubydebug }
    }

    Run logstash

    docker run --rm -ti -v $(pwd):/stash logstash logstash -f /stash/logstash.conf

    Done.

    Done. 🙂

     
  • penguin 08:07 on 2016-06-28 Permalink | Reply
    Tags: , rspec, rspec-puppet, , testing   

    Loathing RSpec and Puppet 

    There are words for how much I hate RSpec (especially RSpec-Puppet), but they would be too harsh to write down.

    So now that I don’t have to google the same shit over and over again, here’s what you have to do to get basic puppet module testing up and running (replace $MODULE with your module name, of course):

    $MODULE/Rakefile

    require 'rubygems'
    require 'puppetlabs_spec_helper/rake_tasks'

    $MODULE/.fixtures.yml

    fixtures:
      repositories:
        concat: git://github.com/puppetlabs/puppetlabs-concat.git
        # alternate method, for specifying refs
        stdlib: 
          repo: git://github.com/puppetlabs/puppetlabs-stdlib.git
          ref:  1.0.0
      symlinks:
        # do _not_ forget this
        $MODULE: "#{source_dir}"

    $MODULE/spec/spec_helper.rb

    require 'rubygems'
    require 'puppetlabs_spec_helper/module_spec_helper'

    $MODULE/spec/classes/$MODULE_spec.rb

    # see also http://rspec-puppet.com/
    require 'spec_helper'
    
    describe '$MODULE' do
      context 'default' do
        it {
          should contain_file('/etc/haproxy/haproxy.conf')
        }
    
        # or ...
        it do
          is_expected.to contain_file('/this/syntax/is/even/more/retarded')
        end
      end
    end

    Final note

    It’s “rake spec”, not “rake test”. Of course.

     
  • penguin 12:37 on 2015-07-28 Permalink | Reply
    Tags: , testing   

    Puppet spec fixtures 

    That’s how you specify branches in puppetlabs’ spec_helper fixtures.yml:

    fixtures:
      forge_modules:
        stdlib:
          repo: "puppetlabs/stdlib"
          ref: "4.6.0"
      symlinks:
        mapr_helpers: "#{source_dir}"
      repositories:
        mapr:
          repo: "http://myurl/puppet-mapr.git"
          # this is a branch. stolen from: don't remember.
          ref: 'remotes/origin/ab/devel'
    
     
c
compose new post
j
next post/next comment
k
previous post/previous comment
r
reply
e
edit
o
show/hide comments
t
go to top
l
go to login
h
show/hide help
shift + esc
cancel