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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 260afa911e5e4ee32a3dd272c40bcb7c73631186
4
- data.tar.gz: 3c21d8e2bed35f307d68e1137707b6a81e47c18f
3
+ metadata.gz: 90b7726fe962f1aa743078e2a50f6a477aab9e4d
4
+ data.tar.gz: ed95f4776e57812c16f10785cb587d2a02a7bd9a
5
5
  SHA512:
6
- metadata.gz: 7a24932e50415c6471af551a500b31dcfe2c36aead2f44083dc4b26c52b6d9259d568226dbc50f91f8f890b044ea5998f5eb8bdb498d418564a69eb73b2cea8f
7
- data.tar.gz: 73c33c07595c1a900a53ee8c76d30240a27714a99565e1b588fa744e8467f8e2a0dc9cda85d652b9b47dad2cd179a896a4399e45412f38203113c1d425b41f08
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
@@ -1,3 +1,3 @@
1
1
  module Crabfarm
2
- VERSION = "0.0.18"
2
+ VERSION = "0.0.19"
3
3
  end
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.18
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-12 00:00:00.000000000 Z
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