lazy-check 1.2.1 → 1.2.2
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/README-fr.md +20 -12
- data/README.md +46 -38
- data/lib/lazy/check/version.rb +1 -1
- metadata +1 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: b94eebd33ad3e7cab31da966d0f1e6a9c4a715eead6612c9efa0f6927057acfb
|
4
|
+
data.tar.gz: 5046da76393bd82b079de203f1577863e3fc8f44231c72fdeed9fb4abf743dcd
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 83070a11c3f28ae67e42a3986e8c1ca63afebdf61483dadff04530549133b25880954e57eeb69afd959bcd6567faba5a0a7ec5758575cf804df8a6edbefc9aac
|
7
|
+
data.tar.gz: 6a4bd743a066600783021768e5f83b3162d6c1a55e0b7cabd64fac2f8a0eabb04887dcc75edae70c33cbfc254f61146c8d242eb7dce8c25da71b45fa4e91c060
|
data/README-fr.md
CHANGED
@@ -37,7 +37,7 @@ Lazy::Checker.check(code, check)
|
|
37
37
|
# Succès 1 Failure 0 Temps ...
|
38
38
|
~~~
|
39
39
|
|
40
|
-
On peut aussi obtenir les résultats en retour de méthode (c'est un `Lazy::Checker::Reporter`)
|
40
|
+
On peut aussi obtenir les résultats en retour de méthode (c'est un `Lazy::Checker::Reporter`).
|
41
41
|
|
42
42
|
~~~ruby
|
43
43
|
Lazy::Checker.check(code, check, **{return_result: true})
|
@@ -51,7 +51,7 @@ Lazy::Checker.check(code, check, **{return_result: true})
|
|
51
51
|
Une « recette » est un fichier `YAML` qui définit l'url d'une page internet, ainsi que les checks à effectuer dessus. Cf. ci-dessous.
|
52
52
|
|
53
53
|
~~~ruby
|
54
|
-
require "lazy
|
54
|
+
require "lazy/check"
|
55
55
|
|
56
56
|
checker = Lazy::Checker.new("path/to/recipe.yaml")
|
57
57
|
checker.check
|
@@ -61,7 +61,7 @@ checker.check
|
|
61
61
|
Si la recette se trouve là où le terminal se trouve, il suffit de faire :
|
62
62
|
|
63
63
|
~~~ruby
|
64
|
-
require "lazy
|
64
|
+
require "lazy/check"
|
65
65
|
|
66
66
|
Lazy::Checker.new.check
|
67
67
|
~~~
|
@@ -83,21 +83,23 @@ tests:
|
|
83
83
|
tag: 'span#range'
|
84
84
|
empty: true
|
85
85
|
|
86
|
-
|
87
|
-
|
88
|
-
|
86
|
+
- name: "Une redirection"
|
87
|
+
url: "redirection.html"
|
88
|
+
redirect_to: "https://nouvelle.url.net"
|
89
89
|
|
90
|
-
|
91
|
-
|
92
|
-
|
90
|
+
- name: "Une page erronée"
|
91
|
+
url: "page_inexistante.html"
|
92
|
+
response: 404
|
93
93
|
~~~
|
94
94
|
|
95
95
|
### Check Properties
|
96
96
|
|
97
|
+
Les "checks" ci-dessus peuvent définir les propriétés suivantes :
|
98
|
+
|
97
99
|
~~~yaml
|
98
100
|
tag: [String] Le sélector
|
99
101
|
count: [Integer] Nombre attendu d'éléments
|
100
|
-
empty: [Bool] Si true, doit être vide
|
102
|
+
empty: [Bool] Si true, doit être vide, si false, non vide
|
101
103
|
direct_child: [Bool] Si true, doit être un enfant direct
|
102
104
|
text: [String] Le texte qui doit être contenu
|
103
105
|
contains: [String|Array] Ce que doit contenir la page
|
@@ -120,7 +122,7 @@ tests:
|
|
120
122
|
response: 200
|
121
123
|
~~~
|
122
124
|
|
123
|
-
Vérifier qu’une page contient les éléments de base
|
125
|
+
Vérifier qu’une page contient les éléments de base :
|
124
126
|
|
125
127
|
~~~yaml
|
126
128
|
# recipe.yaml
|
@@ -128,7 +130,7 @@ Vérifier qu’une page contient les éléments de base
|
|
128
130
|
name: "Check simple de l'existence des éléments de base"
|
129
131
|
base: 'https://monsite.net'
|
130
132
|
tests:
|
131
|
-
- name: "La page
|
133
|
+
- name: "La page index.html contient les éléments de base"
|
132
134
|
url: 'index.html'
|
133
135
|
checks:
|
134
136
|
- tag: 'header'
|
@@ -136,7 +138,13 @@ tests:
|
|
136
138
|
- tag: 'footer'
|
137
139
|
~~~
|
138
140
|
|
141
|
+
## Tester le gem
|
142
|
+
|
143
|
+
Lancer les tests avec :
|
139
144
|
|
145
|
+
~~~
|
146
|
+
rake test
|
147
|
+
~~~
|
140
148
|
|
141
149
|
## Development
|
142
150
|
|
data/README.md
CHANGED
@@ -37,98 +37,100 @@ Lazy::Checker.check(code, check)
|
|
37
37
|
# Success 1 Failures 0 Duration ...
|
38
38
|
~~~
|
39
39
|
|
40
|
-
|
40
|
+
You can also obtain the results in method return (this is a `Lazy::Checker::Reporter`).
|
41
41
|
|
42
42
|
~~~ruby
|
43
43
|
Lazy::Checker.check(code, check, **{return_result: true})
|
44
44
|
# => Reporter
|
45
45
|
~~~
|
46
46
|
|
47
|
-
>
|
47
|
+
> Note that in this case, nothing is written in the console.
|
48
48
|
|
49
|
-
##
|
49
|
+
## For a test with a recipe
|
50
50
|
|
51
|
-
|
51
|
+
A "recipe" is a `YAML` file that defines the url of a web page, and the checks to be performed on it. See below.
|
52
52
|
|
53
53
|
~~~ruby
|
54
|
-
require "lazy
|
54
|
+
require "lazy/check"
|
55
55
|
|
56
56
|
checker = Lazy::Checker.new("path/to/recipe.yaml")
|
57
57
|
checker.check
|
58
|
-
# =>
|
58
|
+
# => Produces the result
|
59
59
|
~~~
|
60
60
|
|
61
|
-
|
61
|
+
If the recipe is located where the terminal is, simply do:
|
62
62
|
|
63
63
|
~~~ruby
|
64
|
-
require "lazy
|
64
|
+
require "lazy/check"
|
65
65
|
|
66
66
|
Lazy::Checker.new.check
|
67
67
|
~~~
|
68
68
|
|
69
|
-
|
69
|
+
The recipe (`recipe.yaml`) defines the checks to be performed.
|
70
70
|
|
71
71
|
~~~yaml
|
72
72
|
---
|
73
|
-
name: "
|
74
|
-
base: https://www.
|
73
|
+
name: "Name for this recipe"
|
74
|
+
base: https://www.my.domain.net
|
75
75
|
tests:
|
76
|
-
- name: "
|
77
|
-
url: "" #
|
76
|
+
- name: "My first test"
|
77
|
+
url: "" # so the base
|
78
78
|
checks:
|
79
|
-
- name: "Existence
|
79
|
+
- name: "Existence of DIV#content with text"
|
80
80
|
tag: 'div#content'
|
81
81
|
empty: false
|
82
|
-
- name: "Existence
|
82
|
+
- name: "Existence of SPAN#range without text"
|
83
83
|
tag: 'span#range'
|
84
84
|
empty: true
|
85
85
|
|
86
|
-
|
87
|
-
|
88
|
-
|
86
|
+
- name: "A redirection"
|
87
|
+
url: "redirection.html"
|
88
|
+
redirect_to: "https://new.url.net"
|
89
89
|
|
90
|
-
|
91
|
-
|
92
|
-
|
90
|
+
- name: "A wrong page"
|
91
|
+
url: "page_unfound.html"
|
92
|
+
response: 404
|
93
93
|
~~~
|
94
94
|
|
95
95
|
### Check Properties
|
96
96
|
|
97
|
+
The above "checks" can define the following properties:
|
98
|
+
|
97
99
|
~~~yaml
|
98
|
-
tag: [String]
|
99
|
-
count: [Integer]
|
100
|
-
empty: [Bool]
|
101
|
-
direct_child: [Bool]
|
102
|
-
text: [String]
|
103
|
-
contains: [String|Array]
|
104
|
-
min_length: [Integer]
|
105
|
-
max_length: [Integer]
|
100
|
+
tag: [String] The selector
|
101
|
+
count: [Integer] Expected number of elements
|
102
|
+
empty: [Bool] If true, must be empty, if false, must be non-empty
|
103
|
+
direct_child: [Bool] If true, must be a direct child
|
104
|
+
text: [String] The text that must be contained
|
105
|
+
contains: [String|Array] What the page should contain
|
106
|
+
min_length: [Integer] Minimum content length (text only)
|
107
|
+
max_length: [Integer] Maximum content length (text only)
|
106
108
|
~~~
|
107
109
|
|
108
|
-
##
|
110
|
+
## Examples
|
109
111
|
|
110
|
-
|
112
|
+
Simply check that a page responds correctly:
|
111
113
|
|
112
114
|
~~~yaml
|
113
115
|
# recipe.yaml
|
114
116
|
---
|
115
|
-
name: "
|
116
|
-
base: 'https://
|
117
|
+
name: "Page exists"
|
118
|
+
base: 'https://mywebsite.net'
|
117
119
|
tests:
|
118
|
-
- name: "
|
120
|
+
- name: "The index.html page exists and responds correctly"
|
119
121
|
url: 'index.html'
|
120
122
|
response: 200
|
121
123
|
~~~
|
122
124
|
|
123
|
-
|
125
|
+
Check that a page contains the basic elements.
|
124
126
|
|
125
127
|
~~~yaml
|
126
128
|
# recipe.yaml
|
127
129
|
---
|
128
|
-
name: "
|
129
|
-
base: 'https://
|
130
|
+
name: "Simple check on the existence of basic elements"
|
131
|
+
base: 'https://mywebsite.net'
|
130
132
|
tests:
|
131
|
-
- name: "
|
133
|
+
- name: "The index.html page contains the basic elements"
|
132
134
|
url: 'index.html'
|
133
135
|
checks:
|
134
136
|
- tag: 'header'
|
@@ -136,7 +138,13 @@ tests:
|
|
136
138
|
- tag: 'footer'
|
137
139
|
~~~
|
138
140
|
|
141
|
+
## Tests
|
142
|
+
|
143
|
+
Run the tests:
|
139
144
|
|
145
|
+
~~~
|
146
|
+
rake test
|
147
|
+
~~~
|
140
148
|
|
141
149
|
## Development
|
142
150
|
|
data/lib/lazy/check/version.rb
CHANGED