]> Entropealabs - wampex_test_suite.git/commitdiff
add unsubscribe test
authorChristopher Coté <chris@entropealabs.com>
Fri, 12 Nov 2021 20:17:36 +0000 (15:17 -0500)
committerChristopher Coté <chris@entropealabs.com>
Fri, 12 Nov 2021 20:17:36 +0000 (15:17 -0500)
mix.exs
mix.lock
test/support/test_callee.ex
test/support/test_subscriber.ex
test/wampex_router_test.exs

diff --git a/mix.exs b/mix.exs
index db09eba88b1bcb78f4c96930c1ffcdf805004db1..e28d3a7159839ef1f5d923c08b8fa9ca793ad18f 100644 (file)
--- 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
 
index 1ab389235259893f9b4328d19fcf3e5297d2dc6f..5873ea27cc445a30c25c86b48b17d235ab260c2a 100644 (file)
--- 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"},
 }
index 5e8537be465bc7d9ba14f14ece7e6bbb31e6c4c5..48b3f7c6ba39374e9f2480aac1e1d774435e04c9 100644 (file)
@@ -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
index 1f65fcd8560dd11aa8a0a31a9df624eb3d6c081c..f2f43f9433f3e3fd21f123e450985b56ea1b7217 100644 (file)
@@ -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
index 4e5ea9002cda8d9c2bd27d745d76f32b80b230be..a057630b9087d616ebe554554da215f8c2b4d280 100644 (file)
@@ -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