invoca-utils 0.0.1 → 0.0.2
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/README.md +1 -1
- data/lib/invoca/utils.rb +0 -1
- data/lib/invoca/utils/version.rb +1 -1
- metadata +2 -3
- data/lib/invoca/utils/log_error_stub.rb +0 -84
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 803af8a0e5807bf4ff18c6d9f3ab1d300dd35b4c
|
4
|
+
data.tar.gz: 05f62242e46f4804eabbcd80a13d8e8ce31f3e1f
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 239abcd4639fe9964477283066f852fea8d4c45f1bd97b08830239d81b11fe8392cfd52b0fc9505779e8a51e3ff9b1e9a1298d4cdd9f811365f782dc37ffd77f
|
7
|
+
data.tar.gz: 478e3b36bb18e5df962bb9fd258d7aaca49e908965c7b775a4a64806fe5f87019d89e595d5d945c7aaf3d9030b30d6ebeee63a0f98ea41d53c9213193593e6cd
|
data/README.md
CHANGED
data/lib/invoca/utils.rb
CHANGED
data/lib/invoca/utils/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: invoca-utils
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Cary Penniman
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2014-08-
|
11
|
+
date: 2014-08-04 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
@@ -137,7 +137,6 @@ files:
|
|
137
137
|
- invoca-utils.gemspec
|
138
138
|
- lib/invoca/utils.rb
|
139
139
|
- lib/invoca/utils/diff.rb
|
140
|
-
- lib/invoca/utils/log_error_stub.rb
|
141
140
|
- lib/invoca/utils/version.rb
|
142
141
|
- test/test_helper.rb
|
143
142
|
- test/unit/utils_test.rb
|
@@ -1,84 +0,0 @@
|
|
1
|
-
#
|
2
|
-
# Used by functional tests to track exceptions.
|
3
|
-
#
|
4
|
-
|
5
|
-
module LogErrorStub
|
6
|
-
class UnexpectedExceptionLogged < StandardError; end
|
7
|
-
class ExpectedExceptionNotLogged < StandardError; end
|
8
|
-
|
9
|
-
def setup_log_error_stub
|
10
|
-
clear_exception_whitelist
|
11
|
-
stub_log_error unless respond_to?(:dont_stub_log_error) && dont_stub_log_error
|
12
|
-
end
|
13
|
-
|
14
|
-
def teardown_log_error_stub
|
15
|
-
ExceptionHandling.stub_handler = nil
|
16
|
-
return unless @exception_whitelist
|
17
|
-
@exception_whitelist.each do |item|
|
18
|
-
add_failure("log_error expected #{item[1][:expected]} times with pattern: '#{item[0].is_a?(Regexp) ? item[0].source : item[0]}' #{item[1][:count]} found #{item[1][:found]}") unless item[1][:expected] == item[1][:found]
|
19
|
-
end
|
20
|
-
end
|
21
|
-
|
22
|
-
attr_accessor :exception_whitelist
|
23
|
-
|
24
|
-
#
|
25
|
-
# Call this function in your functional tests - usually first line after a "should" statement
|
26
|
-
# once called, you can then call expects_exception
|
27
|
-
# By stubbing log error, ExceptionHandling will keep a list of all expected exceptions and
|
28
|
-
# gracefully note their occurrence.
|
29
|
-
#
|
30
|
-
def stub_log_error
|
31
|
-
ExceptionHandling.stub_handler = self
|
32
|
-
end
|
33
|
-
|
34
|
-
#
|
35
|
-
# Gets called by ExceptionHandling::log_error in test mode.
|
36
|
-
# If you have called expects_exception then this function will simply note that an
|
37
|
-
# instance of that exception has occurred - otherwise it will raise (which will
|
38
|
-
# generally result in a 500 return code for your test request)
|
39
|
-
#
|
40
|
-
def handle_stub_log_error(exception_data, always_raise = false)
|
41
|
-
raise_unexpected_exception(exception_data) if always_raise || !exception_filtered?(exception_data)
|
42
|
-
end
|
43
|
-
|
44
|
-
#
|
45
|
-
# Did the calling code call expects_exception on this exception?
|
46
|
-
#
|
47
|
-
def exception_filtered?(exception_data)
|
48
|
-
@exception_whitelist && @exception_whitelist.any? do |expectation|
|
49
|
-
if expectation[0] === exception_data[:error]
|
50
|
-
expectation[1][:found] += 1
|
51
|
-
true
|
52
|
-
end
|
53
|
-
end
|
54
|
-
end
|
55
|
-
|
56
|
-
#
|
57
|
-
# Call this from your test file to declare what exceptions you expect to raise.
|
58
|
-
#
|
59
|
-
def expects_exception(pattern, options = {})
|
60
|
-
@exception_whitelist ||= []
|
61
|
-
expected_count = options[:count] || 1
|
62
|
-
options = {:expected => expected_count, :found => 0}
|
63
|
-
if to_increment = @exception_whitelist.find {|ex| ex[0] == pattern}
|
64
|
-
to_increment[1][:expected] += expected_count
|
65
|
-
else
|
66
|
-
@exception_whitelist << [pattern, options]
|
67
|
-
end
|
68
|
-
end
|
69
|
-
|
70
|
-
def clear_exception_whitelist
|
71
|
-
@exception_whitelist = nil
|
72
|
-
end
|
73
|
-
|
74
|
-
private
|
75
|
-
|
76
|
-
def raise_unexpected_exception(exception_data)
|
77
|
-
raise(UnexpectedExceptionLogged,
|
78
|
-
exception_data[:error] + "\n" +
|
79
|
-
"---original backtrace---\n" +
|
80
|
-
exception_data[:backtrace].join("\n") + "\n" +
|
81
|
-
"------")
|
82
|
-
end
|
83
|
-
|
84
|
-
end
|