23 lines
730 B
Elixir
23 lines
730 B
Elixir
defmodule WhoNeedHelp.PublicAccessTest do
|
|
use ExUnit.Case, async: true
|
|
|
|
alias WhoNeedHelp.PublicAccess
|
|
|
|
@salt "public-access-compatibility"
|
|
|
|
test "worker-safe tokens remain compatible with endpoint-signed tokens" do
|
|
endpoint = WhoNeedHelpWeb.Endpoint
|
|
payload = Ecto.UUID.generate()
|
|
|
|
endpoint_token = Phoenix.Token.sign(endpoint, @salt, payload)
|
|
worker_safe_token = PublicAccess.sign(@salt, payload)
|
|
|
|
assert {:ok, ^payload} = PublicAccess.verify(@salt, endpoint_token)
|
|
assert {:ok, ^payload} = Phoenix.Token.verify(endpoint, @salt, worker_safe_token)
|
|
end
|
|
|
|
test "public origin matches the configured endpoint origin" do
|
|
assert PublicAccess.origin() == WhoNeedHelpWeb.Endpoint.url()
|
|
end
|
|
end
|