kafka_rest_proxy_client 0.1.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (45) hide show
  1. checksums.yaml +7 -0
  2. data/Gemfile +7 -0
  3. data/Gemfile.lock +69 -0
  4. data/README.md +129 -0
  5. data/Rakefile +8 -0
  6. data/bin/console +9 -0
  7. data/docs/Body.md +12 -0
  8. data/docs/InlineResponse200.md +10 -0
  9. data/docs/InlineResponse200Offsets.md +11 -0
  10. data/docs/Offset.md +11 -0
  11. data/docs/ProducerApi.md +58 -0
  12. data/docs/ProducerRequest.md +12 -0
  13. data/docs/ProducerResponse.md +10 -0
  14. data/docs/Record.md +10 -0
  15. data/docs/TopicstopicNameRecords.md +10 -0
  16. data/git_push.sh +55 -0
  17. data/kafka_rest_proxy_client.gemspec +33 -0
  18. data/lib/kafka_rest_proxy_client.rb +48 -0
  19. data/lib/kafka_rest_proxy_client/api/producer_api.rb +69 -0
  20. data/lib/kafka_rest_proxy_client/api_client.rb +364 -0
  21. data/lib/kafka_rest_proxy_client/api_error.rb +26 -0
  22. data/lib/kafka_rest_proxy_client/configuration.rb +184 -0
  23. data/lib/kafka_rest_proxy_client/models/body.rb +214 -0
  24. data/lib/kafka_rest_proxy_client/models/inline_response_200.rb +196 -0
  25. data/lib/kafka_rest_proxy_client/models/inline_response_200_offsets.rb +203 -0
  26. data/lib/kafka_rest_proxy_client/models/offset.rb +203 -0
  27. data/lib/kafka_rest_proxy_client/models/producer_request.rb +214 -0
  28. data/lib/kafka_rest_proxy_client/models/producer_response.rb +196 -0
  29. data/lib/kafka_rest_proxy_client/models/record.rb +194 -0
  30. data/lib/kafka_rest_proxy_client/models/topicstopic_name_records.rb +194 -0
  31. data/lib/kafka_rest_proxy_client/version.rb +3 -0
  32. data/spec/api/producer_api_spec.rb +47 -0
  33. data/spec/api_client_spec.rb +225 -0
  34. data/spec/configuration_spec.rb +41 -0
  35. data/spec/models/body_spec.rb +65 -0
  36. data/spec/models/inline_response_200_offsets_spec.rb +59 -0
  37. data/spec/models/inline_response_200_spec.rb +53 -0
  38. data/spec/models/offset_spec.rb +59 -0
  39. data/spec/models/producer_request_spec.rb +65 -0
  40. data/spec/models/producer_response_spec.rb +53 -0
  41. data/spec/models/record_spec.rb +53 -0
  42. data/spec/models/topicstopic_name_records_spec.rb +53 -0
  43. data/spec/spec_helper.rb +110 -0
  44. data/swagger.yml +170 -0
  45. metadata +279 -0
@@ -0,0 +1,3 @@
1
+ module KafkaProxyRestClient
2
+ VERSION = "0.1.0"
3
+ end
@@ -0,0 +1,47 @@
1
+ =begin
2
+ #Kafka REST Proxy API
3
+
4
+ #An initial draft of the [Kafka REST Proxy API](https://github.com/confluentinc/kafka-rest). ## Example JSON request ``` POST /topics/test HTTP/1.1 Host: kafkaproxy.example.com Content-Type: application/vnd.kafka.json.v2+json Accept: application/vnd.kafka.v2+json, application/vnd.kafka+json, application/json { \"records\": [ { \"key\": \"somekey\", \"value\": {\"foo\": \"bar\"} }, { \"value\": [ \"foo\", \"bar\" ], \"partition\": 1 }, { \"value\": 53.5 } ] } ``` ## Example JSON response ``` HTTP/1.1 200 OK Content-Type: application/vnd.kafka.v2+json { \"key_schema_id\": null, \"value_schema_id\": null, \"offsets\": [ { \"partition\": 2, \"offset\": 100 }, { \"partition\": 1, \"offset\": 101 }, { \"partition\": 2, \"offset\": 102 } ] } ```
5
+
6
+ OpenAPI spec version: 0.1.0
7
+
8
+ Generated by: https://github.com/swagger-api/swagger-codegen.git
9
+
10
+ =end
11
+
12
+ require 'spec_helper'
13
+ require 'json'
14
+
15
+ # Unit tests for KafkaProxyRestClient::ProducerApi
16
+ # Automatically generated by swagger-codegen (github.com/swagger-api/swagger-codegen)
17
+ # Please update as you see appropriate
18
+ describe 'ProducerApi' do
19
+ before do
20
+ # run before each test
21
+ @instance = KafkaProxyRestClient::ProducerApi.new
22
+ end
23
+
24
+ after do
25
+ # run after each test
26
+ end
27
+
28
+ describe 'test an instance of ProducerApi' do
29
+ it 'should create an instact of ProducerApi' do
30
+ expect(@instance).to be_instance_of(KafkaProxyRestClient::ProducerApi)
31
+ end
32
+ end
33
+
34
+ # unit tests for topics_topic_name_post
35
+ #
36
+ # Produce messages to a topic, optionally specifying keys or partitions for the messages. If no partition is provided, one will be chosen based on the hash of the key. If no key is provided, the partition will be chosen for each message in a round-robin fashion. # For the ``avro`` embedded format, you must provide information about schemas and the REST proxy must be configured with the URL to access the schema registry (``schema.registry.connect``). Schemas may be provided as the full schema encoded as a string, or, after the initial request may be provided as the schema ID returned with the first response.
37
+ # @param topic_name Name of the topic to produce the messages to
38
+ # @param body Data to send to the kafka topic.
39
+ # @param [Hash] opts the optional parameters
40
+ # @return [InlineResponse200]
41
+ describe 'topics_topic_name_post test' do
42
+ it "should work" do
43
+ # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers
44
+ end
45
+ end
46
+
47
+ end
@@ -0,0 +1,225 @@
1
+ =begin
2
+ #Kafka REST Proxy API
3
+
4
+ #An initial draft of the [Kafka REST Proxy API](https://github.com/confluentinc/kafka-rest). ## Example JSON request ``` POST /topics/test HTTP/1.1 Host: kafkaproxy.example.com Content-Type: application/vnd.kafka.json.v2+json Accept: application/vnd.kafka.v2+json, application/vnd.kafka+json, application/json { \"records\": [ { \"key\": \"somekey\", \"value\": {\"foo\": \"bar\"} }, { \"value\": [ \"foo\", \"bar\" ], \"partition\": 1 }, { \"value\": 53.5 } ] } ``` ## Example JSON response ``` HTTP/1.1 200 OK Content-Type: application/vnd.kafka.v2+json { \"key_schema_id\": null, \"value_schema_id\": null, \"offsets\": [ { \"partition\": 2, \"offset\": 100 }, { \"partition\": 1, \"offset\": 101 }, { \"partition\": 2, \"offset\": 102 } ] } ```
5
+
6
+ OpenAPI spec version: 0.1.0
7
+
8
+ Generated by: https://github.com/swagger-api/swagger-codegen.git
9
+
10
+ =end
11
+
12
+ require 'spec_helper'
13
+
14
+ describe KafkaProxyRestClient::ApiClient do
15
+ context 'initialization' do
16
+ context 'URL stuff' do
17
+ context 'host' do
18
+ it 'removes http from host' do
19
+ KafkaProxyRestClient.configure { |c| c.host = 'http://example.com' }
20
+ expect(KafkaProxyRestClient::Configuration.default.host).to eq('example.com')
21
+ end
22
+
23
+ it 'removes https from host' do
24
+ KafkaProxyRestClient.configure { |c| c.host = 'https://wookiee.com' }
25
+ expect(KafkaProxyRestClient::ApiClient.default.config.host).to eq('wookiee.com')
26
+ end
27
+
28
+ it 'removes trailing path from host' do
29
+ KafkaProxyRestClient.configure { |c| c.host = 'hobo.com/v4' }
30
+ expect(KafkaProxyRestClient::Configuration.default.host).to eq('hobo.com')
31
+ end
32
+ end
33
+
34
+ context 'base_path' do
35
+ it "prepends a slash to base_path" do
36
+ KafkaProxyRestClient.configure { |c| c.base_path = 'v4/dog' }
37
+ expect(KafkaProxyRestClient::Configuration.default.base_path).to eq('/v4/dog')
38
+ end
39
+
40
+ it "doesn't prepend a slash if one is already there" do
41
+ KafkaProxyRestClient.configure { |c| c.base_path = '/v4/dog' }
42
+ expect(KafkaProxyRestClient::Configuration.default.base_path).to eq('/v4/dog')
43
+ end
44
+
45
+ it "ends up as a blank string if nil" do
46
+ KafkaProxyRestClient.configure { |c| c.base_path = nil }
47
+ expect(KafkaProxyRestClient::Configuration.default.base_path).to eq('')
48
+ end
49
+ end
50
+ end
51
+ end
52
+
53
+ describe "params_encoding in #build_request" do
54
+ let(:config) { KafkaProxyRestClient::Configuration.new }
55
+ let(:api_client) { KafkaProxyRestClient::ApiClient.new(config) }
56
+
57
+ it "defaults to nil" do
58
+ expect(KafkaProxyRestClient::Configuration.default.params_encoding).to eq(nil)
59
+ expect(config.params_encoding).to eq(nil)
60
+
61
+ request = api_client.build_request(:get, '/test')
62
+ expect(request.options[:params_encoding]).to eq(nil)
63
+ end
64
+
65
+ it "can be customized" do
66
+ config.params_encoding = :multi
67
+ request = api_client.build_request(:get, '/test')
68
+ expect(request.options[:params_encoding]).to eq(:multi)
69
+ end
70
+ end
71
+
72
+ describe "timeout in #build_request" do
73
+ let(:config) { KafkaProxyRestClient::Configuration.new }
74
+ let(:api_client) { KafkaProxyRestClient::ApiClient.new(config) }
75
+
76
+ it "defaults to 0" do
77
+ expect(KafkaProxyRestClient::Configuration.default.timeout).to eq(0)
78
+ expect(config.timeout).to eq(0)
79
+
80
+ request = api_client.build_request(:get, '/test')
81
+ expect(request.options[:timeout]).to eq(0)
82
+ end
83
+
84
+ it "can be customized" do
85
+ config.timeout = 100
86
+ request = api_client.build_request(:get, '/test')
87
+ expect(request.options[:timeout]).to eq(100)
88
+ end
89
+ end
90
+
91
+ describe "#deserialize" do
92
+ it "handles Array<Integer>" do
93
+ api_client = KafkaProxyRestClient::ApiClient.new
94
+ headers = {'Content-Type' => 'application/json'}
95
+ response = double('response', headers: headers, body: '[12, 34]')
96
+ data = api_client.deserialize(response, 'Array<Integer>')
97
+ expect(data).to be_instance_of(Array)
98
+ expect(data).to eq([12, 34])
99
+ end
100
+
101
+ it "handles Array<Array<Integer>>" do
102
+ api_client = KafkaProxyRestClient::ApiClient.new
103
+ headers = {'Content-Type' => 'application/json'}
104
+ response = double('response', headers: headers, body: '[[12, 34], [56]]')
105
+ data = api_client.deserialize(response, 'Array<Array<Integer>>')
106
+ expect(data).to be_instance_of(Array)
107
+ expect(data).to eq([[12, 34], [56]])
108
+ end
109
+
110
+ it "handles Hash<String, String>" do
111
+ api_client = KafkaProxyRestClient::ApiClient.new
112
+ headers = {'Content-Type' => 'application/json'}
113
+ response = double('response', headers: headers, body: '{"message": "Hello"}')
114
+ data = api_client.deserialize(response, 'Hash<String, String>')
115
+ expect(data).to be_instance_of(Hash)
116
+ expect(data).to eq({:message => 'Hello'})
117
+ end
118
+ end
119
+
120
+ describe "#object_to_hash" do
121
+ it "ignores nils and includes empty arrays" do
122
+ # uncomment below to test object_to_hash for model
123
+ #api_client = KafkaProxyRestClient::ApiClient.new
124
+ #_model = KafkaProxyRestClient::ModelName.new
125
+ # update the model attribute below
126
+ #_model.id = 1
127
+ # update the expected value (hash) below
128
+ #expected = {id: 1, name: '', tags: []}
129
+ #expect(api_client.object_to_hash(_model)).to eq(expected)
130
+ end
131
+ end
132
+
133
+ describe "#build_collection_param" do
134
+ let(:param) { ['aa', 'bb', 'cc'] }
135
+ let(:api_client) { KafkaProxyRestClient::ApiClient.new }
136
+
137
+ it "works for csv" do
138
+ expect(api_client.build_collection_param(param, :csv)).to eq('aa,bb,cc')
139
+ end
140
+
141
+ it "works for ssv" do
142
+ expect(api_client.build_collection_param(param, :ssv)).to eq('aa bb cc')
143
+ end
144
+
145
+ it "works for tsv" do
146
+ expect(api_client.build_collection_param(param, :tsv)).to eq("aa\tbb\tcc")
147
+ end
148
+
149
+ it "works for pipes" do
150
+ expect(api_client.build_collection_param(param, :pipes)).to eq('aa|bb|cc')
151
+ end
152
+
153
+ it "works for multi" do
154
+ expect(api_client.build_collection_param(param, :multi)).to eq(['aa', 'bb', 'cc'])
155
+ end
156
+
157
+ it "fails for invalid collection format" do
158
+ expect(proc { api_client.build_collection_param(param, :INVALID) }).to raise_error(RuntimeError, 'unknown collection format: :INVALID')
159
+ end
160
+ end
161
+
162
+ describe "#json_mime?" do
163
+ let(:api_client) { KafkaProxyRestClient::ApiClient.new }
164
+
165
+ it "works" do
166
+ expect(api_client.json_mime?(nil)).to eq false
167
+ expect(api_client.json_mime?('')).to eq false
168
+
169
+ expect(api_client.json_mime?('application/json')).to eq true
170
+ expect(api_client.json_mime?('application/json; charset=UTF8')).to eq true
171
+ expect(api_client.json_mime?('APPLICATION/JSON')).to eq true
172
+
173
+ expect(api_client.json_mime?('application/xml')).to eq false
174
+ expect(api_client.json_mime?('text/plain')).to eq false
175
+ expect(api_client.json_mime?('application/jsonp')).to eq false
176
+ end
177
+ end
178
+
179
+ describe "#select_header_accept" do
180
+ let(:api_client) { KafkaProxyRestClient::ApiClient.new }
181
+
182
+ it "works" do
183
+ expect(api_client.select_header_accept(nil)).to be_nil
184
+ expect(api_client.select_header_accept([])).to be_nil
185
+
186
+ expect(api_client.select_header_accept(['application/json'])).to eq('application/json')
187
+ expect(api_client.select_header_accept(['application/xml', 'application/json; charset=UTF8'])).to eq('application/json; charset=UTF8')
188
+ expect(api_client.select_header_accept(['APPLICATION/JSON', 'text/html'])).to eq('APPLICATION/JSON')
189
+
190
+ expect(api_client.select_header_accept(['application/xml'])).to eq('application/xml')
191
+ expect(api_client.select_header_accept(['text/html', 'application/xml'])).to eq('text/html,application/xml')
192
+ end
193
+ end
194
+
195
+ describe "#select_header_content_type" do
196
+ let(:api_client) { KafkaProxyRestClient::ApiClient.new }
197
+
198
+ it "works" do
199
+ expect(api_client.select_header_content_type(nil)).to eq('application/json')
200
+ expect(api_client.select_header_content_type([])).to eq('application/json')
201
+
202
+ expect(api_client.select_header_content_type(['application/json'])).to eq('application/json')
203
+ expect(api_client.select_header_content_type(['application/xml', 'application/json; charset=UTF8'])).to eq('application/json; charset=UTF8')
204
+ expect(api_client.select_header_content_type(['APPLICATION/JSON', 'text/html'])).to eq('APPLICATION/JSON')
205
+ expect(api_client.select_header_content_type(['application/xml'])).to eq('application/xml')
206
+ expect(api_client.select_header_content_type(['text/plain', 'application/xml'])).to eq('text/plain')
207
+ end
208
+ end
209
+
210
+ describe "#sanitize_filename" do
211
+ let(:api_client) { KafkaProxyRestClient::ApiClient.new }
212
+
213
+ it "works" do
214
+ expect(api_client.sanitize_filename('sun')).to eq('sun')
215
+ expect(api_client.sanitize_filename('sun.gif')).to eq('sun.gif')
216
+ expect(api_client.sanitize_filename('../sun.gif')).to eq('sun.gif')
217
+ expect(api_client.sanitize_filename('/var/tmp/sun.gif')).to eq('sun.gif')
218
+ expect(api_client.sanitize_filename('./sun.gif')).to eq('sun.gif')
219
+ expect(api_client.sanitize_filename('..\sun.gif')).to eq('sun.gif')
220
+ expect(api_client.sanitize_filename('\var\tmp\sun.gif')).to eq('sun.gif')
221
+ expect(api_client.sanitize_filename('c:\var\tmp\sun.gif')).to eq('sun.gif')
222
+ expect(api_client.sanitize_filename('.\sun.gif')).to eq('sun.gif')
223
+ end
224
+ end
225
+ end
@@ -0,0 +1,41 @@
1
+ =begin
2
+ #Kafka REST Proxy API
3
+
4
+ #An initial draft of the [Kafka REST Proxy API](https://github.com/confluentinc/kafka-rest). ## Example JSON request ``` POST /topics/test HTTP/1.1 Host: kafkaproxy.example.com Content-Type: application/vnd.kafka.json.v2+json Accept: application/vnd.kafka.v2+json, application/vnd.kafka+json, application/json { \"records\": [ { \"key\": \"somekey\", \"value\": {\"foo\": \"bar\"} }, { \"value\": [ \"foo\", \"bar\" ], \"partition\": 1 }, { \"value\": 53.5 } ] } ``` ## Example JSON response ``` HTTP/1.1 200 OK Content-Type: application/vnd.kafka.v2+json { \"key_schema_id\": null, \"value_schema_id\": null, \"offsets\": [ { \"partition\": 2, \"offset\": 100 }, { \"partition\": 1, \"offset\": 101 }, { \"partition\": 2, \"offset\": 102 } ] } ```
5
+
6
+ OpenAPI spec version: 0.1.0
7
+
8
+ Generated by: https://github.com/swagger-api/swagger-codegen.git
9
+
10
+ =end
11
+
12
+ require 'spec_helper'
13
+
14
+ describe KafkaProxyRestClient::Configuration do
15
+ let(:config) { KafkaProxyRestClient::Configuration.default }
16
+
17
+ before(:each) do
18
+ # uncomment below to setup host and base_path
19
+ #require 'URI'
20
+ #uri = URI.parse("https://localhost")
21
+ #KafkaProxyRestClient.configure do |c|
22
+ # c.host = uri.host
23
+ # c.base_path = uri.path
24
+ #end
25
+ end
26
+
27
+ describe '#base_url' do
28
+ it 'should have the default value' do
29
+ # uncomment below to test default value of the base path
30
+ #expect(config.base_url).to eq("https://localhost")
31
+ end
32
+
33
+ it 'should remove trailing slashes' do
34
+ [nil, '', '/', '//'].each do |base_path|
35
+ config.base_path = base_path
36
+ # uncomment below to test trailing slashes
37
+ #expect(config.base_url).to eq("https://localhost")
38
+ end
39
+ end
40
+ end
41
+ end
@@ -0,0 +1,65 @@
1
+ =begin
2
+ #Kafka REST Proxy API
3
+
4
+ #An initial draft of the [Kafka REST Proxy API](https://github.com/confluentinc/kafka-rest). ## Example JSON request ``` POST /topics/test HTTP/1.1 Host: kafkaproxy.example.com Content-Type: application/vnd.kafka.json.v2+json Accept: application/vnd.kafka.v2+json, application/vnd.kafka+json, application/json { \"records\": [ { \"key\": \"somekey\", \"value\": {\"foo\": \"bar\"} }, { \"value\": [ \"foo\", \"bar\" ], \"partition\": 1 }, { \"value\": 53.5 } ] } ``` ## Example JSON response ``` HTTP/1.1 200 OK Content-Type: application/vnd.kafka.v2+json { \"key_schema_id\": null, \"value_schema_id\": null, \"offsets\": [ { \"partition\": 2, \"offset\": 100 }, { \"partition\": 1, \"offset\": 101 }, { \"partition\": 2, \"offset\": 102 } ] } ```
5
+
6
+ OpenAPI spec version: 0.1.0
7
+
8
+ Generated by: https://github.com/swagger-api/swagger-codegen.git
9
+
10
+ =end
11
+
12
+ require 'spec_helper'
13
+ require 'json'
14
+ require 'date'
15
+
16
+ # Unit tests for KafkaProxyRestClient::Body
17
+ # Automatically generated by swagger-codegen (github.com/swagger-api/swagger-codegen)
18
+ # Please update as you see appropriate
19
+ describe 'Body' do
20
+ before do
21
+ # run before each test
22
+ @instance = KafkaProxyRestClient::Body.new
23
+ end
24
+
25
+ after do
26
+ # run after each test
27
+ end
28
+
29
+ describe 'test an instance of Body' do
30
+ it 'should create an instact of Body' do
31
+ expect(@instance).to be_instance_of(KafkaProxyRestClient::Body)
32
+ end
33
+ end
34
+ describe 'test attribute "records"' do
35
+ it 'should work' do
36
+ # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers
37
+ end
38
+ end
39
+
40
+ describe 'test attribute "key_schema"' do
41
+ it 'should work' do
42
+ # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers
43
+ end
44
+ end
45
+
46
+ describe 'test attribute "key_schema_id"' do
47
+ it 'should work' do
48
+ # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers
49
+ end
50
+ end
51
+
52
+ describe 'test attribute "value_schema"' do
53
+ it 'should work' do
54
+ # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers
55
+ end
56
+ end
57
+
58
+ describe 'test attribute "value_schema_id"' do
59
+ it 'should work' do
60
+ # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers
61
+ end
62
+ end
63
+
64
+ end
65
+
@@ -0,0 +1,59 @@
1
+ =begin
2
+ #Kafka REST Proxy API
3
+
4
+ #An initial draft of the [Kafka REST Proxy API](https://github.com/confluentinc/kafka-rest). ## Example JSON request ``` POST /topics/test HTTP/1.1 Host: kafkaproxy.example.com Content-Type: application/vnd.kafka.json.v2+json Accept: application/vnd.kafka.v2+json, application/vnd.kafka+json, application/json { \"records\": [ { \"key\": \"somekey\", \"value\": {\"foo\": \"bar\"} }, { \"value\": [ \"foo\", \"bar\" ], \"partition\": 1 }, { \"value\": 53.5 } ] } ``` ## Example JSON response ``` HTTP/1.1 200 OK Content-Type: application/vnd.kafka.v2+json { \"key_schema_id\": null, \"value_schema_id\": null, \"offsets\": [ { \"partition\": 2, \"offset\": 100 }, { \"partition\": 1, \"offset\": 101 }, { \"partition\": 2, \"offset\": 102 } ] } ```
5
+
6
+ OpenAPI spec version: 0.1.0
7
+
8
+ Generated by: https://github.com/swagger-api/swagger-codegen.git
9
+
10
+ =end
11
+
12
+ require 'spec_helper'
13
+ require 'json'
14
+ require 'date'
15
+
16
+ # Unit tests for KafkaProxyRestClient::InlineResponse200Offsets
17
+ # Automatically generated by swagger-codegen (github.com/swagger-api/swagger-codegen)
18
+ # Please update as you see appropriate
19
+ describe 'InlineResponse200Offsets' do
20
+ before do
21
+ # run before each test
22
+ @instance = KafkaProxyRestClient::InlineResponse200Offsets.new
23
+ end
24
+
25
+ after do
26
+ # run after each test
27
+ end
28
+
29
+ describe 'test an instance of InlineResponse200Offsets' do
30
+ it 'should create an instact of InlineResponse200Offsets' do
31
+ expect(@instance).to be_instance_of(KafkaProxyRestClient::InlineResponse200Offsets)
32
+ end
33
+ end
34
+ describe 'test attribute "partition"' do
35
+ it 'should work' do
36
+ # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers
37
+ end
38
+ end
39
+
40
+ describe 'test attribute "offset"' do
41
+ it 'should work' do
42
+ # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers
43
+ end
44
+ end
45
+
46
+ describe 'test attribute "error_code"' do
47
+ it 'should work' do
48
+ # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers
49
+ end
50
+ end
51
+
52
+ describe 'test attribute "error"' do
53
+ it 'should work' do
54
+ # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers
55
+ end
56
+ end
57
+
58
+ end
59
+