Current section
Files
Jump to
Current section
Files
test/mock/http_fusion_mock.ex
defmodule FusionJWTAuthentication.Support.HTTPFusionMock do
@moduledoc """
Mock client for calls to fusionauth
"""
alias FusionJWTAuthentication.Support.FusionGlobalAppCertificate
alias FusionJWTAuthentication.Support.TestUtils
alias HTTPoison.Response
def get("/api/jwt/public-key?applicationId=11111111-1111-1111-1111-111111111111") do
public_key = %{"publicKey" => FusionGlobalAppCertificate.public_key()["pem"]}
{:ok, %Response{body: Jason.encode!(public_key), status_code: 200}}
end
def get("/api/jwt/public-key?applicationId=11111111-1111-1111-1111-111111111112") do
{:ok, %Response{body: Jason.encode!(%{}), status_code: 404}}
end
def get("/api/jwt/public-key?applicationId=time") do
{:ok,
%Response{
body: Jason.encode!(%{"publicKey" => inspect(DateTime.now("Etc/UTC"))}),
status_code: 200
}}
end
def get("/api/jwt/" <> _url) do
{:ok, %Response{body: "incorrect", status_code: 404}}
end
def get("/.well-known/jwks.json") do
{:ok,
%Response{
body: Jason.encode!(%{"keys" => [TestUtils.build_key("id1"), TestUtils.build_key("id2")]}),
status_code: 200
}}
end
end