Add a test for kocaptcha
authorEkaterina Vaartis <vaartis@cock.li>
Sat, 15 Dec 2018 20:38:19 +0000 (23:38 +0300)
committerEkaterina Vaartis <vaartis@cock.li>
Sat, 15 Dec 2018 20:38:19 +0000 (23:38 +0300)
test/captcha_test.ex [new file with mode: 0644]

diff --git a/test/captcha_test.ex b/test/captcha_test.ex
new file mode 100644 (file)
index 0000000..3942cb0
--- /dev/null
@@ -0,0 +1,41 @@
+defmodule Pleroma.CaptchaTest do
+  use ExUnit.Case
+
+  import Tesla.Mock
+
+  @ets_options [:ordered_set, :private, :named_table, {:read_concurrency, true}]
+
+  describe "Kocaptcha" do
+
+    setup do
+      ets_name = Pleroma.Captcha.Kocaptcha.Ets
+      ^ets_name = :ets.new(ets_name, @ets_options)
+
+      mock fn
+        %{method: :get, url: "http://localhost:9093/new"} ->
+          json(
+            %{
+              md5: "63615261b77f5354fb8c4e4986477555",
+              token: "afa1815e14e29355e6c8f6b143a39fa2",
+              url: "/captchas/afa1815e14e29355e6c8f6b143a39fa2.png"
+            }
+          )
+      end
+
+      :ok
+    end
+
+    test "new and validate" do
+      assert Pleroma.Captcha.Kocaptcha.new() == %{
+        type: :kocaptcha,
+        token: "afa1815e14e29355e6c8f6b143a39fa2",
+        url: "http://localhost:9093/captchas/afa1815e14e29355e6c8f6b143a39fa2.png"
+      }
+
+      assert Pleroma.Captcha.Kocaptcha.validate(
+        "afa1815e14e29355e6c8f6b143a39fa2",
+        "7oEy8c"
+      )
+    end
+  end
+end