diff options
Diffstat (limited to 'test/plugs')
| -rw-r--r-- | test/plugs/frontend_static_test.exs | 30 | ||||
| -rw-r--r-- | test/plugs/instance_static_test.exs | 24 | 
2 files changed, 53 insertions, 1 deletions
diff --git a/test/plugs/frontend_static_test.exs b/test/plugs/frontend_static_test.exs new file mode 100644 index 000000000..d11d91d78 --- /dev/null +++ b/test/plugs/frontend_static_test.exs @@ -0,0 +1,30 @@ +# Pleroma: A lightweight social networking server +# Copyright © 2017-2020 Pleroma Authors <https://pleroma.social/> +# SPDX-License-Identifier: AGPL-3.0-only + +defmodule Pleroma.Web.FrontendStaticPlugTest do +  use Pleroma.Web.ConnCase + +  @dir "test/tmp/instance_static" + +  setup do +    File.mkdir_p!(@dir) +    on_exit(fn -> File.rm_rf(@dir) end) +  end + +  setup do: clear_config([:instance, :static_dir], @dir) + +  test "overrides existing static files", %{conn: conn} do +    name = "pelmora" +    ref = "uguu" + +    clear_config([:frontends, :primary], %{"name" => name, "ref" => ref}) +    path = "#{@dir}/frontends/#{name}/#{ref}" + +    File.mkdir_p!(path) +    File.write!("#{path}/index.html", "from frontend plug") + +    index = get(conn, "/") +    assert html_response(index, 200) == "from frontend plug" +  end +end diff --git a/test/plugs/instance_static_test.exs b/test/plugs/instance_static_test.exs index be2613ad0..d42ba817e 100644 --- a/test/plugs/instance_static_test.exs +++ b/test/plugs/instance_static_test.exs @@ -2,7 +2,7 @@  # Copyright © 2017-2020 Pleroma Authors <https://pleroma.social/>  # SPDX-License-Identifier: AGPL-3.0-only -defmodule Pleroma.Web.RuntimeStaticPlugTest do +defmodule Pleroma.Web.InstanceStaticPlugTest do    use Pleroma.Web.ConnCase    @dir "test/tmp/instance_static" @@ -24,6 +24,28 @@ defmodule Pleroma.Web.RuntimeStaticPlugTest do      assert html_response(index, 200) == "hello world"    end +  test "also overrides frontend files", %{conn: conn} do +    name = "pelmora" +    ref = "uguu" + +    clear_config([:frontends, :primary], %{"name" => name, "ref" => ref}) + +    bundled_index = get(conn, "/") +    refute html_response(bundled_index, 200) == "from frontend plug" + +    path = "#{@dir}/frontends/#{name}/#{ref}" +    File.mkdir_p!(path) +    File.write!("#{path}/index.html", "from frontend plug") + +    index = get(conn, "/") +    assert html_response(index, 200) == "from frontend plug" + +    File.write!(@dir <> "/index.html", "from instance static") + +    index = get(conn, "/") +    assert html_response(index, 200) == "from instance static" +  end +    test "overrides any file in static/static" do      bundled_index = get(build_conn(), "/static/terms-of-service.html")  | 
