diff options
Diffstat (limited to 'test/tasks')
| -rw-r--r-- | test/tasks/digest_test.exs | 2 | ||||
| -rw-r--r-- | test/tasks/email_test.exs | 2 | ||||
| -rw-r--r-- | test/tasks/frontend_test.exs | 78 | ||||
| -rw-r--r-- | test/tasks/relay_test.exs | 10 | 
4 files changed, 89 insertions, 3 deletions
| diff --git a/test/tasks/digest_test.exs b/test/tasks/digest_test.exs index eefbc8936..0b444c86d 100644 --- a/test/tasks/digest_test.exs +++ b/test/tasks/digest_test.exs @@ -17,6 +17,8 @@ defmodule Mix.Tasks.Pleroma.DigestTest do      :ok    end +  setup do: clear_config([Pleroma.Emails.Mailer, :enabled], true) +    describe "pleroma.digest test" do      test "Sends digest to the given user" do        user1 = insert(:user) diff --git a/test/tasks/email_test.exs b/test/tasks/email_test.exs index 944c07064..c3af7ef68 100644 --- a/test/tasks/email_test.exs +++ b/test/tasks/email_test.exs @@ -16,6 +16,8 @@ defmodule Mix.Tasks.Pleroma.EmailTest do      :ok    end +  setup do: clear_config([Pleroma.Emails.Mailer, :enabled], true) +    describe "pleroma.email test" do      test "Sends test email with no given address" do        mail_to = Config.get([:instance, :email]) diff --git a/test/tasks/frontend_test.exs b/test/tasks/frontend_test.exs new file mode 100644 index 000000000..0ca2b9a28 --- /dev/null +++ b/test/tasks/frontend_test.exs @@ -0,0 +1,78 @@ +# Pleroma: A lightweight social networking server +# Copyright © 2017-2020 Pleroma Authors <https://pleroma.social/> +# SPDX-License-Identifier: AGPL-3.0-only + +defmodule Pleroma.FrontendTest do +  use Pleroma.DataCase +  alias Mix.Tasks.Pleroma.Frontend + +  import ExUnit.CaptureIO, only: [capture_io: 1] + +  @dir "test/frontend_static_test" + +  setup do +    File.mkdir_p!(@dir) +    clear_config([:instance, :static_dir], @dir) + +    on_exit(fn -> +      File.rm_rf(@dir) +    end) +  end + +  test "it downloads and unzips a known frontend" do +    clear_config([:frontends, :available], %{ +      "pleroma" => %{ +        "ref" => "fantasy", +        "name" => "pleroma", +        "build_url" => "http://gensokyo.2hu/builds/${ref}" +      } +    }) + +    Tesla.Mock.mock(fn %{url: "http://gensokyo.2hu/builds/fantasy"} -> +      %Tesla.Env{status: 200, body: File.read!("test/fixtures/tesla_mock/frontend_dist.zip")} +    end) + +    capture_io(fn -> +      Frontend.run(["install", "pleroma"]) +    end) + +    assert File.exists?(Path.join([@dir, "frontends", "pleroma", "fantasy", "test.txt"])) +  end + +  test "it also works given a file" do +    clear_config([:frontends, :available], %{ +      "pleroma" => %{ +        "ref" => "fantasy", +        "name" => "pleroma", +        "build_dir" => "" +      } +    }) + +    capture_io(fn -> +      Frontend.run(["install", "pleroma", "--file", "test/fixtures/tesla_mock/frontend.zip"]) +    end) + +    assert File.exists?(Path.join([@dir, "frontends", "pleroma", "fantasy", "test.txt"])) +  end + +  test "it downloads and unzips unknown frontends" do +    Tesla.Mock.mock(fn %{url: "http://gensokyo.2hu/madeup.zip"} -> +      %Tesla.Env{status: 200, body: File.read!("test/fixtures/tesla_mock/frontend.zip")} +    end) + +    capture_io(fn -> +      Frontend.run([ +        "install", +        "unknown", +        "--ref", +        "baka", +        "--build-url", +        "http://gensokyo.2hu/madeup.zip", +        "--build-dir", +        "" +      ]) +    end) + +    assert File.exists?(Path.join([@dir, "frontends", "unknown", "baka", "test.txt"])) +  end +end diff --git a/test/tasks/relay_test.exs b/test/tasks/relay_test.exs index 79ab72002..e5225b64c 100644 --- a/test/tasks/relay_test.exs +++ b/test/tasks/relay_test.exs @@ -42,7 +42,11 @@ defmodule Mix.Tasks.Pleroma.RelayTest do        assert activity.data["object"] == target_user.ap_id        :ok = Mix.Tasks.Pleroma.Relay.run(["list"]) -      assert_receive {:mix_shell, :info, ["mastodon.example.org (no Accept received)"]} + +      assert_receive {:mix_shell, :info, +                      [ +                        "http://mastodon.example.org/users/admin - no Accept received (relay didn't follow back)" +                      ]}      end    end @@ -95,8 +99,8 @@ defmodule Mix.Tasks.Pleroma.RelayTest do        :ok = Mix.Tasks.Pleroma.Relay.run(["list"]) -      assert_receive {:mix_shell, :info, ["mstdn.io"]} -      assert_receive {:mix_shell, :info, ["mastodon.example.org"]} +      assert_receive {:mix_shell, :info, ["https://mstdn.io/users/mayuutann"]} +      assert_receive {:mix_shell, :info, ["http://mastodon.example.org/users/admin"]}      end    end  end | 
