Comments (1)
Regarding the note about test_message using transformer, that still needs to be done:
diff --git a/test/broadway_test.exs b/test/broadway_test.exs
index 88e546c..4edb410 100644
--- a/test/broadway_test.exs
+++ b/test/broadway_test.exs
@@ -649,13 +649,16 @@ defmodule BroadwayTest do
producer = get_producer(broadway_name, :default)
- %{producer: producer}
+ %{broadway: broadway_name, producer: producer}
end
- test "transform all events" do
+ test "transform all events", context do
assert_receive {:message_handled, "1 transformed"}
assert_receive {:message_handled, "2 transformed"}
assert_receive {:message_handled, "3 transformed"}
+
+ Broadway.test_messages(context.broadway, [4])
+ assert_receive {:message_handled, "3 transformed"}
end
@tag events: [1, 2, :kill_producer, 4]
fails:
1) test transformer transform all events (BroadwayTest)
test/broadway_test.exs:655
No message matching {:message_handled, "4 transformed"} after 100ms.
Process mailbox:
{:batch_handled, :default, [%Broadway.Message{acknowledger: {BroadwayTest.Acker, :ack_ref, %{id: 1, test_pid: #PID<0.201.0>}}, batch_key: :default, batcher: :default, data: "1 transformed", metadata: %{}, status: :ok}, %Broadway.Message{acknowledger: {BroadwayTest.Acker, :ack_ref, %{id: 2, test_pid: #PID<0.201.0>}}, batch_key: :default, batcher: :default, data: "2 transformed", metadata: %{}, status: :ok}]}
{:ack, [%Broadway.Message{acknowledger: {BroadwayTest.Acker, :ack_ref, %{id: 1, test_pid: #PID<0.201.0>}}, batch_key: :default, batcher: :default, data: "1 transformed", metadata: %{}, status: :ok}, %Broadway.Message{acknowledger: {BroadwayTest.Acker, :ack_ref, %{id: 2, test_pid: #PID<0.201.0>}}, batch_key: :default, batcher: :default, data: "2 transformed", metadata: %{}, status: :ok}], []}
{:message_handled, 4}
{:batch_handled, :default, [%Broadway.Message{acknowledger: {BroadwayTest.Acker, :ack_ref, %{id: 3, test_pid: #PID<0.201.0>}}, batch_key: :default, batcher: :default, data: "3 transformed", metadata: %{}, status: :ok}, %Broadway.Message{acknowledger: {Broadway.CallerAcknowledger, {#PID<0.201.0>, #Reference<0.2326357567.4112252929.5071>}, :ok}, batch_key: :default, batcher: :default, data: 4, metadata: %{}, status: :ok}]}
{:ack, #Reference<0.2326357567.4112252929.5071>, [%Broadway.Message{acknowledger: {Broadway.CallerAcknowledger, {#PID<0.201.0>, #Reference<0.2326357567.4112252929.5071>}, :ok}, batch_key: :default, batcher: :default, data: 4, metadata: %{}, status: :ok}], []}
{:ack, [%Broadway.Message{acknowledger: {BroadwayTest.Acker, :ack_ref, %{id: 3, test_pid: #PID<0.201.0>}}, batch_key: :default, batcher: :default, data: "3 transformed", metadata: %{}, status: :ok}], []}
code: assert_receive {:message_handled, "4 transformed"}
stacktrace:
test/broadway_test.exs:661: (test)
from broadway.
Related Issues (20)
- Possibility to update Pipeline :context ? HOT 1
- Allow use of nimble_options 0.4.0 HOT 2
- [Question] how am i able to update a message in handle_failed and send to another batcher? HOT 1
- How to stop a Broadway Kafka pipeline? HOT 1
- Make producer module a keyword list to ease configuration management? HOT 6
- Broadway.update_rate_limit doesn't reset the counter/interval right away HOT 3
- NoopAcknowledger fails with ack key being set HOT 7
- Disable automatic call to handle_batch/4 HOT 2
- [Question] Creating a Broadway Message struct for testing?
- Telemetry distinguish between Producer metrics HOT 2
- Expected Behavior on Startup? HOT 4
- [docs] The `Broadway.test_batch` example doesn't work with Broadway 1.0.3 HOT 3
- Dialyzer error on ack_immediately/1 HOT 3
- Broadway v1.0.4 Broadway.NoopAcknowledger returns NoopAcknowledger instead of Broadway.NoopAcknowledger HOT 1
- Add `terminate/3` callback HOT 11
- Oban producer HOT 3
- Allow support for Nimble Options 1.0 HOT 5
- Request for MQTT support in Elixir Broadway HOT 3
- Issues using Broadway with DynamicSupervisor
- `handle_message` timeout HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from broadway.