factor-connector-api 0.0.8 → 0.0.9

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,15 +1,15 @@
1
1
  ---
2
2
  !binary "U0hBMQ==":
3
3
  metadata.gz: !binary |-
4
- ZTE3ZDViMTM4ZGVhNTY4ZmRkZTVlZTg1MzBmYTgxZDlkMWQ5NmUzMw==
4
+ OGM1MTZiYjZjZDFjZDIzMDg0MzZiZTQxOWQwOWE4MGM4NmNlYTVhNQ==
5
5
  data.tar.gz: !binary |-
6
- MzAzMjYzOGNlYmQ3ZWEzY2E1NDNhYTc4ZTVmNTdjY2I0NGFhMDBmNA==
6
+ MjRiZDRiZjg3YWMwMmQ3YTc2YzRlNDVjOWVkNDU5NzQ2ZWE3OGI2NQ==
7
7
  SHA512:
8
8
  metadata.gz: !binary |-
9
- YzQ2MjQ4MWY4MzcyMzQzNGRhY2UzOWRjYmU0ODBlYjIxMzBmYzE0M2M0ZjQ5
10
- YmNhMmU3NTE0NmY4ZDA4NjY0ODU0ZTM0NzZiODc3MTljMDc4Y2JiNmUwNGRl
11
- MzQ2NzY3NzA0YmY1MjM3NTNhMzk1Nzk1NDI2MjgyODE4ZmRmMTQ=
9
+ ZjMyZDU1NzBmNTgyZmY0NTRhNTRiODI2OTljMTY0MTQ1NTU3MzIwYzU0NTM5
10
+ NzY3MTkwNjYzNDcxNzAxYmYwYWQ1MWMzZDk2NjAzYmY5ZmU1MmY0ZGVkMTVh
11
+ ZGQyMDk2ZTE5YzgwNTc3YjU1YzZjNWI3MTkwYjEzMjQ1ZGE3YmM=
12
12
  data.tar.gz: !binary |-
13
- ZTYyMjg2MzJhYmFhMDU5ZTVlYmYxM2UzNTQ1N2E0YjU2MmRlYWE5MWE0MDZj
14
- ODMyM2Y1ZmJhMDkzNmY0MjAyZmVlOTYzOTBiZGY2Y2RjYmZiYThlYjQwMGM2
15
- M2RhYjRkNDczNzFiNDdlNzhmNzI2OWIyNDZkNWZkZWVkZjU3Zjk=
13
+ YjBhZTg0NGM4NTJjMzYxZTI4MGU5ZjgyZTc4NTExZGM4ZjZkZDU1MGUwODlh
14
+ NGMwZGVhYTRiNWFkYWY4NmU5YjU2ZjBlN2QzYzlkMDgwNzBiZWZmMTc2NDU0
15
+ ZTBmYTFhYjY0NGMzNzQ3YmUwNzVmMGYzMzZiOWExY2JlZjdkNGU=
@@ -1,5 +1,4 @@
1
1
  require 'rspec'
2
- require 'wrong'
3
2
  require_relative '../factor-connector-api.rb'
4
3
 
5
4
  module Factor::Connector::Test
@@ -10,51 +9,74 @@ end
10
9
 
11
10
  module Factor::Connector
12
11
  class ServiceInstance
13
- include Wrong
14
-
15
- def expect_response(options={}, &block)
16
- eventually options do
17
- @logs.any? do |log|
18
- block.call(log)
12
+ def eventually(&block)
13
+ found = false
14
+ timeout = 10
15
+ frequency = 4.0
16
+ pause = 1 / frequency
17
+ count = timeout * frequency
18
+ (0..count).each do |tick|
19
+ any = begin
20
+ block.call
21
+ rescue
22
+ false
19
23
  end
24
+
25
+ if any
26
+ found = true
27
+ break
28
+ end
29
+ sleep pause
20
30
  end
31
+ found
21
32
  end
22
33
 
23
- def expect_return(options={})
24
- expect_response(options) do |log|
25
- assert { log[:type] == 'return' }
26
- assert { log[:payload] == log[:type] }
34
+ def expect_in_logs(expected_hash={})
35
+ match = {}
36
+ found = eventually do
37
+ any = @logs.any? do |actual_output|
38
+ all_equal = true
39
+ expected_hash.each_pair do |key, expected_value|
40
+ all_equal = false unless actual_output[key] == expected_value
41
+ end
42
+ match = actual_output if all_equal
43
+ all_equal
44
+ end
27
45
  end
46
+
47
+ raise "No match found for #{expected_hash}. Last line was #{@logs.last}" unless found
48
+ match if found
49
+ end
50
+
51
+ def expect_return(expected_values={})
52
+ compares = { type: 'return' }
53
+ compares[:payload] = expected_values if expected_values && expected_values!={}
54
+ expect_in_logs compares
28
55
  end
29
56
 
30
57
  def expect_fail(options={})
31
- expect_response(options) do |log|
32
- assert { log[:type] == 'fail' }
33
- end
58
+ expect_in_logs type: 'fail'
34
59
  end
35
60
 
36
- def expect_info(options={})
37
- expect_response(options) do |log|
38
- assert { log[:type] == 'log' }
39
- assert { log[:status] == 'info' } if log[:type] == 'log'
40
- assert { log[:message] == options[:message] } if options[:message] && log[:type]=='log' && log[:status]=='info'
41
- end
61
+ def expect_log(status,expected_values={})
62
+ compares = {
63
+ type:'log',
64
+ status:status
65
+ }
66
+ compares[:message] = expected_values[:message] if expected_values[:message]
67
+ expect_in_logs compares
42
68
  end
43
69
 
44
- def expect_warn(options={})
45
- expect_response(options) do |log|
46
- assert { log[:type] == 'log' }
47
- assert { log[:status] == 'warn' } if log[:type] == 'log'
48
- assert { log[:message] == options[:message] } if options[:message] && log[:type]=='log' && log[:status]=='warn'
49
- end
70
+ def expect_info(expected_values={})
71
+ expect_log('info',expected_values)
50
72
  end
51
73
 
52
- def expect_error(options={})
53
- expect_response(options) do |log|
54
- assert { log[:type] == 'log' }
55
- assert { log[:status] == 'error' } if log[:type] == 'log'
56
- assert { log[:message] == options[:message] } if options[:message] && log[:type]=='log' && log[:status]=='error'
57
- end
74
+ def expect_warn(expected_values={})
75
+ expect_log('info',expected_values)
76
+ end
77
+
78
+ def expect_error(expected_values={})
79
+ expect_log('error',expected_values)
58
80
  end
59
81
 
60
82
  def test_action(action_name, params={}, &block)
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: factor-connector-api
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.8
4
+ version: 0.0.9
5
5
  platform: ruby
6
6
  authors:
7
7
  - Maciej Skierkowski
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-10-07 00:00:00.000000000 Z
11
+ date: 2014-10-08 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: addressable