diff options
author | lain <lain@soykaf.club> | 2018-05-13 10:56:11 +0200 |
---|---|---|
committer | lain <lain@soykaf.club> | 2018-05-13 10:56:11 +0200 |
commit | 76722ea9c8dfbb8fefe247883946aa5c872d9a49 (patch) | |
tree | 34020541df1d6684e935cfd09f36cb6eed7b13f6 /test/web/mastodon_api/mastodon_api_controller_test.exs | |
parent | a3d1d4894fdd8dd0133e1d2c6fde9d95f49dfcc7 (diff) | |
parent | bb864e96ad4e0be470da78baa000019f571e30db (diff) | |
download | pleroma-76722ea9c8dfbb8fefe247883946aa5c872d9a49.tar.gz pleroma-76722ea9c8dfbb8fefe247883946aa5c872d9a49.zip |
Merge branch 'develop' into kaniini/pleroma-bugfix/unlisted-statuses
Diffstat (limited to 'test/web/mastodon_api/mastodon_api_controller_test.exs')
-rw-r--r-- | test/web/mastodon_api/mastodon_api_controller_test.exs | 38 |
1 files changed, 36 insertions, 2 deletions
diff --git a/test/web/mastodon_api/mastodon_api_controller_test.exs b/test/web/mastodon_api/mastodon_api_controller_test.exs index 5293b9364..883ebc61e 100644 --- a/test/web/mastodon_api/mastodon_api_controller_test.exs +++ b/test/web/mastodon_api/mastodon_api_controller_test.exs @@ -63,19 +63,53 @@ defmodule Pleroma.Web.MastodonAPI.MastodonAPIControllerTest do test "posting a status", %{conn: conn} do user = insert(:user) - conn = + idempotency_key = "Pikachu rocks!" + + conn_one = conn |> assign(:user, user) + |> put_req_header("idempotency-key", idempotency_key) |> post("/api/v1/statuses", %{ "status" => "cofe", "spoiler_text" => "2hu", "sensitive" => "false" }) + {:ok, ttl} = Cachex.ttl(:idempotency_cache, idempotency_key) + # Six hours + assert ttl > :timer.seconds(6 * 60 * 60 - 1) + assert %{"content" => "cofe", "id" => id, "spoiler_text" => "2hu", "sensitive" => false} = - json_response(conn, 200) + json_response(conn_one, 200) assert Repo.get(Activity, id) + + conn_two = + conn + |> assign(:user, user) + |> put_req_header("idempotency-key", idempotency_key) + |> post("/api/v1/statuses", %{ + "status" => "cofe", + "spoiler_text" => "2hu", + "sensitive" => "false" + }) + + assert %{"id" => second_id} = json_response(conn_two, 200) + + assert id == second_id + + conn_three = + conn + |> assign(:user, user) + |> post("/api/v1/statuses", %{ + "status" => "cofe", + "spoiler_text" => "2hu", + "sensitive" => "false" + }) + + assert %{"id" => third_id} = json_response(conn_three, 200) + + refute id == third_id end test "posting a sensitive status", %{conn: conn} do |