protobuf-rspec 0.2.0 → 0.2.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/lib/protobuf/rspec/helpers.rb +6 -55
- data/lib/protobuf/rspec/version.rb +1 -1
- metadata +15 -40
@@ -1,14 +1,5 @@
|
|
1
|
-
require 'rspec/core'
|
2
1
|
require 'protobuf/rpc/rpc.pb'
|
3
2
|
|
4
|
-
::RSpec.configure do |config|
|
5
|
-
config.add_setting :protobuf_raw_response, :default => false
|
6
|
-
|
7
|
-
def config.protobuf_raw_responses
|
8
|
-
self.protobuf_raw_response = true
|
9
|
-
end
|
10
|
-
end
|
11
|
-
|
12
3
|
# RSpec Helpers designed to give you mock abstraction of client or service layer.
|
13
4
|
# Require as protobuf/rspec/helpers and include into your running RSpec configuration.
|
14
5
|
#
|
@@ -30,20 +21,6 @@ module Protobuf
|
|
30
21
|
|
31
22
|
module ClassMethods
|
32
23
|
|
33
|
-
def metadata_for_protobuf_rspec
|
34
|
-
metadata[:protobuf_rspec] = metadata[:protobuf_rspec] ? metadata[:protobuf_rspec].dup : {}
|
35
|
-
end
|
36
|
-
|
37
|
-
def protobuf_raw_responses(true_or_false = true)
|
38
|
-
metadata_for_protobuf_rspec[:protobuf_raw_response] = true_or_false
|
39
|
-
end
|
40
|
-
|
41
|
-
def protobuf_raw_responses?
|
42
|
-
metadata_for_protobuf_rspec.fetch(:protobuf_raw_response) do
|
43
|
-
::RSpec.configuration.protobuf_raw_response?
|
44
|
-
end
|
45
|
-
end
|
46
|
-
|
47
24
|
# Set the service subject. Use this method when the described_class is
|
48
25
|
# not the class you wish to use with methods like local_rpc. In t
|
49
26
|
#
|
@@ -76,10 +53,6 @@ module Protobuf
|
|
76
53
|
|
77
54
|
module InstanceMethods
|
78
55
|
|
79
|
-
def protobuf_raw_responses?
|
80
|
-
self.class.protobuf_raw_responses?
|
81
|
-
end
|
82
|
-
|
83
56
|
def subject_service
|
84
57
|
self.class.subject_service
|
85
58
|
end
|
@@ -123,43 +96,21 @@ module Protobuf
|
|
123
96
|
#
|
124
97
|
# @param [Symbol, String] method a symbol or string denoting the method to call.
|
125
98
|
# @param [Protobuf::Message or Hash] request the request message of the expected type for the given method.
|
126
|
-
# @
|
127
|
-
|
128
|
-
def local_rpc(rpc_method, request, raw_response = false)
|
99
|
+
# @return [Protobuf::Message or String] the resulting protobuf message or error string
|
100
|
+
def local_rpc(rpc_method, request)
|
129
101
|
request = subject_service.rpcs[rpc_method].request_type.new(request) if request.is_a?(Hash)
|
130
102
|
|
131
|
-
|
132
|
-
service = subject_service.new(rpc_method, request.serialize_to_string)
|
133
|
-
|
134
|
-
yield(service) if block_given?
|
135
|
-
|
136
|
-
service.__send__(rpc_method)
|
137
|
-
return service
|
138
|
-
else
|
139
|
-
return __dispatch_service_call__(rpc_method, request)
|
140
|
-
end
|
141
|
-
end
|
142
|
-
|
143
|
-
def __dispatch_service_call__(rpc_method, request)
|
144
|
-
request_params = {
|
103
|
+
outer_request_params = {
|
145
104
|
:service_name => subject_service.to_s,
|
146
105
|
:method_name => rpc_method.to_s,
|
147
106
|
:request_proto => request.serialize_to_string
|
148
107
|
}
|
149
108
|
|
150
|
-
|
151
|
-
dispatcher = ::Protobuf::Rpc::ServiceDispatcher.new(
|
152
|
-
dispatcher.invoke!
|
153
|
-
end
|
109
|
+
outer_request = ::Protobuf::Socketrpc::Request.new(outer_request_params)
|
110
|
+
dispatcher = ::Protobuf::Rpc::ServiceDispatcher.new(outer_request)
|
154
111
|
|
155
|
-
|
156
|
-
#
|
157
|
-
def call_local_service(klass, rpc_method, request, &block)
|
158
|
-
$stderr.puts '[Deprecated] call_local_service is deprecated. Please use local_rpc in conjunction with subject_service.'
|
159
|
-
self.class.service { klass }
|
160
|
-
local_rpc(rpc_method, request, nil &block)
|
112
|
+
dispatcher.invoke!
|
161
113
|
end
|
162
|
-
alias_method :call_service, :call_local_service
|
163
114
|
|
164
115
|
# Create a mock service that responds in the way you are expecting to aid in testing client -> service calls.
|
165
116
|
# In order to test your success callback you should provide a :response object. Similarly, to test your failure
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: protobuf-rspec
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.2.
|
4
|
+
version: 0.2.1
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,11 +9,11 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2012-11-19 00:00:00.
|
12
|
+
date: 2012-11-19 00:00:00.000000000Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: protobuf
|
16
|
-
requirement: !ruby/object:Gem::Requirement
|
16
|
+
requirement: &2156886860 !ruby/object:Gem::Requirement
|
17
17
|
none: false
|
18
18
|
requirements:
|
19
19
|
- - ! '>='
|
@@ -21,15 +21,10 @@ dependencies:
|
|
21
21
|
version: '2.0'
|
22
22
|
type: :runtime
|
23
23
|
prerelease: false
|
24
|
-
version_requirements:
|
25
|
-
none: false
|
26
|
-
requirements:
|
27
|
-
- - ! '>='
|
28
|
-
- !ruby/object:Gem::Version
|
29
|
-
version: '2.0'
|
24
|
+
version_requirements: *2156886860
|
30
25
|
- !ruby/object:Gem::Dependency
|
31
26
|
name: rspec
|
32
|
-
requirement: !ruby/object:Gem::Requirement
|
27
|
+
requirement: &2156839100 !ruby/object:Gem::Requirement
|
33
28
|
none: false
|
34
29
|
requirements:
|
35
30
|
- - ~>
|
@@ -37,15 +32,10 @@ dependencies:
|
|
37
32
|
version: '2.8'
|
38
33
|
type: :runtime
|
39
34
|
prerelease: false
|
40
|
-
version_requirements:
|
41
|
-
none: false
|
42
|
-
requirements:
|
43
|
-
- - ~>
|
44
|
-
- !ruby/object:Gem::Version
|
45
|
-
version: '2.8'
|
35
|
+
version_requirements: *2156839100
|
46
36
|
- !ruby/object:Gem::Dependency
|
47
37
|
name: rake
|
48
|
-
requirement: !ruby/object:Gem::Requirement
|
38
|
+
requirement: &2156838620 !ruby/object:Gem::Requirement
|
49
39
|
none: false
|
50
40
|
requirements:
|
51
41
|
- - ! '>='
|
@@ -53,15 +43,10 @@ dependencies:
|
|
53
43
|
version: '0'
|
54
44
|
type: :development
|
55
45
|
prerelease: false
|
56
|
-
version_requirements:
|
57
|
-
none: false
|
58
|
-
requirements:
|
59
|
-
- - ! '>='
|
60
|
-
- !ruby/object:Gem::Version
|
61
|
-
version: '0'
|
46
|
+
version_requirements: *2156838620
|
62
47
|
- !ruby/object:Gem::Dependency
|
63
48
|
name: yard
|
64
|
-
requirement: !ruby/object:Gem::Requirement
|
49
|
+
requirement: &2156837580 !ruby/object:Gem::Requirement
|
65
50
|
none: false
|
66
51
|
requirements:
|
67
52
|
- - ~>
|
@@ -69,15 +54,10 @@ dependencies:
|
|
69
54
|
version: '0.7'
|
70
55
|
type: :development
|
71
56
|
prerelease: false
|
72
|
-
version_requirements:
|
73
|
-
none: false
|
74
|
-
requirements:
|
75
|
-
- - ~>
|
76
|
-
- !ruby/object:Gem::Version
|
77
|
-
version: '0.7'
|
57
|
+
version_requirements: *2156837580
|
78
58
|
- !ruby/object:Gem::Dependency
|
79
59
|
name: redcarpet
|
80
|
-
requirement: !ruby/object:Gem::Requirement
|
60
|
+
requirement: &2156836540 !ruby/object:Gem::Requirement
|
81
61
|
none: false
|
82
62
|
requirements:
|
83
63
|
- - ~>
|
@@ -85,12 +65,7 @@ dependencies:
|
|
85
65
|
version: '2.1'
|
86
66
|
type: :development
|
87
67
|
prerelease: false
|
88
|
-
version_requirements:
|
89
|
-
none: false
|
90
|
-
requirements:
|
91
|
-
- - ~>
|
92
|
-
- !ruby/object:Gem::Version
|
93
|
-
version: '2.1'
|
68
|
+
version_requirements: *2156836540
|
94
69
|
description: Protobuf RSpec helpers for testing services and clients. Meant to be
|
95
70
|
used with the protobuf gem. Decouple external services/clients from each other using
|
96
71
|
the given helper methods.
|
@@ -122,7 +97,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
122
97
|
version: '0'
|
123
98
|
segments:
|
124
99
|
- 0
|
125
|
-
hash: -
|
100
|
+
hash: -1849475935849692850
|
126
101
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
127
102
|
none: false
|
128
103
|
requirements:
|
@@ -131,10 +106,10 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
131
106
|
version: '0'
|
132
107
|
segments:
|
133
108
|
- 0
|
134
|
-
hash: -
|
109
|
+
hash: -1849475935849692850
|
135
110
|
requirements: []
|
136
111
|
rubyforge_project: protobuf-rspec
|
137
|
-
rubygems_version: 1.8.
|
112
|
+
rubygems_version: 1.8.15
|
138
113
|
signing_key:
|
139
114
|
specification_version: 3
|
140
115
|
summary: Protobuf RSpec helpers for testing services and clients. Meant to be used
|