karafka-testing 2.0.4 → 2.0.6

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: 560aa633f1c2710d530871e4194d0cb631540c2844a97207b05bfe7297dba13a
4
- data.tar.gz: 6fb1dbb71bbb69f427356ee78b9ddc9fdeee83a9105564d7d9798ba6da3c6a70
3
+ metadata.gz: a2914bb4014582bdba7d942bfe26a38efe726cc8215a7ab668ac6d85ac6c26ea
4
+ data.tar.gz: 6cea4f0a6863abfe9b0ccdd4381122e2b29d8850038511c83e2860c834001daf
5
5
  SHA512:
6
- metadata.gz: 0d0f3c2504f22eb9d3d36ba620b5e4f439c97d19b5607931a32a8bbbdf014a1cc772e0436d889e7536006c46b53239b248c44bfc230a0b69ae6d5c91b2e623ce
7
- data.tar.gz: 67f249bfd323f1c5f27bc97f78e33701a5cf6d42715c11e0b146857bf90ef7f00f307e4d1cb9e186947390c9fdff2bf98453fcc9483192a4a491a026d420e2f2
6
+ metadata.gz: 5c3b2194f8350749c754435d9ae6b67e9d35203929348f8ce6d962da7941d5012b0c0821c7e8229cb3c14cadd79a5cd3e8691eb43126a37a3f090134a79a596c
7
+ data.tar.gz: b2854c13895d8812def3ac4d3e85cdb51dcde554941b34626bc67211b1b028e0a7c6c3cd2623266f731e5668fda015a6c063bf3f717657ee3cf389a35c792cf2
checksums.yaml.gz.sig CHANGED
Binary file
@@ -61,7 +61,7 @@ jobs:
61
61
  strategy:
62
62
  fail-fast: false
63
63
  steps:
64
- - uses: actions/checkout@v2
64
+ - uses: actions/checkout@v3
65
65
  with:
66
66
  fetch-depth: 0
67
67
  - name: Run Coditsu
data/2.0-Upgrade.md CHANGED
@@ -7,7 +7,7 @@ Karafka-Testing 2.0 some breaking changes in the way consumer builder and messag
7
7
  Please upgrade your application to `Karafka 2.0` first.
8
8
 
9
9
  - Replace `#karafka_consumer_for` in your specs with `#karafka.consumer_for`
10
- - Replace `#publish_for_karafka` in your specs with `#karafka.publish`
10
+ - Replace `#publish_for_karafka` in your specs with `#karafka.produce`
11
11
 
12
12
  And that's all!
13
13
 
@@ -24,8 +24,8 @@ RSpec.describe CountersConsumer do
24
24
  let(:sum) { nr1_value + nr2_value }
25
25
 
26
26
  before do
27
- karafka.publish({ 'number' => nr1_value }.to_json)
28
- karafka.publish({ 'number' => nr2_value }.to_json, partition: 2)
27
+ karafka.produce({ 'number' => nr1_value }.to_json)
28
+ karafka.produce({ 'number' => nr2_value }.to_json, partition: 2)
29
29
  allow(Karafka.logger).to receive(:info)
30
30
  end
31
31
 
data/CHANGELOG.md CHANGED
@@ -1,5 +1,12 @@
1
1
  # Karafka Test gem changelog
2
2
 
3
+ ## 2.0.6 (2022-10-26)
4
+ - Replace the `subject` reference with named `consumer` reference.
5
+ - Do not forward sent messages to `consumer` unless it's a Karafka consumer.
6
+
7
+ ## 2.0.5 (2022-10-19)
8
+ - Fix for: Test event production without defining a subject (#102)
9
+
3
10
  ## 2.0.4 (2022-10-14)
4
11
  - Align changes with Karafka `2.0.13` changes.
5
12
 
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- karafka-testing (2.0.4)
4
+ karafka-testing (2.0.6)
5
5
  karafka (>= 2.0, < 3.0.0)
6
6
 
7
7
  GEM
@@ -9,7 +9,7 @@ GEM
9
9
  specs:
10
10
  concurrent-ruby (1.1.10)
11
11
  ffi (1.15.5)
12
- karafka (2.0.13)
12
+ karafka (2.0.15)
13
13
  karafka-core (>= 2.0.2, < 3.0.0)
14
14
  rdkafka (>= 0.12)
15
15
  thor (>= 0.20)
@@ -31,10 +31,11 @@ GEM
31
31
  zeitwerk (2.6.1)
32
32
 
33
33
  PLATFORMS
34
+ arm64-darwin
34
35
  x86_64-linux
35
36
 
36
37
  DEPENDENCIES
37
38
  karafka-testing!
38
39
 
39
40
  BUNDLED WITH
40
- 2.3.22
41
+ 2.3.24
@@ -85,9 +85,15 @@ module Karafka
85
85
  # karafka.produce({ 'hello' => 'world' }.to_json, 'partition' => 6)
86
86
  # end
87
87
  def _karafka_add_message_to_consumer_if_needed(message)
88
+ # Consumer needs to be defined in order to pass messages to it
89
+ return unless defined?(consumer)
90
+ # We're interested in adding message to consumer only when it is a Karafka consumer
91
+ # Users may want to test other things (models producing messages for example) and in
92
+ # their case consumer will not be a consumer
93
+ return unless consumer.is_a?(Karafka::BaseConsumer)
88
94
  # We target to the consumer only messages that were produced to it, since specs may also
89
95
  # produce other messages targeting other topics
90
- return unless message[:topic] == subject.topic.name
96
+ return unless message[:topic] == consumer.topic.name
91
97
 
92
98
  # Build message metadata and copy any metadata that would come from the message
93
99
  metadata = _karafka_message_metadata_defaults
@@ -107,12 +113,12 @@ module Karafka
107
113
  # Update batch metadata
108
114
  batch_metadata = Karafka::Messages::Builders::BatchMetadata.call(
109
115
  _karafka_consumer_messages,
110
- subject.topic,
116
+ consumer.topic,
111
117
  Time.now
112
118
  )
113
119
 
114
120
  # Update consumer messages batch
115
- subject.messages = Karafka::Messages::Messages.new(
121
+ consumer.messages = Karafka::Messages::Messages.new(
116
122
  _karafka_consumer_messages,
117
123
  batch_metadata
118
124
  )
@@ -124,7 +130,7 @@ module Karafka
124
130
  def _karafka_produce(payload, metadata = {})
125
131
  Karafka.producer.produce_sync(
126
132
  {
127
- topic: subject.topic.name,
133
+ topic: consumer.topic.name,
128
134
  payload: payload
129
135
  }.merge(metadata)
130
136
  )
@@ -140,14 +146,14 @@ module Karafka
140
146
  # @return [Hash] message default options
141
147
  def _karafka_message_metadata_defaults
142
148
  {
143
- deserializer: subject.topic.deserializer,
149
+ deserializer: consumer.topic.deserializer,
144
150
  timestamp: Time.now,
145
151
  headers: {},
146
152
  key: nil,
147
153
  offset: _karafka_consumer_messages.size,
148
154
  partition: 0,
149
155
  received_at: Time.now,
150
- topic: subject.topic.name
156
+ topic: consumer.topic.name
151
157
  }
152
158
  end
153
159
 
@@ -4,6 +4,6 @@
4
4
  module Karafka
5
5
  module Testing
6
6
  # Current version of gem. It should match Karafka framework version
7
- VERSION = '2.0.4'
7
+ VERSION = '2.0.6'
8
8
  end
9
9
  end
data.tar.gz.sig CHANGED
Binary file
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: karafka-testing
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.0.4
4
+ version: 2.0.6
5
5
  platform: ruby
6
6
  authors:
7
7
  - Maciej Mensfeld
@@ -35,7 +35,7 @@ cert_chain:
35
35
  Qf04B9ceLUaC4fPVEz10FyobjaFoY4i32xRto3XnrzeAgfEe4swLq8bQsR3w/EF3
36
36
  MGU0FeSV2Yj7Xc2x/7BzLK8xQn5l7Yy75iPF+KP3vVmDHnNl
37
37
  -----END CERTIFICATE-----
38
- date: 2022-10-14 00:00:00.000000000 Z
38
+ date: 2022-10-26 00:00:00.000000000 Z
39
39
  dependencies:
40
40
  - !ruby/object:Gem::Dependency
41
41
  name: karafka
metadata.gz.sig CHANGED
Binary file