diff options
| author | Mark Felder <feld@FreeBSD.org> | 2020-02-11 10:33:41 -0600 | 
|---|---|---|
| committer | Mark Felder <feld@FreeBSD.org> | 2020-02-11 10:33:41 -0600 | 
| commit | f9eb35d48e9f129df240c2c2134b4664121cecfe (patch) | |
| tree | 2aca1a10c2df0852bd56e6eecf8446265eaac57d /test/web | |
| parent | de0fea463486537766403baa6663a618c93aa941 (diff) | |
| parent | 3fee859b60d2b97e8210faf872a03d99cfc574cc (diff) | |
| download | pleroma-f9eb35d48e9f129df240c2c2134b4664121cecfe.tar.gz pleroma-f9eb35d48e9f129df240c2c2134b4664121cecfe.zip  | |
Merge branch 'develop' of git.pleroma.social:pleroma/pleroma into update/admin-fe-20200211
Diffstat (limited to 'test/web')
5 files changed, 74 insertions, 27 deletions
diff --git a/test/web/mastodon_api/controllers/scheduled_activity_controller_test.exs b/test/web/mastodon_api/controllers/scheduled_activity_controller_test.exs index 9666a7f2e..6317d1b47 100644 --- a/test/web/mastodon_api/controllers/scheduled_activity_controller_test.exs +++ b/test/web/mastodon_api/controllers/scheduled_activity_controller_test.exs @@ -9,6 +9,9 @@ defmodule Pleroma.Web.MastodonAPI.ScheduledActivityControllerTest do    alias Pleroma.ScheduledActivity    import Pleroma.Factory +  import Ecto.Query + +  clear_config([ScheduledActivity, :enabled])    test "shows scheduled activities" do      %{user: user, conn: conn} = oauth_access(["read:statuses"]) @@ -52,11 +55,26 @@ defmodule Pleroma.Web.MastodonAPI.ScheduledActivityControllerTest do    end    test "updates a scheduled activity" do +    Pleroma.Config.put([ScheduledActivity, :enabled], true)      %{user: user, conn: conn} = oauth_access(["write:statuses"]) -    scheduled_activity = insert(:scheduled_activity, user: user) -    new_scheduled_at = -      NaiveDateTime.add(NaiveDateTime.utc_now(), :timer.minutes(120), :millisecond) +    scheduled_at = Timex.shift(NaiveDateTime.utc_now(), minutes: 60) + +    {:ok, scheduled_activity} = +      ScheduledActivity.create( +        user, +        %{ +          scheduled_at: scheduled_at, +          params: build(:note).data +        } +      ) + +    job = Repo.one(from(j in Oban.Job, where: j.queue == "scheduled_activities")) + +    assert job.args == %{"activity_id" => scheduled_activity.id} +    assert DateTime.truncate(job.scheduled_at, :second) == to_datetime(scheduled_at) + +    new_scheduled_at = Timex.shift(NaiveDateTime.utc_now(), minutes: 120)      res_conn =        put(conn, "/api/v1/scheduled_statuses/#{scheduled_activity.id}", %{ @@ -65,6 +83,9 @@ defmodule Pleroma.Web.MastodonAPI.ScheduledActivityControllerTest do      assert %{"scheduled_at" => expected_scheduled_at} = json_response(res_conn, 200)      assert expected_scheduled_at == Pleroma.Web.CommonAPI.Utils.to_masto_date(new_scheduled_at) +    job = refresh_record(job) + +    assert DateTime.truncate(job.scheduled_at, :second) == to_datetime(new_scheduled_at)      res_conn = put(conn, "/api/v1/scheduled_statuses/404", %{scheduled_at: new_scheduled_at}) @@ -72,8 +93,22 @@ defmodule Pleroma.Web.MastodonAPI.ScheduledActivityControllerTest do    end    test "deletes a scheduled activity" do +    Pleroma.Config.put([ScheduledActivity, :enabled], true)      %{user: user, conn: conn} = oauth_access(["write:statuses"]) -    scheduled_activity = insert(:scheduled_activity, user: user) +    scheduled_at = Timex.shift(NaiveDateTime.utc_now(), minutes: 60) + +    {:ok, scheduled_activity} = +      ScheduledActivity.create( +        user, +        %{ +          scheduled_at: scheduled_at, +          params: build(:note).data +        } +      ) + +    job = Repo.one(from(j in Oban.Job, where: j.queue == "scheduled_activities")) + +    assert job.args == %{"activity_id" => scheduled_activity.id}      res_conn =        conn @@ -81,7 +116,8 @@ defmodule Pleroma.Web.MastodonAPI.ScheduledActivityControllerTest do        |> delete("/api/v1/scheduled_statuses/#{scheduled_activity.id}")      assert %{} = json_response(res_conn, 200) -    assert nil == Repo.get(ScheduledActivity, scheduled_activity.id) +    refute Repo.get(ScheduledActivity, scheduled_activity.id) +    refute Repo.get(Oban.Job, job.id)      res_conn =        conn diff --git a/test/web/mastodon_api/views/status_view_test.exs b/test/web/mastodon_api/views/status_view_test.exs index fc110417c..ba58e48e8 100644 --- a/test/web/mastodon_api/views/status_view_test.exs +++ b/test/web/mastodon_api/views/status_view_test.exs @@ -37,15 +37,15 @@ defmodule Pleroma.Web.MastodonAPI.StatusViewTest do      status = StatusView.render("show.json", activity: activity)      assert status[:pleroma][:emoji_reactions] == [ -             %{emoji: "☕", count: 2, reacted: false}, -             %{emoji: "🍵", count: 1, reacted: false} +             %{name: "☕", count: 2, me: false}, +             %{name: "🍵", count: 1, me: false}             ]      status = StatusView.render("show.json", activity: activity, for: user)      assert status[:pleroma][:emoji_reactions] == [ -             %{emoji: "☕", count: 2, reacted: true}, -             %{emoji: "🍵", count: 1, reacted: false} +             %{name: "☕", count: 2, me: true}, +             %{name: "🍵", count: 1, me: false}             ]    end diff --git a/test/web/node_info_test.exs b/test/web/node_info_test.exs index 9a574a38d..39dd72cec 100644 --- a/test/web/node_info_test.exs +++ b/test/web/node_info_test.exs @@ -6,6 +6,7 @@ defmodule Pleroma.Web.NodeInfoTest do    use Pleroma.Web.ConnCase    import Pleroma.Factory +  clear_config([:mrf_simple])    test "GET /.well-known/nodeinfo", %{conn: conn} do      links = diff --git a/test/web/pleroma_api/controllers/pleroma_api_controller_test.exs b/test/web/pleroma_api/controllers/pleroma_api_controller_test.exs index be5007de5..36868db38 100644 --- a/test/web/pleroma_api/controllers/pleroma_api_controller_test.exs +++ b/test/web/pleroma_api/controllers/pleroma_api_controller_test.exs @@ -14,7 +14,7 @@ defmodule Pleroma.Web.PleromaAPI.PleromaAPIControllerTest do    import Pleroma.Factory -  test "POST /api/v1/pleroma/statuses/:id/react_with_emoji", %{conn: conn} do +  test "PUT /api/v1/pleroma/statuses/:id/reactions/:emoji", %{conn: conn} do      user = insert(:user)      other_user = insert(:user) @@ -24,18 +24,19 @@ defmodule Pleroma.Web.PleromaAPI.PleromaAPIControllerTest do        conn        |> assign(:user, other_user)        |> assign(:token, insert(:oauth_token, user: other_user, scopes: ["write:statuses"])) -      |> post("/api/v1/pleroma/statuses/#{activity.id}/react_with_emoji", %{"emoji" => "☕"}) +      |> put("/api/v1/pleroma/statuses/#{activity.id}/reactions/☕")        |> json_response(200) +    # We return the status, but this our implementation detail.      assert %{"id" => id} = result      assert to_string(activity.id) == id      assert result["pleroma"]["emoji_reactions"] == [ -             %{"emoji" => "☕", "count" => 1, "reacted" => true} +             %{"name" => "☕", "count" => 1, "me" => true}             ]    end -  test "POST /api/v1/pleroma/statuses/:id/unreact_with_emoji", %{conn: conn} do +  test "DELETE /api/v1/pleroma/statuses/:id/reactions/:emoji", %{conn: conn} do      user = insert(:user)      other_user = insert(:user) @@ -46,7 +47,7 @@ defmodule Pleroma.Web.PleromaAPI.PleromaAPIControllerTest do        conn        |> assign(:user, other_user)        |> assign(:token, insert(:oauth_token, user: other_user, scopes: ["write:statuses"])) -      |> post("/api/v1/pleroma/statuses/#{activity.id}/unreact_with_emoji", %{"emoji" => "☕"}) +      |> delete("/api/v1/pleroma/statuses/#{activity.id}/reactions/☕")      assert %{"id" => id} = json_response(result, 200)      assert to_string(activity.id) == id @@ -56,7 +57,7 @@ defmodule Pleroma.Web.PleromaAPI.PleromaAPIControllerTest do      assert object.data["reaction_count"] == 0    end -  test "GET /api/v1/pleroma/statuses/:id/emoji_reactions_by", %{conn: conn} do +  test "GET /api/v1/pleroma/statuses/:id/reactions", %{conn: conn} do      user = insert(:user)      other_user = insert(:user)      doomed_user = insert(:user) @@ -65,7 +66,7 @@ defmodule Pleroma.Web.PleromaAPI.PleromaAPIControllerTest do      result =        conn -      |> get("/api/v1/pleroma/statuses/#{activity.id}/emoji_reactions_by") +      |> get("/api/v1/pleroma/statuses/#{activity.id}/reactions")        |> json_response(200)      assert result == [] @@ -77,11 +78,10 @@ defmodule Pleroma.Web.PleromaAPI.PleromaAPIControllerTest do      result =        conn -      |> get("/api/v1/pleroma/statuses/#{activity.id}/emoji_reactions_by") +      |> get("/api/v1/pleroma/statuses/#{activity.id}/reactions")        |> json_response(200) -    [%{"emoji" => "🎅", "count" => 1, "accounts" => [represented_user], "reacted" => false}] = -      result +    [%{"name" => "🎅", "count" => 1, "accounts" => [represented_user], "me" => false}] = result      assert represented_user["id"] == other_user.id @@ -89,10 +89,10 @@ defmodule Pleroma.Web.PleromaAPI.PleromaAPIControllerTest do        conn        |> assign(:user, other_user)        |> assign(:token, insert(:oauth_token, user: other_user, scopes: ["read:statuses"])) -      |> get("/api/v1/pleroma/statuses/#{activity.id}/emoji_reactions_by") +      |> get("/api/v1/pleroma/statuses/#{activity.id}/reactions")        |> json_response(200) -    assert [%{"emoji" => "🎅", "count" => 1, "accounts" => [_represented_user], "reacted" => true}] = +    assert [%{"name" => "🎅", "count" => 1, "accounts" => [_represented_user], "me" => true}] =               result    end diff --git a/test/web/rich_media/parsers/twitter_card_test.exs b/test/web/rich_media/parsers/twitter_card_test.exs index 751ca614c..f2ebbde7e 100644 --- a/test/web/rich_media/parsers/twitter_card_test.exs +++ b/test/web/rich_media/parsers/twitter_card_test.exs @@ -7,11 +7,14 @@ defmodule Pleroma.Web.RichMedia.Parsers.TwitterCardTest do    alias Pleroma.Web.RichMedia.Parsers.TwitterCard    test "returns error when html not contains twitter card" do -    assert TwitterCard.parse("", %{}) == {:error, "No twitter card metadata found"} +    assert TwitterCard.parse([{"html", [], [{"head", [], []}, {"body", [], []}]}], %{}) == +             {:error, "No twitter card metadata found"}    end    test "parses twitter card with only name attributes" do -    html = File.read!("test/fixtures/nypd-facial-recognition-children-teenagers3.html") +    html = +      File.read!("test/fixtures/nypd-facial-recognition-children-teenagers3.html") +      |> Floki.parse_document!()      assert TwitterCard.parse(html, %{}) ==               {:ok, @@ -26,7 +29,9 @@ defmodule Pleroma.Web.RichMedia.Parsers.TwitterCardTest do    end    test "parses twitter card with only property attributes" do -    html = File.read!("test/fixtures/nypd-facial-recognition-children-teenagers2.html") +    html = +      File.read!("test/fixtures/nypd-facial-recognition-children-teenagers2.html") +      |> Floki.parse_document!()      assert TwitterCard.parse(html, %{}) ==               {:ok, @@ -45,7 +50,9 @@ defmodule Pleroma.Web.RichMedia.Parsers.TwitterCardTest do    end    test "parses twitter card with name & property attributes" do -    html = File.read!("test/fixtures/nypd-facial-recognition-children-teenagers.html") +    html = +      File.read!("test/fixtures/nypd-facial-recognition-children-teenagers.html") +      |> Floki.parse_document!()      assert TwitterCard.parse(html, %{}) ==               {:ok, @@ -73,7 +80,8 @@ defmodule Pleroma.Web.RichMedia.Parsers.TwitterCardTest do          "YTQ5MF9EQVIgZXhodW1hdGlvbiBvZiBNYXJnYXJldCBDb3JiaW4gZ3JhdmUgMTkyNi5qcGciXSxbInAiLCJjb252ZXJ0IiwiIl0sWyJwIiwiY29udmVydCIsIi1xdWFsaXR5IDgxIC1hdXRvLW9" <>          "yaWVudCJdLFsicCIsInRodW1iIiwiNjAweD4iXV0/DAR%20exhumation%20of%20Margaret%20Corbin%20grave%201926.jpg" -    html = File.read!("test/fixtures/margaret-corbin-grave-west-point.html") +    html = +      File.read!("test/fixtures/margaret-corbin-grave-west-point.html") |> Floki.parse_document!()      assert TwitterCard.parse(html, %{}) ==               {:ok, @@ -87,7 +95,9 @@ defmodule Pleroma.Web.RichMedia.Parsers.TwitterCardTest do    end    test "takes first founded title in html head if there is html markup error" do -    html = File.read!("test/fixtures/nypd-facial-recognition-children-teenagers4.html") +    html = +      File.read!("test/fixtures/nypd-facial-recognition-children-teenagers4.html") +      |> Floki.parse_document!()      assert TwitterCard.parse(html, %{}) ==               {:ok,  | 
