From: Christopher Coté Date: Fri, 12 Nov 2021 20:17:36 +0000 (-0500) Subject: add unsubscribe test X-Git-Url: http://git.entropealabs.com/?a=commitdiff_plain;h=df15ba2f3e197598a601a901799bf9b07d0e564b;p=wampex_test_suite.git add unsubscribe test --- diff --git a/mix.exs b/mix.exs index db09eba..e28d3a7 100644 --- a/mix.exs +++ b/mix.exs @@ -50,8 +50,16 @@ defmodule WampexTestSuite.MixProject do git: "https://gitlab.com/entropealabs/cluster_kv.git", tag: "dev", override: true}, {:wampex, git: "https://gitlab.com/entropealabs/wampex.git", tag: "dev", override: true}, {:wampex_client, git: "https://gitlab.com/entropealabs/wampex_client.git", tag: "dev"}, - # git: "https://gitlab.com/entropealabs/wampex_router.git", tag: "dev"} - {:wampex_router, path: "../wampex_router"} + {:wampex_router, git: "https://gitlab.com/entropealabs/wampex_router.git", tag: "dev"} + ] + end + + defp deps(:release) do + [ + {:cluster_kv, "~> 0.1"}, + {:wampex, "~> 0.1"}, + {:wampex_client, "~> 0.1"}, + {:wampex_router, "~> 0.1"} ] end diff --git a/mix.lock b/mix.lock index 1ab3892..5873ea2 100644 --- a/mix.lock +++ b/mix.lock @@ -1,6 +1,6 @@ %{ "certifi": {:hex, :certifi, "2.6.1", "dbab8e5e155a0763eea978c913ca280a6b544bfa115633fa20249c3d396d9493", [:rebar3], [], "hexpm", "524c97b4991b3849dd5c17a631223896272c6b0af446778ba4675a1dff53bb7e"}, - "cluster_kv": {:git, "https://gitlab.com/entropealabs/cluster_kv.git", "bcb05440a2b39e921b7f0e333b2fbb98e35520ce", [tag: "dev"]}, + "cluster_kv": {:hex, :cluster_kv, "0.1.0", "3466a27b3913d707f88066e63021188b2369b4c19b70b4a8adf383a248caae40", [:mix], [{:libcluster, "~> 3.2", [hex: :libcluster, repo: "hexpm", optional: false]}, {:libring, "~> 1.4", [hex: :libring, repo: "hexpm", optional: false]}, {:poolboy, "~> 1.5", [hex: :poolboy, repo: "hexpm", optional: false]}, {:states_language, "~> 0.3", [hex: :states_language, repo: "hexpm", optional: false]}], "hexpm", "1b5cf2669279c423d82918d7278d9575054d67bb52ffe7fd8eff0146d6168fde"}, "comeonin": {:hex, :comeonin, "5.3.2", "5c2f893d05c56ae3f5e24c1b983c2d5dfb88c6d979c9287a76a7feb1e1d8d646", [:mix], [], "hexpm", "d0993402844c49539aeadb3fe46a3c9bd190f1ecf86b6f9ebd71957534c95f04"}, "conv_case": {:hex, :conv_case, "0.2.2", "5a98b74ab8f7ddbad670e5c7bb39ff280e60699aa3b25c7062ceccf48137433c", [:mix], [], "hexpm", "561c550ab6d55b2a4d4c14449e58c9957798613eb26ea182e14a962965377bca"}, "cors_plug": {:hex, :cors_plug, "2.0.3", "316f806d10316e6d10f09473f19052d20ba0a0ce2a1d910ddf57d663dac402ae", [:mix], [{:plug, "~> 1.8", [hex: :plug, repo: "hexpm", optional: false]}], "hexpm", "ee4ae1418e6ce117fc42c2ba3e6cbdca4e95ecd2fe59a05ec6884ca16d469aea"}, @@ -32,9 +32,9 @@ "states_language": {:hex, :states_language, "0.3.0", "63b75ef8174a243c8b5192807f880be8510d383b680017d6341d6b7df40b62b1", [:mix], [{:elixpath, "~> 0.1.0", [hex: :elixpath, repo: "hexpm", optional: false]}, {:jason, "~> 1.2", [hex: :jason, repo: "hexpm", optional: false]}, {:json_xema, "~> 0.6.0", [hex: :json_xema, repo: "hexpm", optional: false]}, {:telemetry, "~> 1.0", [hex: :telemetry, repo: "hexpm", optional: false]}], "hexpm", "52c0e075d194b4a2f13849ba107a07f4881a70dc20700fce28553d694b0f3e03"}, "telemetry": {:hex, :telemetry, "1.0.0", "0f453a102cdf13d506b7c0ab158324c337c41f1cc7548f0bc0e130bbf0ae9452", [:rebar3], [], "hexpm", "73bc09fa59b4a0284efb4624335583c528e07ec9ae76aca96ea0673850aec57a"}, "unicode_util_compat": {:hex, :unicode_util_compat, "0.7.0", "bc84380c9ab48177092f43ac89e4dfa2c6d62b40b8bd132b1059ecc7232f9a78", [:rebar3], [], "hexpm", "25eee6d67df61960cf6a794239566599b09e17e668d3700247bc498638152521"}, - "wampex": {:git, "https://gitlab.com/entropealabs/wampex.git", "ae6f2cfcc23dc9af94fa2c375b52bad6c1d0f75d", [tag: "dev"]}, - "wampex_client": {:git, "https://gitlab.com/entropealabs/wampex_client.git", "b01f5f0e8db0309d7db010269493c284d97b6645", [tag: "dev"]}, - "wampex_router": {:git, "https://gitlab.com/entropealabs/wampex_router.git", "73c8e72448fc726c994bcf9576a269b1809339a4", [tag: "dev"]}, + "wampex": {:hex, :wampex, "0.1.0", "f615f470138087de11264d593fe6fbf306310860a8d025c07abbcf7e0d95d224", [:mix], [{:jason, "~> 1.2", [hex: :jason, repo: "hexpm", optional: false]}, {:msgpax, "~> 2.2", [hex: :msgpax, repo: "hexpm", optional: false]}, {:pbkdf2_elixir, "~> 1.4", [hex: :pbkdf2_elixir, repo: "hexpm", optional: false]}], "hexpm", "9ec5857e2ad2e8227741ea0c5d73a68efd43c5ffe1607a13c10e20649f5dd18c"}, + "wampex_client": {:hex, :wampex_client, "0.1.0", "d3b2aa9e6c026f7e114d66eb3daf0d00b711210dc0428d065db4f6d7ec2ef685", [:mix], [{:states_language, "~> 0.3", [hex: :states_language, repo: "hexpm", optional: false]}, {:wampex, "~> 0.1", [hex: :wampex, repo: "hexpm", optional: false]}, {:websockex, "~> 0.4.2", [hex: :websockex, repo: "hexpm", optional: false]}], "hexpm", "c56e62f765adf5fc7c0eb34d143baa5e783c7c88318e21107911cf7a596d2437"}, + "wampex_router": {:hex, :wampex_router, "0.1.0", "b4fee38915073517813836ef46a1ba0341164fe36b031a8d0e4f3cc5d7d85603", [:mix], [{:cluster_kv, "~> 0.1", [hex: :cluster_kv, repo: "hexpm", optional: false]}, {:cors_plug, "~> 2.0", [hex: :cors_plug, repo: "hexpm", optional: false]}, {:plug_cowboy, "~> 2.5", [hex: :plug_cowboy, repo: "hexpm", optional: false]}, {:states_language, "~> 0.3", [hex: :states_language, repo: "hexpm", optional: false]}, {:wampex, "~> 0.1", [hex: :wampex, repo: "hexpm", optional: false]}], "hexpm", "52f28ff6dbbe64a4db51267b3df1b08d8e556f4e56d9e2ba2beba0a829e1a9d4"}, "websockex": {:hex, :websockex, "0.4.3", "92b7905769c79c6480c02daacaca2ddd49de936d912976a4d3c923723b647bf0", [:mix], [], "hexpm", "95f2e7072b85a3a4cc385602d42115b73ce0b74a9121d0d6dbbf557645ac53e4"}, "xema": {:hex, :xema, "0.14.0", "498d488f47c79cf29fdcf77bf02f6162f9bba64d520f322051d2f38d19c8883d", [:mix], [{:conv_case, "~> 0.2.2", [hex: :conv_case, repo: "hexpm", optional: false]}, {:decimal, "~> 1.0 or ~> 2.0", [hex: :decimal, repo: "hexpm", optional: true]}], "hexpm", "973258c241de74b2f85b9938a76e1f5f43feb0ea78f7b886e64ed7f98785af3e"}, } diff --git a/test/support/test_callee.ex b/test/support/test_callee.ex index 5e8537b..48b3f7c 100644 --- a/test/support/test_callee.ex +++ b/test/support/test_callee.ex @@ -8,7 +8,7 @@ defmodule TestCallee do def do_init(test: test, device: device), do: %{device: device, test: test, client_name: nil} @impl true - def handle_continue({:registered, %{registrations: [{:ok, id} | _]}}, %{test: test} = state) do + def handle_continue({:registered, %{registrations: [id | _]}}, %{test: test} = state) do send(test, {:registered, id}) {:noreply, state} end diff --git a/test/support/test_subscriber.ex b/test/support/test_subscriber.ex index 1f65fcd..f2f43f9 100644 --- a/test/support/test_subscriber.ex +++ b/test/support/test_subscriber.ex @@ -7,38 +7,38 @@ defmodule TestSubscriber do @impl true def do_init(test: test, topic: topic), do: %{test: test, topic: topic, client_name: nil} - def handle_continue({:registered, %{subscriptions: [{:ok, id} | _]}}, %{test: test} = state) do + def handle_continue({:registered, %{subscriptions: [id | _]}}, %{test: test} = state) do send(test, {:subscribed, id}) {:noreply, state} end event("com.data.test.temp", al, _kw, %{test: test} = state) do send(test, al) - state + {:noreply, state} end event("com.data.test", al, _kw, %{test: test} = state) do send(test, al) - state + {:noreply, state} end event("com.data", al, _kw, %{test: test} = state) do send(test, al) - state + {:noreply, state} end event({"com...temp", "wildcard"}, al, _kw, %{test: test} = state) do send(test, al) - state + {:noreply, state} end event({"com..test.temp", "wildcard"}, al, _kw, %{test: test} = state) do send(test, al) - state + {:noreply, state} end event("router.peer.disconnect", al, _kw, %{test: test} = state) do send(test, al) - state + {:noreply, state} end end diff --git a/test/wampex_router_test.exs b/test/wampex_router_test.exs index 4e5ea90..a057630 100644 --- a/test/wampex_router_test.exs +++ b/test/wampex_router_test.exs @@ -149,7 +149,16 @@ defmodule WampexRouterTest do name = TestSubscriberRegister Client.start_link(name: name, session: @session, reconnect: false) TestSubscriber.start_link(test: self(), client_name: name, topic: "com.data.temp") - assert_receive {:subscribed, _id} + assert_receive {:subscribed, id} + end + + @tag :client + test "subscriber unsubscribe" do + name = TestSubscriberRegister + Client.start_link(name: name, session: @session, reconnect: false) + TestSubscriber.start_link(test: self(), client_name: name, topic: "com.data.temp") + assert_receive {:subscribed, id} + assert :ok = Client.unsubscribe(name, %Subscriber.Unsubscribe{subscription_id: id}) end @tag :client