Merge branch 'captcha' into 'develop'
Captcha See merge request pleroma/pleroma!550
This commit is contained in:
commit
52ac7dce5c
12 changed files with 287 additions and 25 deletions
40
test/captcha_test.exs
Normal file
40
test/captcha_test.exs
Normal file
|
|
@ -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
|
||||
13
test/support/captcha_mock.ex
Normal file
13
test/support/captcha_mock.ex
Normal file
|
|
@ -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
|
||||
Loading…
Add table
Add a link
Reference in a new issue