Class: Lazy::Checker::Test

Inherits:
Object
  • Object
show all
Defined in:
lib/lazy/check/checker_test.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(checker, data) ⇒ Test

Instanciation d’un test

Parameters:

  • data (Hash)

    Table de données du test



21
22
23
24
25
# File 'lib/lazy/check/checker_test.rb', line 21

def initialize(checker, data)
  @checker = checker
  @data = data
  check_data
end

Instance Attribute Details

#checkerObject (readonly)

Instance Lazy::Checker principale qui lance les tests



7
8
9
# File 'lib/lazy/check/checker_test.rb', line 7

def checker
  @checker
end

#dataObject (readonly)

Données du test

Doit contenir :

- :url    [String] Adresse à visiter
- :checks [Array] Liste des checks à faire


15
16
17
# File 'lib/lazy/check/checker_test.rb', line 15

def data
  @data
end

Instance Method Details

#check(**options) ⇒ Object

On procède à ce test qui doit réussir Ça consiste à :

- si :checks est défini : boucler sur tous les :checks pour
  ce test dans la recette.
- si :redirect_to est défini : vérifier qu'on obtient bien une
  redirection.
- si :response est défini : vérifier que c'est bien la réponse

Cf. checker_url.rb pour le détail



37
38
39
40
41
42
43
# File 'lib/lazy/check/checker_test.rb', line 37

def check(**options)
  if data.key?(:checks)
    check_with_checks(**options)
  else
    check_autre(**options)
  end
end

#check_autre(**options) ⇒ Object

Pour checker la redirection ou l’http response



60
61
62
63
# File 'lib/lazy/check/checker_test.rb', line 60

def check_autre(**options)
  churl = CheckedUrl.new(data.merge(urler: urler, reporter: reporter))
  churl.check(**options)
end

#check_with_checks(**options) ⇒ Object



45
46
47
48
49
50
51
52
53
54
55
56
57
# File 'lib/lazy/check/checker_test.rb', line 45

def check_with_checks(**options)
  data[:checks].each do |dcheck|
    check_case = CheckCase.new(urler, dcheck, checker.reporter)
    result = check_case.check
    if result === true
      # Success
    elsif result === false
      # Failure
    else
      # Unknown result — Résultat inconnu
    end
  end
end

#reporterObject

raccourci



77
78
79
# File 'lib/lazy/check/checker_test.rb', line 77

def reporter
  checker.reporter
end

#urlObject



72
73
74
# File 'lib/lazy/check/checker_test.rb', line 72

def url
  @url ||= data[:url]
end

#urlerObject



65
66
67
68
69
70
# File 'lib/lazy/check/checker_test.rb', line 65

def urler
  @urler ||= begin
    full_url = checker.base ? File.join(checker.base, url) : url
    Url.new(full_url)
  end
end