Sha256: 2d8612bb02b4a3af81ff1561d2a74b62b2a85066efa1863faa8648494f3a819e

Contents?: true

Size: 919 Bytes

Versions: 11

Compression:

Stored size: 919 Bytes

Contents

require 'shellwords'

module Serverspec
  module Commands
    class Darwin < Base
      class NotImplementedError < Exception; end

      def check_file_md5checksum file, expected
        "openssl md5 #{escape(file)} | cut -d'=' -f2 | cut -c 2- | grep -E ^#{escape(expected)}$"
      end

      def check_mode file, mode
        regexp = "^#{mode}$"
        "stat -f %A #{escape(file)} | grep -- #{escape(regexp)}"
      end

      def check_owner file, owner
        regexp = "^#{owner}$"
        "stat -f %Su #{escape(file)} | grep -- #{escape(regexp)}"
      end

      def check_grouped file, group
        regexp = "^#{group}$"
        "stat -f %Sg #{escape(file)} | grep -- #{escape(regexp)}"
      end

      def get_mode(file)
        "stat -f %A #{escape(file)}"
      end

      def check_access_by_user file, user, access
        "sudo -u #{user} -s /bin/test -#{access} #{file}"
      end
    end
  end
end

Version data entries

11 entries across 11 versions & 1 rubygems

Version Path
serverspec-0.4.9 lib/serverspec/commands/darwin.rb
serverspec-0.4.8 lib/serverspec/commands/darwin.rb
serverspec-0.4.7 lib/serverspec/commands/darwin.rb
serverspec-0.4.6 lib/serverspec/commands/darwin.rb
serverspec-0.4.5 lib/serverspec/commands/darwin.rb
serverspec-0.4.4 lib/serverspec/commands/darwin.rb
serverspec-0.4.3 lib/serverspec/commands/darwin.rb
serverspec-0.4.2 lib/serverspec/commands/darwin.rb
serverspec-0.4.1 lib/serverspec/commands/darwin.rb
serverspec-0.4.0 lib/serverspec/commands/darwin.rb
serverspec-0.3.2 lib/serverspec/commands/darwin.rb