class Heartcheck::Checks::Cas

Public Instance Methods

validate() click to toggle source
# File lib/heartcheck/checks/cas.rb, line 6
def validate
  services.each do |service|
    begin
      tgt = tgt_url(service)

      if tgt.nil?
        @errors << "Cannot get TGT"
        next
      end

      if ticket(service, tgt).nil?
        @errors << "Cannot get ticket"
        next
      end
    rescue StandardError => e
      @errors << e.message
    end
  end
end

Private Instance Methods

tgt_url(service) click to toggle source
# File lib/heartcheck/checks/cas.rb, line 28
def tgt_url(service)
  response = Heartcheck::Cas::HttpClient.post(service[:server], {
    'username' => service[:username],
    'password' => service[:password]
  })

  response.code.eql?('201') ? response['Location'] : nil
end
ticket(service, tgt) click to toggle source
# File lib/heartcheck/checks/cas.rb, line 37
def ticket(service, tgt)
  response = Heartcheck::Cas::HttpClient.post(tgt, {'service' => service[:service]})
  response.code.eql?('200') ? response.body : nil
end