defmodule TehamaClient.MockServer do @moduledoc false use Plug.Router plug(Plug.Parsers, parsers: [:json], pass: ["text/*"], json_decoder: Poison ) plug(:match) plug(:dispatch) get "/test" do success(conn, %{id: 1}) end post "/auth/login" do success(conn, %{ token: "testtoken" }) end get "/tehama/site-list-server" do success(conn, %{ data: %{ sites: [ TehamaClient.MockData.site() ] } }) end get "/tehama/sites/report-data/:access_code" do success(conn, %{ data: %{ devices: [TehamaClient.MockData.device()] } }) end match _ do failure(conn) end defp success(conn, body) do conn |> send_resp(200, Poison.encode!(body)) end defp failure(conn) do conn |> send_resp(422, Poison.encode!(%{message: "error message"})) end end