From cb9f1c76bb9255e0dd8f6f16537de21e94a5ed48 Mon Sep 17 00:00:00 2001 From: thymusvulgaris <87661013+thymusvulgaris@users.noreply.github.com> Date: Thu, 27 Jun 2024 19:43:12 +0100 Subject: [PATCH] Add Plug.Static tests (#1236) * Add test that asserts Plug.Static.call/2 serves files from the app directory using a :from with an application name and directory. --- test/plug/static_test.exs | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/test/plug/static_test.exs b/test/plug/static_test.exs index ce89a145..1c658ad9 100644 --- a/test/plug/static_test.exs +++ b/test/plug/static_test.exs @@ -313,6 +313,29 @@ defmodule Plug.StaticTest do assert get_resp_header(conn, "vary") == ["Accept-Encoding"] end + test "call/2 serves files from the app directory using a :from with an application name and directory" do + app_dir = Application.app_dir(:plug) + fixture = Path.join(app_dir, "tmp.txt") + + try do + :ok = File.write!(fixture, "ABCD") + + opts = [ + at: "priv/static", + from: {:plug, "."} + ] + + conn = + conn(:get, "/priv/static/tmp.txt") + |> call(opts) + + assert conn.status == 200 + assert conn.resp_body == "ABCD" + after + :ok = File.rm!(fixture) + end + end + test "raises an exception if :from isn't a binary or an atom" do assert_raise ArgumentError, fn -> defmodule ExceptionPlug do