avro_turf 0.8.0 → 1.0.0

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.
@@ -0,0 +1,40 @@
1
+ require 'rack/test'
2
+ require 'avro_turf/test/fake_confluent_schema_registry_server'
3
+
4
+ describe FakeConfluentSchemaRegistryServer do
5
+ include Rack::Test::Methods
6
+
7
+ def app; described_class; end
8
+
9
+ let(:schema) do
10
+ {
11
+ type: "record",
12
+ name: "person",
13
+ fields: [
14
+ { name: "name", type: "string" }
15
+ ]
16
+ }.to_json
17
+ end
18
+
19
+ describe 'POST /subjects/:subject/versions' do
20
+ it 'returns the same schema ID when invoked with same schema and same subject' do
21
+ post '/subjects/person/versions', { schema: schema }.to_json, 'CONTENT_TYPE' => 'application/vnd.schemaregistry+json'
22
+
23
+ expected_id = JSON.parse(last_response.body).fetch('id')
24
+
25
+ post '/subjects/person/versions', { schema: schema }.to_json, 'CONTENT_TYPE' => 'application/vnd.schemaregistry+json'
26
+
27
+ expect(JSON.parse(last_response.body).fetch('id')).to eq expected_id
28
+ end
29
+
30
+ it 'returns a different schema ID when invoked with same schema and different subject' do
31
+ post '/subjects/person/versions', { schema: schema }.to_json, 'CONTENT_TYPE' => 'application/vnd.schemaregistry+json'
32
+
33
+ original_id = JSON.parse(last_response.body).fetch('id')
34
+
35
+ post '/subjects/happy-person/versions', { schema: schema }.to_json, 'CONTENT_TYPE' => 'application/vnd.schemaregistry+json'
36
+
37
+ expect(JSON.parse(last_response.body).fetch('id')).not_to eq original_id
38
+ end
39
+ end
40
+ end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: avro_turf
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.8.0
4
+ version: 1.0.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Daniel Schierbeck
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2017-03-06 00:00:00.000000000 Z
11
+ date: 2020-05-20 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: avro
@@ -19,7 +19,7 @@ dependencies:
19
19
  version: 1.7.7
20
20
  - - "<"
21
21
  - !ruby/object:Gem::Version
22
- version: '1.9'
22
+ version: '1.10'
23
23
  type: :runtime
24
24
  prerelease: false
25
25
  version_requirements: !ruby/object:Gem::Requirement
@@ -29,77 +29,77 @@ dependencies:
29
29
  version: 1.7.7
30
30
  - - "<"
31
31
  - !ruby/object:Gem::Version
32
- version: '1.9'
32
+ version: '1.10'
33
33
  - !ruby/object:Gem::Dependency
34
34
  name: excon
35
35
  requirement: !ruby/object:Gem::Requirement
36
36
  requirements:
37
37
  - - "~>"
38
38
  - !ruby/object:Gem::Version
39
- version: '0.45'
39
+ version: '0.71'
40
40
  type: :runtime
41
41
  prerelease: false
42
42
  version_requirements: !ruby/object:Gem::Requirement
43
43
  requirements:
44
44
  - - "~>"
45
45
  - !ruby/object:Gem::Version
46
- version: '0.45'
46
+ version: '0.71'
47
47
  - !ruby/object:Gem::Dependency
48
48
  name: bundler
49
49
  requirement: !ruby/object:Gem::Requirement
50
50
  requirements:
51
51
  - - "~>"
52
52
  - !ruby/object:Gem::Version
53
- version: '1.7'
53
+ version: '2.0'
54
54
  type: :development
55
55
  prerelease: false
56
56
  version_requirements: !ruby/object:Gem::Requirement
57
57
  requirements:
58
58
  - - "~>"
59
59
  - !ruby/object:Gem::Version
60
- version: '1.7'
60
+ version: '2.0'
61
61
  - !ruby/object:Gem::Dependency
62
62
  name: rake
63
63
  requirement: !ruby/object:Gem::Requirement
64
64
  requirements:
65
65
  - - "~>"
66
66
  - !ruby/object:Gem::Version
67
- version: '10.0'
67
+ version: '13.0'
68
68
  type: :development
69
69
  prerelease: false
70
70
  version_requirements: !ruby/object:Gem::Requirement
71
71
  requirements:
72
72
  - - "~>"
73
73
  - !ruby/object:Gem::Version
74
- version: '10.0'
74
+ version: '13.0'
75
75
  - !ruby/object:Gem::Dependency
76
76
  name: rspec
77
77
  requirement: !ruby/object:Gem::Requirement
78
78
  requirements:
79
79
  - - "~>"
80
80
  - !ruby/object:Gem::Version
81
- version: 3.2.0
81
+ version: '3.2'
82
82
  type: :development
83
83
  prerelease: false
84
84
  version_requirements: !ruby/object:Gem::Requirement
85
85
  requirements:
86
86
  - - "~>"
87
87
  - !ruby/object:Gem::Version
88
- version: 3.2.0
88
+ version: '3.2'
89
89
  - !ruby/object:Gem::Dependency
90
90
  name: fakefs
91
91
  requirement: !ruby/object:Gem::Requirement
92
92
  requirements:
93
93
  - - "~>"
94
94
  - !ruby/object:Gem::Version
95
- version: 0.6.7
95
+ version: 0.20.0
96
96
  type: :development
97
97
  prerelease: false
98
98
  version_requirements: !ruby/object:Gem::Requirement
99
99
  requirements:
100
100
  - - "~>"
101
101
  - !ruby/object:Gem::Version
102
- version: 0.6.7
102
+ version: 0.20.0
103
103
  - !ruby/object:Gem::Dependency
104
104
  name: webmock
105
105
  requirement: !ruby/object:Gem::Requirement
@@ -142,6 +142,20 @@ dependencies:
142
142
  - - ">="
143
143
  - !ruby/object:Gem::Version
144
144
  version: '0'
145
+ - !ruby/object:Gem::Dependency
146
+ name: rack-test
147
+ requirement: !ruby/object:Gem::Requirement
148
+ requirements:
149
+ - - ">="
150
+ - !ruby/object:Gem::Version
151
+ version: '0'
152
+ type: :development
153
+ prerelease: false
154
+ version_requirements: !ruby/object:Gem::Requirement
155
+ requirements:
156
+ - - ">="
157
+ - !ruby/object:Gem::Version
158
+ version: '0'
145
159
  description:
146
160
  email:
147
161
  - dasch@zendesk.com
@@ -149,6 +163,9 @@ executables: []
149
163
  extensions: []
150
164
  extra_rdoc_files: []
151
165
  files:
166
+ - ".circleci/config.yml"
167
+ - ".github/workflows/ruby.yml"
168
+ - ".github/workflows/stale.yml"
152
169
  - ".gitignore"
153
170
  - ".rspec"
154
171
  - CHANGELOG.md
@@ -157,7 +174,6 @@ files:
157
174
  - README.md
158
175
  - Rakefile
159
176
  - avro_turf.gemspec
160
- - circle.yml
161
177
  - lib/avro_turf.rb
162
178
  - lib/avro_turf/cached_confluent_schema_registry.rb
163
179
  - lib/avro_turf/cached_schema_registry.rb
@@ -173,7 +189,10 @@ files:
173
189
  - lib/avro_turf/core_ext/symbol.rb
174
190
  - lib/avro_turf/core_ext/time.rb
175
191
  - lib/avro_turf/core_ext/true_class.rb
192
+ - lib/avro_turf/disk_cache.rb
193
+ - lib/avro_turf/in_memory_cache.rb
176
194
  - lib/avro_turf/messaging.rb
195
+ - lib/avro_turf/mutable_schema_store.rb
177
196
  - lib/avro_turf/schema_registry.rb
178
197
  - lib/avro_turf/schema_store.rb
179
198
  - lib/avro_turf/schema_to_avro_patch.rb
@@ -197,11 +216,13 @@ files:
197
216
  - spec/core_ext/symbol_spec.rb
198
217
  - spec/core_ext/time_spec.rb
199
218
  - spec/core_ext/true_class_spec.rb
219
+ - spec/disk_cached_confluent_schema_registry_spec.rb
200
220
  - spec/messaging_spec.rb
201
221
  - spec/schema_store_spec.rb
202
222
  - spec/schema_to_avro_patch_spec.rb
203
223
  - spec/spec_helper.rb
204
224
  - spec/support/confluent_schema_registry_context.rb
225
+ - spec/test/fake_confluent_schema_registry_server_spec.rb
205
226
  homepage: https://github.com/dasch/avro_turf
206
227
  licenses:
207
228
  - MIT
@@ -230,7 +251,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
230
251
  version: '0'
231
252
  requirements: []
232
253
  rubyforge_project:
233
- rubygems_version: 2.4.5.1
254
+ rubygems_version: 2.7.6
234
255
  signing_key:
235
256
  specification_version: 4
236
257
  summary: A library that makes it easier to use the Avro serialization format from
@@ -249,8 +270,10 @@ test_files:
249
270
  - spec/core_ext/symbol_spec.rb
250
271
  - spec/core_ext/time_spec.rb
251
272
  - spec/core_ext/true_class_spec.rb
273
+ - spec/disk_cached_confluent_schema_registry_spec.rb
252
274
  - spec/messaging_spec.rb
253
275
  - spec/schema_store_spec.rb
254
276
  - spec/schema_to_avro_patch_spec.rb
255
277
  - spec/spec_helper.rb
256
278
  - spec/support/confluent_schema_registry_context.rb
279
+ - spec/test/fake_confluent_schema_registry_server_spec.rb
data/circle.yml DELETED
@@ -1,4 +0,0 @@
1
- machine:
2
- ruby:
3
- version: 2.2.0
4
- version: 2.0.0