protobuf_spec 0.3.1 → 0.3.2

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
- ---
2
- SHA1:
3
- metadata.gz: 66bbc89abe97ac54c85205b4dd0807626e5d674c
4
- data.tar.gz: 8230b7bf3c4ed051b868ce5600fb96623c1da194
5
- SHA512:
6
- metadata.gz: 3fa242e56478eb0881c37abf269b709e967f0d23e1d502603bfb4d729271ad5539c16d808a25d9b04cb50ada9a2640d4b7cfbb38d529b2df75aba2c5b89261b9
7
- data.tar.gz: 973b1c68787c23b251886f691b9a9801cee3245050636fb98b7ee3fc055493de40b6fcb12dbc46628be996ebb412eb906faaaad904acef60f742e209bd80da83
1
+ ---
2
+ SHA1:
3
+ metadata.gz: 44abc241a1544162b2694e67c2c97703cd6e19e9
4
+ data.tar.gz: 72cf86f7423577cb64ce11daa7ea956ce658ca6d
5
+ SHA512:
6
+ metadata.gz: 84e754483594ba647b7951caeae5f624cf7dfe8b3da5de29f97e840e1f9cb0ef219471864fea4bbdef924ace797be854d02f3492c8a1e8b0d4d4e0f4204c70b9
7
+ data.tar.gz: 7c7cc02740c9b4663fca3fb31161fc5723842978eec1d85a05b7283afc0bac2b9f94a4ef731805f4c4fd258d521393f23c2f8f0ab1902c49229a1b385a146781
@@ -1,5 +1,4 @@
1
1
  language: ruby
2
2
  rvm:
3
- - 1.9.2
4
3
  - 1.9.3
5
4
  - 2.0.0
data/Gemfile CHANGED
@@ -7,7 +7,7 @@ gem "cuke_mem", "~> 0.1.1"
7
7
 
8
8
  group :development do
9
9
  gem "rspec", "~> 2.14"
10
- gem "jeweler", "~> 1.8"
10
+ gem "jeweler", "~> 1.8.8"
11
11
  gem "cucumber", "~> 1.3"
12
12
  gem "rake", "~> 10.1"
13
13
  end
@@ -1,7 +1,7 @@
1
1
  GEM
2
2
  remote: http://rubygems.org/
3
3
  specs:
4
- addressable (2.3.5)
4
+ addressable (2.3.8)
5
5
  builder (3.2.2)
6
6
  cucumber (1.3.6)
7
7
  builder (>= 2.1.2)
@@ -12,11 +12,11 @@ GEM
12
12
  cuke_mem (0.1.1)
13
13
  cucumber (~> 1.3)
14
14
  diff-lcs (1.2.4)
15
- faraday (0.8.8)
15
+ faraday (0.8.9)
16
16
  multipart-post (~> 1.2.0)
17
17
  gherkin (2.12.1)
18
18
  multi_json (~> 1.3)
19
- git (1.2.6)
19
+ git (1.2.9.1)
20
20
  github_api (0.10.1)
21
21
  addressable
22
22
  faraday (~> 0.8.1)
@@ -24,10 +24,9 @@ GEM
24
24
  multi_json (~> 1.4)
25
25
  nokogiri (~> 1.5.2)
26
26
  oauth2
27
- hashie (2.0.5)
28
- highline (1.6.19)
29
- httpauth (0.2.0)
30
- jeweler (1.8.7)
27
+ hashie (3.4.1)
28
+ highline (1.7.2)
29
+ jeweler (1.8.8)
31
30
  builder
32
31
  bundler (~> 1.0)
33
32
  git (>= 1.2.5)
@@ -36,27 +35,25 @@ GEM
36
35
  nokogiri (= 1.5.10)
37
36
  rake
38
37
  rdoc
39
- json (1.8.0)
38
+ json (1.8.2)
40
39
  json_spec (1.1.1)
41
40
  multi_json (~> 1.0)
42
41
  rspec (~> 2.0)
43
- jwt (0.1.8)
44
- multi_json (>= 1.5)
42
+ jwt (1.4.1)
45
43
  multi_json (1.7.9)
46
44
  multi_test (0.0.2)
47
45
  multi_xml (0.5.5)
48
46
  multipart-post (1.2.0)
49
47
  nokogiri (1.5.10)
50
- oauth2 (0.9.2)
51
- faraday (~> 0.8)
52
- httpauth (~> 0.2)
53
- jwt (~> 0.1.4)
54
- multi_json (~> 1.0)
48
+ oauth2 (1.0.0)
49
+ faraday (>= 0.8, < 0.10)
50
+ jwt (~> 1.0)
51
+ multi_json (~> 1.3)
55
52
  multi_xml (~> 0.5)
56
53
  rack (~> 1.2)
57
- rack (1.5.2)
54
+ rack (1.6.1)
58
55
  rake (10.1.0)
59
- rdoc (4.0.1)
56
+ rdoc (4.2.0)
60
57
  json (~> 1.4)
61
58
  rspec (2.14.1)
62
59
  rspec-core (~> 2.14.0)
@@ -74,7 +71,7 @@ PLATFORMS
74
71
  DEPENDENCIES
75
72
  cucumber (~> 1.3)
76
73
  cuke_mem (~> 0.1.1)
77
- jeweler (~> 1.8)
74
+ jeweler (~> 1.8.8)
78
75
  json_spec (~> 1.1.1)
79
76
  rake (~> 10.1)
80
77
  rspec (~> 2.14)
data/README.md CHANGED
@@ -115,6 +115,27 @@ Feature: Weather Request API
115
115
 
116
116
  The built protocol buffer can be accessed through the ```protobuf``` function in the ```ProtobufSpec::Builder``` module.
117
117
 
118
+ ### Testing with a Transport Layer
119
+
120
+ Normally you will pair a serialization method like Protocol Buffers with a transport layer in systems that send and receive serialized data. protobuf\_spec can easily integrated with a transport testing platform to test such systems. Consider again the weather example presented above. If the weather server used [ZeroMQ](http://zeromq.org) as a transport layer, one could use an agent platform like [agent_zmq](https://github.com/connamara/agent_zmq) to test and control the transport concern. Using agent\_zmq, we could construct the following step definitions
121
+
122
+ ```ruby
123
+ When /^I send the request$/ do
124
+ AgentZeroMQ.agents_hash[:requester].publish [ProtobufSpec::Builder.protobuf.serialize_to_string]
125
+ end
126
+
127
+ Then /^I should receive a ProtoBuf of type com::weather::WeatherResponse$/
128
+ steps %{Then I should receive a response on ZeroMQ with agent "requester"}
129
+
130
+ @my_protocol_buffer=Com::weather::WeatherResponse.new
131
+ @my_protocol_buffer.parse_from_string last_zmq_message.last
132
+ end
133
+
134
+ ...
135
+ ```
136
+
137
+ See [agent_zmq](https://github.com/connamara/agent_zmq) for additional information. A similar abstraction could be applied to any other transport layer.
138
+
118
139
  ### More
119
140
 
120
141
  Check out [specs](https://github.com/connamara/protobuf_spec/blob/master/spec) and [features](https://github.com/connamara/protobuf_spec/blob/master/features) to see all the ways you can use protobuf_spec.
@@ -149,7 +170,8 @@ Credits
149
170
 
150
171
  Contributers:
151
172
 
152
- * Chris Busbey
173
+ * [Chris Busbey](https://github.com/cbusbey)
174
+ * [Mike Gatny](https://github.com/mgatny)
153
175
 
154
176
  ![Connamara Systems](http://www.connamara.com/images/home-connamara-logo-lg.png)
155
177
 
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.3.1
1
+ 0.3.2
@@ -11,10 +11,12 @@ Feature: Building ProtoBufs
11
11
  And I set the ProtoBuf at "string_field" to "hello"
12
12
  And I set the ProtoBuf at "int_field" to -5
13
13
  And I set the ProtoBuf at "double_field" to 123.45
14
+ And I set the ProtoBuf at "bool_field" to true
14
15
  When I get the ProtoBuf
15
16
  Then the ProtoBuf at "string_field" should be "hello"
16
17
  And the ProtoBuf at "int_field" should be -5
17
18
  And the ProtoBuf at "double_field" should be 123.45
19
+ And the ProtoBuf at "bool_field" should be true
18
20
 
19
21
  Scenario: I can create a protobuf with a json description
20
22
  Given I create the following ProtoBuf of type "Sample":
@@ -29,6 +29,10 @@ Given /^I set the (?:ProtoBuf|Protobuf|protobuf) at "([^"]*)" to (-?\d+\.\d+)$/
29
29
  ProtobufSpec::Builder.protobuf.send("#{field}=".to_sym, val.to_f)
30
30
  end
31
31
 
32
+ Given /^I set the (?:ProtoBuf|Protobuf|protobuf) at "([^"]*)" to (-?true|false)$/ do |field, val|
33
+ ProtobufSpec::Builder.protobuf.send("#{field}=".to_sym, val == "true")
34
+ end
35
+
32
36
  Given /^I create the following (?:ProtoBuf|Protobuf|protobuf) of type "([^"]*)":$/ do |proto_type, proto_as_json|
33
37
  steps %{Given I create a ProtoBuf of type "#{proto_type}"}
34
38
 
@@ -41,7 +41,7 @@ Then /^the (?:ProtoBuf|Protobuf|protobuf)(?: response)?(?: at "(.*)")? should( n
41
41
  end
42
42
 
43
43
  Then /^the (?:ProtoBuf|Protobuf|protobuf)(?: response)?(?: at "(.*)")? should have the following:$/ do |base, table|
44
- table.rows.each do |path, value|
44
+ table.raw.each do |path, value|
45
45
  path = [base, path].compact.join("/")
46
46
 
47
47
  if value
@@ -5,12 +5,22 @@ module ProtobufSpec
5
5
  class BeProtobufEql
6
6
  include JsonSpec::Messages
7
7
 
8
- attr_reader :actual
8
+ def diffable?
9
+ true
10
+ end
9
11
 
10
12
  def initialize(expected_json = nil)
11
13
  @json_matcher= JsonSpec::Matchers::BeJsonEql.new expected_json
12
14
  end
13
15
 
16
+ def expected
17
+ @json_matcher.expected
18
+ end
19
+
20
+ def actual
21
+ @json_matcher.actual
22
+ end
23
+
14
24
  def at_path(path)
15
25
  @path=path
16
26
  @json_matcher.at_path path
@@ -2,14 +2,16 @@
2
2
  # DO NOT EDIT THIS FILE DIRECTLY
3
3
  # Instead, edit Jeweler::Tasks in Rakefile, and run 'rake gemspec'
4
4
  # -*- encoding: utf-8 -*-
5
+ # stub: protobuf_spec 0.3.2 ruby lib
5
6
 
6
7
  Gem::Specification.new do |s|
7
8
  s.name = "protobuf_spec"
8
- s.version = "0.3.1"
9
+ s.version = "0.3.2"
9
10
 
10
11
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
12
+ s.require_paths = ["lib"]
11
13
  s.authors = ["Chris Busbey"]
12
- s.date = "2013-08-28"
14
+ s.date = "2015-05-07"
13
15
  s.description = "Leverages json_spec to test structured protocol buffers with json data modeling"
14
16
  s.email = "info@connamara.com"
15
17
  s.extra_rdoc_files = [
@@ -50,8 +52,7 @@ Gem::Specification.new do |s|
50
52
  ]
51
53
  s.homepage = "http://github.com/connamara/protobuf_spec"
52
54
  s.licenses = ["GPL"]
53
- s.require_paths = ["lib"]
54
- s.rubygems_version = "2.0.7"
55
+ s.rubygems_version = "2.2.2"
55
56
  s.summary = "RSpec matchers and cucumber step defs for testing protocol buffers"
56
57
 
57
58
  if s.respond_to? :specification_version then
@@ -62,7 +63,7 @@ Gem::Specification.new do |s|
62
63
  s.add_runtime_dependency(%q<json_spec>, ["~> 1.1.1"])
63
64
  s.add_runtime_dependency(%q<cuke_mem>, ["~> 0.1.1"])
64
65
  s.add_development_dependency(%q<rspec>, ["~> 2.14"])
65
- s.add_development_dependency(%q<jeweler>, ["~> 1.8"])
66
+ s.add_development_dependency(%q<jeweler>, ["~> 1.8.8"])
66
67
  s.add_development_dependency(%q<cucumber>, ["~> 1.3"])
67
68
  s.add_development_dependency(%q<rake>, ["~> 10.1"])
68
69
  else
@@ -70,7 +71,7 @@ Gem::Specification.new do |s|
70
71
  s.add_dependency(%q<json_spec>, ["~> 1.1.1"])
71
72
  s.add_dependency(%q<cuke_mem>, ["~> 0.1.1"])
72
73
  s.add_dependency(%q<rspec>, ["~> 2.14"])
73
- s.add_dependency(%q<jeweler>, ["~> 1.8"])
74
+ s.add_dependency(%q<jeweler>, ["~> 1.8.8"])
74
75
  s.add_dependency(%q<cucumber>, ["~> 1.3"])
75
76
  s.add_dependency(%q<rake>, ["~> 10.1"])
76
77
  end
@@ -79,7 +80,7 @@ Gem::Specification.new do |s|
79
80
  s.add_dependency(%q<json_spec>, ["~> 1.1.1"])
80
81
  s.add_dependency(%q<cuke_mem>, ["~> 0.1.1"])
81
82
  s.add_dependency(%q<rspec>, ["~> 2.14"])
82
- s.add_dependency(%q<jeweler>, ["~> 1.8"])
83
+ s.add_dependency(%q<jeweler>, ["~> 1.8.8"])
83
84
  s.add_dependency(%q<cucumber>, ["~> 1.3"])
84
85
  s.add_dependency(%q<rake>, ["~> 10.1"])
85
86
  end
metadata CHANGED
@@ -1,99 +1,125 @@
1
- --- !ruby/object:Gem::Specification
1
+ --- !ruby/object:Gem::Specification
2
2
  name: protobuf_spec
3
- version: !ruby/object:Gem::Version
4
- version: 0.3.1
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.3.2
5
5
  platform: ruby
6
- authors:
6
+ authors:
7
7
  - Chris Busbey
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
-
12
- date: 2013-08-28 00:00:00 Z
13
- dependencies:
14
- - !ruby/object:Gem::Dependency
11
+ date: 2015-05-07 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
15
14
  name: ruby_protobuf
16
- requirement: &id001 !ruby/object:Gem::Requirement
17
- requirements:
18
- - - ~>
19
- - !ruby/object:Gem::Version
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - "~>"
18
+ - !ruby/object:Gem::Version
20
19
  version: 0.4.11
21
20
  type: :runtime
22
21
  prerelease: false
23
- version_requirements: *id001
24
- - !ruby/object:Gem::Dependency
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - "~>"
25
+ - !ruby/object:Gem::Version
26
+ version: 0.4.11
27
+ - !ruby/object:Gem::Dependency
25
28
  name: json_spec
26
- requirement: &id002 !ruby/object:Gem::Requirement
27
- requirements:
28
- - - ~>
29
- - !ruby/object:Gem::Version
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - "~>"
32
+ - !ruby/object:Gem::Version
30
33
  version: 1.1.1
31
34
  type: :runtime
32
35
  prerelease: false
33
- version_requirements: *id002
34
- - !ruby/object:Gem::Dependency
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - "~>"
39
+ - !ruby/object:Gem::Version
40
+ version: 1.1.1
41
+ - !ruby/object:Gem::Dependency
35
42
  name: cuke_mem
36
- requirement: &id003 !ruby/object:Gem::Requirement
37
- requirements:
38
- - - ~>
39
- - !ruby/object:Gem::Version
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - "~>"
46
+ - !ruby/object:Gem::Version
40
47
  version: 0.1.1
41
48
  type: :runtime
42
49
  prerelease: false
43
- version_requirements: *id003
44
- - !ruby/object:Gem::Dependency
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - "~>"
53
+ - !ruby/object:Gem::Version
54
+ version: 0.1.1
55
+ - !ruby/object:Gem::Dependency
45
56
  name: rspec
46
- requirement: &id004 !ruby/object:Gem::Requirement
47
- requirements:
48
- - - ~>
49
- - !ruby/object:Gem::Version
50
- version: "2.14"
57
+ requirement: !ruby/object:Gem::Requirement
58
+ requirements:
59
+ - - "~>"
60
+ - !ruby/object:Gem::Version
61
+ version: '2.14'
51
62
  type: :development
52
63
  prerelease: false
53
- version_requirements: *id004
54
- - !ruby/object:Gem::Dependency
64
+ version_requirements: !ruby/object:Gem::Requirement
65
+ requirements:
66
+ - - "~>"
67
+ - !ruby/object:Gem::Version
68
+ version: '2.14'
69
+ - !ruby/object:Gem::Dependency
55
70
  name: jeweler
56
- requirement: &id005 !ruby/object:Gem::Requirement
57
- requirements:
58
- - - ~>
59
- - !ruby/object:Gem::Version
60
- version: "1.8"
71
+ requirement: !ruby/object:Gem::Requirement
72
+ requirements:
73
+ - - "~>"
74
+ - !ruby/object:Gem::Version
75
+ version: 1.8.8
61
76
  type: :development
62
77
  prerelease: false
63
- version_requirements: *id005
64
- - !ruby/object:Gem::Dependency
78
+ version_requirements: !ruby/object:Gem::Requirement
79
+ requirements:
80
+ - - "~>"
81
+ - !ruby/object:Gem::Version
82
+ version: 1.8.8
83
+ - !ruby/object:Gem::Dependency
65
84
  name: cucumber
66
- requirement: &id006 !ruby/object:Gem::Requirement
67
- requirements:
68
- - - ~>
69
- - !ruby/object:Gem::Version
70
- version: "1.3"
85
+ requirement: !ruby/object:Gem::Requirement
86
+ requirements:
87
+ - - "~>"
88
+ - !ruby/object:Gem::Version
89
+ version: '1.3'
71
90
  type: :development
72
91
  prerelease: false
73
- version_requirements: *id006
74
- - !ruby/object:Gem::Dependency
92
+ version_requirements: !ruby/object:Gem::Requirement
93
+ requirements:
94
+ - - "~>"
95
+ - !ruby/object:Gem::Version
96
+ version: '1.3'
97
+ - !ruby/object:Gem::Dependency
75
98
  name: rake
76
- requirement: &id007 !ruby/object:Gem::Requirement
77
- requirements:
78
- - - ~>
79
- - !ruby/object:Gem::Version
80
- version: "10.1"
99
+ requirement: !ruby/object:Gem::Requirement
100
+ requirements:
101
+ - - "~>"
102
+ - !ruby/object:Gem::Version
103
+ version: '10.1'
81
104
  type: :development
82
105
  prerelease: false
83
- version_requirements: *id007
84
- description: Leverages json_spec to test structured protocol buffers with json data modeling
106
+ version_requirements: !ruby/object:Gem::Requirement
107
+ requirements:
108
+ - - "~>"
109
+ - !ruby/object:Gem::Version
110
+ version: '10.1'
111
+ description: Leverages json_spec to test structured protocol buffers with json data
112
+ modeling
85
113
  email: info@connamara.com
86
114
  executables: []
87
-
88
115
  extensions: []
89
-
90
- extra_rdoc_files:
116
+ extra_rdoc_files:
91
117
  - LICENSE.txt
92
118
  - README.md
93
- files:
94
- - .document
95
- - .rspec
96
- - .travis.yml
119
+ files:
120
+ - ".document"
121
+ - ".rspec"
122
+ - ".travis.yml"
97
123
  - CONTRIBUTION_GUIDELINES.md
98
124
  - Gemfile
99
125
  - Gemfile.lock
@@ -122,30 +148,27 @@ files:
122
148
  - spec/spec_helper.rb
123
149
  - spec/support/sample.pb.rb
124
150
  homepage: http://github.com/connamara/protobuf_spec
125
- licenses:
151
+ licenses:
126
152
  - GPL
127
153
  metadata: {}
128
-
129
154
  post_install_message:
130
155
  rdoc_options: []
131
-
132
- require_paths:
156
+ require_paths:
133
157
  - lib
134
- required_ruby_version: !ruby/object:Gem::Requirement
135
- requirements:
136
- - &id008
137
- - ">="
138
- - !ruby/object:Gem::Version
139
- version: "0"
140
- required_rubygems_version: !ruby/object:Gem::Requirement
141
- requirements:
142
- - *id008
158
+ required_ruby_version: !ruby/object:Gem::Requirement
159
+ requirements:
160
+ - - ">="
161
+ - !ruby/object:Gem::Version
162
+ version: '0'
163
+ required_rubygems_version: !ruby/object:Gem::Requirement
164
+ requirements:
165
+ - - ">="
166
+ - !ruby/object:Gem::Version
167
+ version: '0'
143
168
  requirements: []
144
-
145
169
  rubyforge_project:
146
- rubygems_version: 2.0.7
170
+ rubygems_version: 2.2.2
147
171
  signing_key:
148
172
  specification_version: 4
149
173
  summary: RSpec matchers and cucumber step defs for testing protocol buffers
150
174
  test_files: []
151
-