crabfarm 0.0.18 → 0.0.19

Sign up to get free protection for your applications and to get access to all the features.
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