Sha256: d4e7c574cbc36daef76a85ead025fd878a5375acd01866f5373672398468a516

Contents?: true

Size: 1.05 KB

Versions: 13

Compression:

Stored size: 1.05 KB

Contents

require "inspec/resources/sybase_session"

module Inspec::Resources
  class SybaseConf < Inspec.resource(1)
    name "sybase_conf"
    supports platform: "unix"
    # supports platform: "windows" # TODO
    desc "Use the sybase_conf InSpec resource to test Sybase config settings"
    example <<~EXAMPLE
      describe sybase_conf("max memory", password: 'password', server: 'SYBASE') do
        its("run_value") { should cmp 180224 }
      end
    EXAMPLE

    attr_reader :conf_param, :sql_query
    def initialize(conf_param_name, opts = {})
      @conf_param = conf_param_name
      opts[:username] ||= "sa"
      opts[:database] ||= "master"
      sql_session = inspec.sybase_session(opts)
      @sql_query = sql_session.query("sp_configure \"#{conf_param}\"")
    end

    def run_value
      sql_query.row(0).column("Run Value").value
    end

    def config_value
      sql_query.row(0).column("Config Value").value
    end

    def resource_id
      conf_param || "Sybase config settings"
    end

    def to_s
      "Sybase Conf #{conf_param}"
    end

  end
end

Version data entries

13 entries across 13 versions & 1 rubygems

Version Path
inspec-core-6.8.24 lib/inspec/resources/sybase_conf.rb
inspec-core-5.22.65 lib/inspec/resources/sybase_conf.rb
inspec-core-6.8.11 lib/inspec/resources/sybase_conf.rb
inspec-core-5.22.58 lib/inspec/resources/sybase_conf.rb
inspec-core-5.22.55 lib/inspec/resources/sybase_conf.rb
inspec-core-6.8.1 lib/inspec/resources/sybase_conf.rb
inspec-core-5.22.40 lib/inspec/resources/sybase_conf.rb
inspec-core-6.6.0 lib/inspec/resources/sybase_conf.rb
inspec-core-5.22.36 lib/inspec/resources/sybase_conf.rb
inspec-core-5.22.29 lib/inspec/resources/sybase_conf.rb
inspec-core-5.22.3 lib/inspec/resources/sybase_conf.rb
inspec-core-5.21.29 lib/inspec/resources/sybase_conf.rb
inspec-core-5.18.14 lib/inspec/resources/sybase_conf.rb