karafka-testing 2.0.4 → 2.0.6

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 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