Skip to content

Commit c52cd5d

Browse files
committed
debugging travis: fixing timing problems
1 parent a770213 commit c52cd5d

File tree

1 file changed

+13
-8
lines changed

1 file changed

+13
-8
lines changed

test/mongo/change_stream_test.exs

Lines changed: 13 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -8,26 +8,29 @@ defmodule Mongo.ChangeStreamTest do
88
end
99

1010
def consumer_1(top, monitor) do
11+
Process.sleep(1000)
1112
cursor = Mongo.watch_collection(top, "users", [], fn doc -> IO.puts("Token #{inspect doc}"); send(monitor, {:token, doc}) end, max_time: 1_000, debug: true )
1213
result = cursor |> Enum.take(2) |> Enum.at(0)
1314
send(monitor, {:insert, result})
1415
end
1516

1617
def consumer_2(top, monitor, token) do
18+
Process.sleep(1000)
1719
cursor = Mongo.watch_collection(top, "users", [], fn doc -> IO.puts("Token #{inspect doc}"); send(monitor, {:token, doc}) end, resume_after: token, max_time: 1_000 )
1820
result = cursor |> Enum.take(1) |> Enum.at(0)
1921
send(monitor, {:insert, result})
2022
end
2123

2224
def consumer_3(top, monitor, token) do
25+
Process.sleep(1000)
2326
cursor = Mongo.watch_collection(top, "users", [], fn doc -> IO.puts("Token #{inspect doc}"); send(monitor, {:token, doc}) end, resume_after: token, max_time: 1_000 )
2427
result = cursor |> Enum.take(4) |> Enum.map(fn %{"fullDocument" => %{"name" => name}} -> name end)
2528
send(monitor, {:insert, result})
2629

2730
end
2831

2932
def producer(top) do
30-
Process.sleep(300)
33+
Process.sleep(2000)
3134
assert {:ok, %Mongo.InsertOneResult{}} = Mongo.insert_one(top, "users", %{name: "Greta"})
3235
assert {:ok, %Mongo.InsertOneResult{}} = Mongo.insert_one(top, "users", %{name: "Gustav"})
3336
assert {:ok, %Mongo.InsertOneResult{}} = Mongo.insert_one(top, "users", %{name: "Tom"})
@@ -40,9 +43,9 @@ defmodule Mongo.ChangeStreamTest do
4043
spawn(fn -> consumer_1(top, me) end)
4144
spawn(fn -> producer(top) end)
4245

43-
assert_receive {:token, nil}, 2_000
44-
assert_receive {:token, token}, 2_000
45-
assert_receive {:insert, %{"fullDocument" => %{"name" => "Greta"}}}, 2_000
46+
assert_receive {:token, nil}, 5_000
47+
assert_receive {:token, token}, 5_000
48+
assert_receive {:insert, %{"fullDocument" => %{"name" => "Greta"}}}, 5_000
4649

4750
Process.sleep(500)
4851

@@ -51,16 +54,18 @@ defmodule Mongo.ChangeStreamTest do
5154
spawn(fn -> consumer_2(top, me, token) end)
5255
spawn(fn -> producer(top) end)
5356

54-
assert_receive {:token, _}, 2_000
55-
assert_receive {:insert, %{"fullDocument" => %{"name" => "Gustav"}}}, 2_000
57+
assert_receive {:token, _}, 5_000
58+
assert_receive {:insert, %{"fullDocument" => %{"name" => "Gustav"}}}, 5_000
5659

5760
Process.sleep(500)
5861

5962
spawn(fn -> consumer_3(top, me, token) end)
6063
spawn(fn -> producer(top) end)
6164

62-
assert_receive {:token, _}, 2_000
63-
assert_receive {:insert, ["Gustav", "Tom", "Liese", "Greta"]}, 2_000
65+
assert_receive {:token, _}, 5_000
66+
assert_receive {:insert, ["Gustav", "Tom", "Liese", "Greta"]}, 5_000
67+
68+
Process.sleep(1000)
6469

6570
end
6671
end

0 commit comments

Comments
 (0)