summaryrefslogtreecommitdiff
path: root/test/support/captcha/mock.ex
blob: 53e000ed6d0d74f9c0f08c60ac5ca616f06cb100 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
# Pleroma: A lightweight social networking server
# Copyright © 2017-2022 Pleroma Authors <https://pleroma.social/>
# SPDX-License-Identifier: AGPL-3.0-only

defmodule Pleroma.Captcha.Mock do
  alias Pleroma.Captcha.Service
  @behaviour Service

  @solution "63615261b77f5354fb8c4e4986477555"

  def solution, do: @solution

  @impl Service
  def new,
    do: %{
      type: :mock,
      token: "afa1815e14e29355e6c8f6b143a39fa2",
      answer_data: @solution,
      url: "https://example.org/captcha.png",
      seconds_valid: 300
    }

  @impl Service
  def validate(_token, captcha, captcha) when not is_nil(captcha), do: :ok

  def validate(_token, captcha, answer),
    do: {:error, "Invalid CAPTCHA captcha: #{inspect(captcha)} ; answer: #{inspect(answer)}"}
end