diff options
Diffstat (limited to 'test')
| -rw-r--r-- | test/plugs/instance_static_test.exs | 43 | 
1 files changed, 43 insertions, 0 deletions
| diff --git a/test/plugs/instance_static_test.exs b/test/plugs/instance_static_test.exs new file mode 100644 index 000000000..526679aae --- /dev/null +++ b/test/plugs/instance_static_test.exs @@ -0,0 +1,43 @@ +defmodule Pleroma.Web.RuntimeStaticPlugTest do +  use Pleroma.Web.ConnCase + +  @dir "test/tmp/instance_static" + +  setup do +    static_dir = Pleroma.Config.get([:instance, :static_dir]) +    Pleroma.Config.put([:instance, :static_dir], @dir) +    File.mkdir_p!(@dir) + +    on_exit(fn -> +      Pleroma.Config.put([:instance, :static_dir], static_dir) +      File.rm_rf(@dir) +    end) +  end + +  test "overrides index" do +    bundled_index = get(build_conn(), "/") +    assert html_response(bundled_index, 200) == File.read!("priv/static/index.html") + +    File.write!(@dir <> "/index.html", "hello world") + +    index = get(build_conn(), "/") +    assert html_response(index, 200) == "hello world" +  end + +  test "overrides any file in static/static" do +    bundled_index = get(build_conn(), "/static/terms-of-service.html") + +    assert html_response(bundled_index, 200) == +             File.read!("priv/static/static/terms-of-service.html") + +    File.mkdir!(@dir <> "/static") +    File.write!(@dir <> "/static/terms-of-service.html", "plz be kind") + +    index = get(build_conn(), "/static/terms-of-service.html") +    assert html_response(index, 200) == "plz be kind" + +    File.write!(@dir <> "/static/kaniini.html", "<h1>rabbit hugs as a service</h1>") +    index = get(build_conn(), "/static/kaniini.html") +    assert html_response(index, 200) == "<h1>rabbit hugs as a service</h1>" +  end +end | 
