Sha256: 0d2723c3fc83e8acb8bf5472eb5c71b7ece91c71057dc3123bfcb320f9128448

Contents?: true

Size: 1.45 KB

Versions: 13

Compression:

Stored size: 1.45 KB

Contents

module Serverspec::Type
  class Service < Base
    def enabled?(level, under=nil)
      check_method = "check_service_is_enabled" + (under ? "_#{under}" : '')

      if level
        @runner.send(check_method.to_sym, @name, level)
      else
        @runner.send(check_method.to_sym, @name)
      end
    end

    def installed?(name, version)
      @runner.check_service_is_installed(@name)
    end

    def has_start_mode?(mode)
      @runner.check_service_has_start_mode(@name, mode)
    end

    def running?(under)
      if under
        check_method = "check_service_is_running_under_#{under}".to_sym
        @runner.send(check_method, @name)
      else
        @runner.check_service_is_running(@name)
      end
    end

    def monitored_by?(monitor, monitor_name)
      check_method = "check_service_is_monitored_by_#{monitor}".to_sym
      # use the with_name value if set instead of the service name
      monitor_name = (monitor_name ? monitor_name : @name)
      res = @runner.send(check_method, monitor_name)
    end

    def has_property?(property)
      @runner.check_service_has_property(@name, property)
    end

    def property
      get_property if @property.nil?
      @property
    end

    private
    def get_property
      @property = {}
      props = @runner.get_service_property(@name).stdout
      props.split(/\n/).each do |line|
        property, _type, *value = line.split(/\s+/)
        @property[property] = value.join(' ')
      end
    end
  end
end

Version data entries

13 entries across 13 versions & 1 rubygems

Version Path
serverspec-2.41.4 lib/serverspec/type/service.rb
serverspec-2.41.3 lib/serverspec/type/service.rb
serverspec-2.41.2 lib/serverspec/type/service.rb
serverspec-2.41.1 lib/serverspec/type/service.rb
serverspec-2.41.0 lib/serverspec/type/service.rb
serverspec-2.40.0 lib/serverspec/type/service.rb
serverspec-2.39.2 lib/serverspec/type/service.rb
serverspec-2.39.1 lib/serverspec/type/service.rb
serverspec-2.39.0 lib/serverspec/type/service.rb
serverspec-2.38.1 lib/serverspec/type/service.rb
serverspec-2.38.0 lib/serverspec/type/service.rb
serverspec-2.37.2 lib/serverspec/type/service.rb
serverspec-2.37.1 lib/serverspec/type/service.rb