Packages

A library for creating test simulators for external services.

Current section

Files

Jump to
sims priv templates sims.gen.http_basic simulator state_server.ex.eex
Raw

priv/templates/sims.gen.http_basic/simulator/state_server.ex.eex

defmodule <%= inspect @module %> do
@moduledoc false
use Agent
alias <%= inspect @module %>.State
def start_link(_opts \\ []) do
Agent.start_link(fn -> State.new() end)
end
def set_greeting(server, greeting) do
Agent.update(server, &State.set_greeting(&1, greeting))
end
def get_greeting(server) do
Agent.get(server, &State.get_greeting(&1))
end
<%= if @simulator.options.response_stubs? do %>
def get_response_stub(server, route_id) do
Agent.get(server, &State.get_response_stub(&1, route_id))
end
def stub_response(server, route_id, response_id) do
Agent.update(server, &State.stub_response(&1, route_id, response_id))
end
def clear_stubbed_responses(server, route_id) do
Agent.update(server, &State.clear_stubbed_responses(&1, route_id))
end
<% end %>
end