rimless 0.2.0 → 0.2.1

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
1
  ---
2
2
  SHA256:
3
- metadata.gz: a7bb2e99346e0f71cdd800b802a9d405e3188303a7017b375442c50a66872cfb
4
- data.tar.gz: 73f37b16200f0ac00cec1756ffd085a8fcd1a3265fc8af8b652aca130161bf95
3
+ metadata.gz: 1b3369ef3be81c9b8d5a25645f20ea552f40beb2803471203e7bb791208e79e1
4
+ data.tar.gz: 7eab67748a9d227f0b56c626feffcb4fe4a3841bd1d919da8e8e7f03d77ec56a
5
5
  SHA512:
6
- metadata.gz: 42541dacf4cd9c0ce8c7dc837e0f0d289d4be93c0b940f3b2fd724ec08ed70f4d4a69e92b0726a81951e509c83c2c4e69a48b92884862404225754fbce4ef109
7
- data.tar.gz: 84986a34d1f651dcb1f215d25762f1e1b6c9f18aa8068ed34090fa15f0185284be3ab1b77e8b29c2dddb9b74b3a6f655728b42d196af9650ed7b7253710ad4c9
6
+ metadata.gz: 313805748ce8b9e2efacd5d56b4babc3d5833d176eda3a7d9f02c343577a3f0da6db35ca3cd3a881d40d30f780212f816ccbfe0c78bc9f74c272cd109cf2c184
7
+ data.tar.gz: 705c2a7557976fd503cdb75e079ab8f678cc6953dd8a4d2f3050b9106b05c1245cf08c4775c71be26e4db6ab5f92eb2565572271f67ab987896faa1dfd268fe4
data/CHANGELOG.md CHANGED
@@ -1,3 +1,11 @@
1
+ ### 0.2.1
2
+
3
+ * Added support for the
4
+ [parallel_tests](https://github.com/grosser/parallel_tests) gem and
5
+ reconfigure the compiled schema directory to be unique per running test
6
+ thread. This fixes all race conditions which slow down or break user test
7
+ suites.
8
+
1
9
  ### 0.2.0
2
10
 
3
11
  * Added the `Rimless.encode` (`.avro_encode`) and `Rimless.decode`
data/lib/rimless/rspec.rb CHANGED
@@ -17,11 +17,27 @@ RSPEC_CONFIGURER.configure do |config|
17
17
  config.include Rimless::RSpec::Helpers
18
18
  config.include Rimless::RSpec::Matchers
19
19
 
20
+ # Take care of the initial test configuration.
21
+ config.before(:suite) do
22
+ # This allows parallel test execution without race conditions on the
23
+ # compiled Apache Avro schemas. So when each test have its own compiled
24
+ # schema repository it cannot conflict while refreshing it.
25
+ unless ENV['TEST_ENV_NUMBER'].nil?
26
+ Rimless.configure do |conf|
27
+ num = ENV['TEST_ENV_NUMBER']
28
+ num = '1' if num.empty?
29
+
30
+ conf.compiled_avro_schema_path = \
31
+ conf.compiled_avro_schema_path.join("test-worker-#{num}")
32
+ end
33
+ end
34
+ end
35
+
20
36
  # Stub all Confluent Schema Registry requests and handle them gracefully with
21
37
  # the help of the faked (inlined) Schema Registry server. This allows us to
22
38
  # perform the actual Apache Avro message encoding/decoding without the need
23
39
  # to have a Schema Registry up and running.
24
- config.before do
40
+ config.before(:each) do
25
41
  # Get the Excon connection from the AvroTurf instance
26
42
  connection = Rimless.avro.instance_variable_get(:@registry)
27
43
  .instance_variable_get(:@upstream)
@@ -36,6 +52,7 @@ RSPEC_CONFIGURER.configure do |config|
36
52
  .to_rack(FakeConfluentSchemaRegistryServer)
37
53
  # Clear any cached data
38
54
  FakeConfluentSchemaRegistryServer.clear
55
+
39
56
  # Reconfigure the Rimless AvroTurf instance
40
57
  Rimless.configure_avro_turf
41
58
  end
@@ -2,5 +2,5 @@
2
2
 
3
3
  module Rimless
4
4
  # The version of the +rimless+ gem
5
- VERSION = '0.2.0'
5
+ VERSION = '0.2.1'
6
6
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rimless
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.0
4
+ version: 0.2.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Hermann Mayer
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2019-06-05 00:00:00.000000000 Z
11
+ date: 2019-08-13 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activesupport
@@ -376,7 +376,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
376
376
  - !ruby/object:Gem::Version
377
377
  version: '0'
378
378
  requirements: []
379
- rubygems_version: 3.0.3
379
+ rubygems_version: 3.0.4
380
380
  signing_key:
381
381
  specification_version: 4
382
382
  summary: A bundle of opinionated Apache Kafka / Confluent Schema Registry helpers.