diff options
| author | lambda <pleromagit@rogerbraun.net> | 2018-12-17 19:45:14 +0000 | 
|---|---|---|
| committer | lambda <pleromagit@rogerbraun.net> | 2018-12-17 19:45:14 +0000 | 
| commit | 52ac7dce5c460d27d946d26070eb123e89af2914 (patch) | |
| tree | 0f1ac473ae10290bd13220552e2cce8db851f5d4 /test | |
| parent | c6d5f189d9847b0c23d8150f41c05d87402680eb (diff) | |
| parent | de981ac5a23673797951096b64a7f5ca49630467 (diff) | |
| download | pleroma-52ac7dce5c460d27d946d26070eb123e89af2914.tar.gz pleroma-52ac7dce5c460d27d946d26070eb123e89af2914.zip | |
Merge branch 'captcha' into 'develop'
Captcha
See merge request pleroma/pleroma!550
Diffstat (limited to 'test')
| -rw-r--r-- | test/captcha_test.exs | 40 | ||||
| -rw-r--r-- | test/support/captcha_mock.ex | 13 | 
2 files changed, 53 insertions, 0 deletions
| diff --git a/test/captcha_test.exs b/test/captcha_test.exs new file mode 100644 index 000000000..54ffbd92f --- /dev/null +++ b/test/captcha_test.exs @@ -0,0 +1,40 @@ +defmodule Pleroma.CaptchaTest do +  use ExUnit.Case + +  import Tesla.Mock + +  alias Pleroma.Captcha.Kocaptcha + +  @ets_options [:ordered_set, :private, :named_table, {:read_concurrency, true}] + +  describe "Kocaptcha" do +    setup do +      ets_name = Kocaptcha.Ets +      ^ets_name = :ets.new(ets_name, @ets_options) + +      mock(fn +        %{method: :get, url: "https://captcha.kotobank.ch/new"} -> +          json(%{ +            md5: "63615261b77f5354fb8c4e4986477555", +            token: "afa1815e14e29355e6c8f6b143a39fa2", +            url: "/captchas/afa1815e14e29355e6c8f6b143a39fa2.png" +          }) +      end) + +      :ok +    end + +    test "new and validate" do +      assert Kocaptcha.new() == %{ +               type: :kocaptcha, +               token: "afa1815e14e29355e6c8f6b143a39fa2", +               url: "https://captcha.kotobank.ch/captchas/afa1815e14e29355e6c8f6b143a39fa2.png" +             } + +      assert Kocaptcha.validate( +               "afa1815e14e29355e6c8f6b143a39fa2", +               "7oEy8c" +             ) +    end +  end +end diff --git a/test/support/captcha_mock.ex b/test/support/captcha_mock.ex new file mode 100644 index 000000000..898aa17b8 --- /dev/null +++ b/test/support/captcha_mock.ex @@ -0,0 +1,13 @@ +defmodule Pleroma.Captcha.Mock do +  alias Pleroma.Captcha.Service +  @behaviour Service + +  @impl Service +  def new(), do: %{type: :mock} + +  @impl Service +  def validate(_token, _captcha), do: true + +  @impl Service +  def cleanup(), do: :ok +end | 
