and-son 0.4.0 → 0.4.1
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.
- data/and-son.gemspec +1 -1
- data/lib/and-son/stored_responses.rb +9 -7
- data/lib/and-son/version.rb +1 -1
- data/test/unit/and-son_tests.rb +1 -1
- data/test/unit/client_tests.rb +2 -2
- data/test/unit/response_tests.rb +6 -6
- data/test/unit/stored_responses_tests.rb +12 -4
- metadata +7 -7
data/and-son.gemspec
CHANGED
@@ -19,6 +19,6 @@ Gem::Specification.new do |gem|
|
|
19
19
|
|
20
20
|
gem.add_dependency("sanford-protocol", ["~>0.6"])
|
21
21
|
|
22
|
-
gem.add_development_dependency("assert", ["~>2.
|
22
|
+
gem.add_development_dependency("assert", ["~>2.9"])
|
23
23
|
gem.add_development_dependency("assert-mocha", ["~>1.0"])
|
24
24
|
end
|
@@ -11,17 +11,19 @@ module AndSon
|
|
11
11
|
@hash = {}
|
12
12
|
end
|
13
13
|
|
14
|
-
def add(name, params = nil)
|
14
|
+
def add(name, params = nil, &response_block)
|
15
15
|
request_data = RequestData.new(name, params || {})
|
16
|
-
|
17
|
-
if !response.kind_of?(Sanford::Protocol::Response)
|
18
|
-
response = Sanford::Protocol::Response.new(200, response)
|
19
|
-
end
|
20
|
-
@hash[request_data] = AndSon::Response.new(response)
|
16
|
+
@hash[request_data] = response_block
|
21
17
|
end
|
22
18
|
|
23
19
|
def find(name, params = nil)
|
24
|
-
@hash[RequestData.new(name, params || {})]
|
20
|
+
response_block = @hash[RequestData.new(name, params || {})]
|
21
|
+
return if !response_block
|
22
|
+
response = response_block.call
|
23
|
+
if !response.kind_of?(Sanford::Protocol::Response)
|
24
|
+
response = Sanford::Protocol::Response.new(200, response)
|
25
|
+
end
|
26
|
+
AndSon::Response.new(response)
|
25
27
|
end
|
26
28
|
|
27
29
|
def remove(name, params = nil)
|
data/lib/and-son/version.rb
CHANGED
data/test/unit/and-son_tests.rb
CHANGED
data/test/unit/client_tests.rb
CHANGED
@@ -6,7 +6,7 @@ require 'and-son/client'
|
|
6
6
|
|
7
7
|
class AndSon::Client
|
8
8
|
|
9
|
-
class
|
9
|
+
class UnitTests < Assert::Context
|
10
10
|
include FakeServer::Helper
|
11
11
|
|
12
12
|
desc "AndSon::Client"
|
@@ -73,7 +73,7 @@ class AndSon::Client
|
|
73
73
|
|
74
74
|
end
|
75
75
|
|
76
|
-
class CallTest <
|
76
|
+
class CallTest < UnitTests
|
77
77
|
desc "call"
|
78
78
|
setup do
|
79
79
|
@connection = AndSon::Connection.new('localhost', 12001)
|
data/test/unit/response_tests.rb
CHANGED
@@ -3,7 +3,7 @@ require 'and-son/response'
|
|
3
3
|
|
4
4
|
class AndSon::Response
|
5
5
|
|
6
|
-
class
|
6
|
+
class UnitTests < Assert::Context
|
7
7
|
desc "AndSon::Response"
|
8
8
|
setup do
|
9
9
|
@protocol_response = Sanford::Protocol::Response.new([ 200, 'message' ], 'data')
|
@@ -26,7 +26,7 @@ class AndSon::Response
|
|
26
26
|
|
27
27
|
end
|
28
28
|
|
29
|
-
class FailedResponseTests <
|
29
|
+
class FailedResponseTests < UnitTests
|
30
30
|
desc "given a failed response"
|
31
31
|
setup do
|
32
32
|
@protocol_response = Sanford::Protocol::Response.new([ 500, 'message' ])
|
@@ -45,7 +45,7 @@ class AndSon::Response
|
|
45
45
|
|
46
46
|
end
|
47
47
|
|
48
|
-
class Response5xxTests <
|
48
|
+
class Response5xxTests < UnitTests
|
49
49
|
desc "given a 5xx response"
|
50
50
|
setup do
|
51
51
|
@protocol_response = Sanford::Protocol::Response.new(500)
|
@@ -61,7 +61,7 @@ class AndSon::Response
|
|
61
61
|
|
62
62
|
end
|
63
63
|
|
64
|
-
class Response404Tests <
|
64
|
+
class Response404Tests < UnitTests
|
65
65
|
desc "given a 404 response"
|
66
66
|
setup do
|
67
67
|
@protocol_response = Sanford::Protocol::Response.new(404)
|
@@ -78,7 +78,7 @@ class AndSon::Response
|
|
78
78
|
|
79
79
|
end
|
80
80
|
|
81
|
-
class Response400Tests <
|
81
|
+
class Response400Tests < UnitTests
|
82
82
|
desc "given a 400 response"
|
83
83
|
setup do
|
84
84
|
@protocol_response = Sanford::Protocol::Response.new(400)
|
@@ -95,7 +95,7 @@ class AndSon::Response
|
|
95
95
|
|
96
96
|
end
|
97
97
|
|
98
|
-
class Response4xxTests <
|
98
|
+
class Response4xxTests < UnitTests
|
99
99
|
desc "given a 4xx response"
|
100
100
|
setup do
|
101
101
|
@protocol_response = Sanford::Protocol::Response.new(402)
|
@@ -3,7 +3,7 @@ require 'and-son/stored_responses'
|
|
3
3
|
|
4
4
|
class AndSon::StoredResponses
|
5
5
|
|
6
|
-
class
|
6
|
+
class UnitTests < Assert::Context
|
7
7
|
desc "AndSon::StoredResponses"
|
8
8
|
setup do
|
9
9
|
@responses = AndSon::StoredResponses.new
|
@@ -14,7 +14,7 @@ class AndSon::StoredResponses
|
|
14
14
|
|
15
15
|
end
|
16
16
|
|
17
|
-
class AddTest <
|
17
|
+
class AddTest < UnitTests
|
18
18
|
desc "add"
|
19
19
|
|
20
20
|
should "allow adding responses given an name and optional params" do
|
@@ -46,11 +46,13 @@ class AndSon::StoredResponses
|
|
46
46
|
|
47
47
|
end
|
48
48
|
|
49
|
-
class FindTest <
|
49
|
+
class FindTest < UnitTests
|
50
50
|
desc "find"
|
51
51
|
setup do
|
52
52
|
@responses.add('test', { 'id' => 1 }){ true }
|
53
53
|
@responses.add('test'){ true }
|
54
|
+
@service_called = false
|
55
|
+
@responses.add('call_service'){ @service_called = true }
|
54
56
|
end
|
55
57
|
|
56
58
|
should "allow finding a response given a name and optional params" do
|
@@ -61,9 +63,15 @@ class AndSon::StoredResponses
|
|
61
63
|
assert_equal true, response.data
|
62
64
|
end
|
63
65
|
|
66
|
+
should "not call the response block until `find` is called" do
|
67
|
+
assert_false @service_called
|
68
|
+
subject.find('call_service')
|
69
|
+
assert_true @service_called
|
70
|
+
end
|
71
|
+
|
64
72
|
end
|
65
73
|
|
66
|
-
class RemoveTest <
|
74
|
+
class RemoveTest < UnitTests
|
67
75
|
desc "remove"
|
68
76
|
setup do
|
69
77
|
@responses.add('test', { 'id' => 1 }){ true }
|
metadata
CHANGED
@@ -1,13 +1,13 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: and-son
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
hash:
|
4
|
+
hash: 13
|
5
5
|
prerelease:
|
6
6
|
segments:
|
7
7
|
- 0
|
8
8
|
- 4
|
9
|
-
-
|
10
|
-
version: 0.4.
|
9
|
+
- 1
|
10
|
+
version: 0.4.1
|
11
11
|
platform: ruby
|
12
12
|
authors:
|
13
13
|
- Collin Redding
|
@@ -16,7 +16,7 @@ autorequire:
|
|
16
16
|
bindir: bin
|
17
17
|
cert_chain: []
|
18
18
|
|
19
|
-
date:
|
19
|
+
date: 2014-03-10 00:00:00 Z
|
20
20
|
dependencies:
|
21
21
|
- !ruby/object:Gem::Dependency
|
22
22
|
version_requirements: &id001 !ruby/object:Gem::Requirement
|
@@ -39,11 +39,11 @@ dependencies:
|
|
39
39
|
requirements:
|
40
40
|
- - ~>
|
41
41
|
- !ruby/object:Gem::Version
|
42
|
-
hash:
|
42
|
+
hash: 17
|
43
43
|
segments:
|
44
44
|
- 2
|
45
|
-
-
|
46
|
-
version: "2.
|
45
|
+
- 9
|
46
|
+
version: "2.9"
|
47
47
|
type: :development
|
48
48
|
requirement: *id002
|
49
49
|
prerelease: false
|