protobuf_spec 0.3.1 → 0.3.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 +7 -7
- data/.travis.yml +0 -1
- data/Gemfile +1 -1
- data/Gemfile.lock +15 -18
- data/README.md +23 -1
- data/VERSION +1 -1
- data/features/builder.feature +2 -0
- data/lib/protobuf_spec/builder.rb +4 -0
- data/lib/protobuf_spec/cucumber.rb +1 -1
- data/lib/protobuf_spec/matchers/be_protobuf_eql.rb +11 -1
- data/protobuf_spec.gemspec +8 -7
- metadata +100 -77
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
|
-
---
|
2
|
-
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
5
|
-
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
1
|
+
---
|
2
|
+
SHA1:
|
3
|
+
metadata.gz: 44abc241a1544162b2694e67c2c97703cd6e19e9
|
4
|
+
data.tar.gz: 72cf86f7423577cb64ce11daa7ea956ce658ca6d
|
5
|
+
SHA512:
|
6
|
+
metadata.gz: 84e754483594ba647b7951caeae5f624cf7dfe8b3da5de29f97e840e1f9cb0ef219471864fea4bbdef924ace797be854d02f3492c8a1e8b0d4d4e0f4204c70b9
|
7
|
+
data.tar.gz: 7c7cc02740c9b4663fca3fb31161fc5723842978eec1d85a05b7283afc0bac2b9f94a4ef731805f4c4fd258d521393f23c2f8f0ab1902c49229a1b385a146781
|
data/.travis.yml
CHANGED
data/Gemfile
CHANGED
data/Gemfile.lock
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
GEM
|
2
2
|
remote: http://rubygems.org/
|
3
3
|
specs:
|
4
|
-
addressable (2.3.
|
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.
|
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.
|
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 (
|
28
|
-
highline (1.
|
29
|
-
|
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.
|
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 (
|
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.
|
51
|
-
faraday (
|
52
|
-
|
53
|
-
|
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.
|
54
|
+
rack (1.6.1)
|
58
55
|
rake (10.1.0)
|
59
|
-
rdoc (4.0
|
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
|

|
155
177
|
|
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
0.3.
|
1
|
+
0.3.2
|
data/features/builder.feature
CHANGED
@@ -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.
|
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
|
-
|
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
|
data/protobuf_spec.gemspec
CHANGED
@@ -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.
|
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 = "
|
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.
|
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.
|
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
|
-
|
13
|
-
|
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:
|
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:
|
24
|
-
|
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:
|
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:
|
34
|
-
|
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:
|
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:
|
44
|
-
|
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:
|
47
|
-
requirements:
|
48
|
-
- - ~>
|
49
|
-
- !ruby/object:Gem::Version
|
50
|
-
version:
|
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:
|
54
|
-
|
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:
|
57
|
-
requirements:
|
58
|
-
- - ~>
|
59
|
-
- !ruby/object:Gem::Version
|
60
|
-
version:
|
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:
|
64
|
-
|
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:
|
67
|
-
requirements:
|
68
|
-
- - ~>
|
69
|
-
- !ruby/object:Gem::Version
|
70
|
-
version:
|
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:
|
74
|
-
|
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:
|
77
|
-
requirements:
|
78
|
-
- - ~>
|
79
|
-
- !ruby/object:Gem::Version
|
80
|
-
version:
|
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:
|
84
|
-
|
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
|
-
-
|
137
|
-
-
|
138
|
-
|
139
|
-
|
140
|
-
|
141
|
-
|
142
|
-
|
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.
|
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
|
-
|