crabfarm 0.0.18 → 0.0.19
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/lib/crabfarm/event_store.rb +20 -0
- data/lib/crabfarm/helpers/value_helper.rb +131 -0
- data/lib/crabfarm/version.rb +1 -1
- metadata +18 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 90b7726fe962f1aa743078e2a50f6a477aab9e4d
|
4
|
+
data.tar.gz: ed95f4776e57812c16f10785cb587d2a02a7bd9a
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: bf81855a24468d1ac95a0c8ce452385117c02e5fc3c115b7cb74ce51bd0cc66e8e441fece4db041f41f718ba808444115b2f032aa1e131558c05e8b816cd8912
|
7
|
+
data.tar.gz: 19f2b2f80c599b39a3fabb76065f1eacac2449e6d8f468ff595d9ee871ccdd7731d1902cf2f05668a7bd3c8f642a0b76a081987bb009dcf04e60767ea34812d3
|
@@ -0,0 +1,20 @@
|
|
1
|
+
module Crabfarm
|
2
|
+
class EventStore
|
3
|
+
|
4
|
+
def initialize
|
5
|
+
@events = []
|
6
|
+
@mutex = Mutex.new
|
7
|
+
end
|
8
|
+
|
9
|
+
def event(_category, _message)
|
10
|
+
@mutex.synchronize do
|
11
|
+
@events << {
|
12
|
+
created_at: Time.current,
|
13
|
+
category: _category,
|
14
|
+
msg: _message
|
15
|
+
}
|
16
|
+
end
|
17
|
+
end
|
18
|
+
|
19
|
+
end
|
20
|
+
end
|
@@ -0,0 +1,131 @@
|
|
1
|
+
module Crabfarm
|
2
|
+
module AssertionHelper
|
3
|
+
|
4
|
+
|
5
|
+
class Assert
|
6
|
+
|
7
|
+
assert_int('20', min: -10, max: 4, in: [1,2,3,4] )
|
8
|
+
assert_float()
|
9
|
+
assert_boolean()
|
10
|
+
assert val, is: :integer|float, between: xxx, default: nil
|
11
|
+
assert val, is: :boolean
|
12
|
+
|
13
|
+
test = assert(val).is_i between: 1..2, empty: 20, in: [1, 2, 3], default: nil # default when empty
|
14
|
+
assert(val).is_b empty: 20 # trims, downcase
|
15
|
+
assert(val).trimmed.downcased.is_s in: ['test', 'peo', 'hola'], matches: /asadad/, empty: :nil|false|true
|
16
|
+
assert(products.count).is_i greater_than: 20
|
17
|
+
|
18
|
+
|
19
|
+
|
20
|
+
|
21
|
+
matches
|
22
|
+
assert(val).is_i between: 1..2, default: 20
|
23
|
+
assert(val).is_f
|
24
|
+
assert(val).is_s default: 'hello', in: ['servicentro', nil]
|
25
|
+
assert(val).is_boolean default: true, truthy: 'servicentro', falsy: ['falso', 'caca']
|
26
|
+
assert(val).downcased.is_one_of 'hola'
|
27
|
+
assert(val).is_not_nil
|
28
|
+
assert(val).is_of_size
|
29
|
+
assert(val).is_date 'YYYY-MM-dd'
|
30
|
+
|
31
|
+
class AssertionWrapper
|
32
|
+
|
33
|
+
def stripped
|
34
|
+
@value = @value.strip if @value.is_a? String
|
35
|
+
self
|
36
|
+
end
|
37
|
+
|
38
|
+
def trimmed
|
39
|
+
stripped
|
40
|
+
@value = @value.gsub(/\s+/, ' ') if @value.is_a? String
|
41
|
+
self
|
42
|
+
end
|
43
|
+
|
44
|
+
def upcased
|
45
|
+
@value = @value.upcase if @value.is_a? String
|
46
|
+
self
|
47
|
+
end
|
48
|
+
|
49
|
+
def downcased
|
50
|
+
@value = @value.downcase if @value.is_a? String
|
51
|
+
self
|
52
|
+
end
|
53
|
+
|
54
|
+
def is_integer(_options={})
|
55
|
+
perform_assertion {
|
56
|
+
@value = parse_integer @value, _options
|
57
|
+
validate_numeric @value, _options
|
58
|
+
validate_general @value, _options
|
59
|
+
}
|
60
|
+
end
|
61
|
+
|
62
|
+
alias :is_integer :is_i
|
63
|
+
|
64
|
+
def is_float(_options={})
|
65
|
+
perform_assertion {
|
66
|
+
@value = parse_float @value, _options
|
67
|
+
validate_numeric @value, _options
|
68
|
+
validate_general @value, _options
|
69
|
+
}
|
70
|
+
end
|
71
|
+
|
72
|
+
alias :is_float :is_f
|
73
|
+
|
74
|
+
def is_string(_options={})
|
75
|
+
perform_assertion {
|
76
|
+
@value = parse_string @value, _options
|
77
|
+
validate_general @value, _options
|
78
|
+
}
|
79
|
+
end
|
80
|
+
|
81
|
+
alias :is_string :is_s
|
82
|
+
|
83
|
+
def is_boolean(_options={})
|
84
|
+
perform_assertion {
|
85
|
+
@value = parse_boolean @value
|
86
|
+
}
|
87
|
+
end
|
88
|
+
|
89
|
+
alias :is_string :is_b
|
90
|
+
|
91
|
+
def matches(_rgx, _)
|
92
|
+
perform_assertion {
|
93
|
+
|
94
|
+
}
|
95
|
+
end
|
96
|
+
|
97
|
+
private
|
98
|
+
|
99
|
+
def perform_assertion
|
100
|
+
end
|
101
|
+
|
102
|
+
def parse_integer _val, _options
|
103
|
+
end
|
104
|
+
|
105
|
+
def parse_float _val, _options
|
106
|
+
end
|
107
|
+
|
108
|
+
def parse_string _val, _options
|
109
|
+
end
|
110
|
+
|
111
|
+
def parse_boolean _val, _options
|
112
|
+
end
|
113
|
+
|
114
|
+
def is_numeric(_options)
|
115
|
+
end
|
116
|
+
|
117
|
+
def is_
|
118
|
+
|
119
|
+
def handle_error(_assertion)
|
120
|
+
end
|
121
|
+
|
122
|
+
end
|
123
|
+
|
124
|
+
|
125
|
+
assert_date()
|
126
|
+
assert_not_nil()
|
127
|
+
assert_count( between: 0..2, nil: true, halt: true)
|
128
|
+
assert_regex( )
|
129
|
+
|
130
|
+
end
|
131
|
+
end
|
data/lib/crabfarm/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: crabfarm
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.19
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Ignacio Baixas
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2015-03-
|
11
|
+
date: 2015-03-16 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: selenium-webdriver
|
@@ -128,6 +128,20 @@ dependencies:
|
|
128
128
|
- - '>='
|
129
129
|
- !ruby/object:Gem::Version
|
130
130
|
version: '0'
|
131
|
+
- !ruby/object:Gem::Dependency
|
132
|
+
name: multipart-post
|
133
|
+
requirement: !ruby/object:Gem::Requirement
|
134
|
+
requirements:
|
135
|
+
- - '>='
|
136
|
+
- !ruby/object:Gem::Version
|
137
|
+
version: '0'
|
138
|
+
type: :runtime
|
139
|
+
prerelease: false
|
140
|
+
version_requirements: !ruby/object:Gem::Requirement
|
141
|
+
requirements:
|
142
|
+
- - '>='
|
143
|
+
- !ruby/object:Gem::Version
|
144
|
+
version: '0'
|
131
145
|
- !ruby/object:Gem::Dependency
|
132
146
|
name: bundler
|
133
147
|
requirement: !ruby/object:Gem::Requirement
|
@@ -355,7 +369,9 @@ files:
|
|
355
369
|
- lib/crabfarm/dsl/surfer.rb
|
356
370
|
- lib/crabfarm/engines/safe_state_loop.rb
|
357
371
|
- lib/crabfarm/errors.rb
|
372
|
+
- lib/crabfarm/event_store.rb
|
358
373
|
- lib/crabfarm/forked_state.rb
|
374
|
+
- lib/crabfarm/helpers/value_helper.rb
|
359
375
|
- lib/crabfarm/http_client.rb
|
360
376
|
- lib/crabfarm/mocks/noop_driver.rb
|
361
377
|
- lib/crabfarm/modes/console.rb
|