Make test output easier to read.
authorlain <lain@soykaf.club>
Mon, 12 Feb 2018 09:13:54 +0000 (10:13 +0100)
committerlain <lain@soykaf.club>
Mon, 12 Feb 2018 09:14:11 +0000 (10:14 +0100)
19 files changed:
.gitlab-ci.yml
lib/pleroma/stats.ex
test/notification_test.exs
test/object_test.exs
test/user_test.exs
test/web/activity_pub/activity_pub_test.exs
test/web/mastodon_api/mastodon_api_controller_test.exs
test/web/ostatus/activity_representer_test.exs
test/web/ostatus/incoming_documents/delete_handling_test.exs
test/web/ostatus/ostatus_controller_test.exs
test/web/ostatus/ostatus_test.exs
test/web/salmon/salmon_test.exs
test/web/twitter_api/representers/activity_representer_test.exs
test/web/twitter_api/twitter_api_controller_test.exs
test/web/twitter_api/twitter_api_test.exs
test/web/twitter_api/views/user_view_test.exs
test/web/web_finger/web_finger_test.exs
test/web/websub/websub_controller_test.exs
test/web/websub/websub_test.exs

index b7608e0a96cf5ea44ae1b2650b7eeddfb228cff6..4db167febb1cf737e4699e6596ba58ee64dce6a7 100644 (file)
@@ -21,4 +21,4 @@ before_script:
 unit-testing:
   stage: test
   script:
-    - MIX_ENV=test mix test
+    - MIX_ENV=test mix test --trace
index 737e9b62ea268cda1a70a473af8b1060623e932f..5f8130ff88a024b73fa51ea06a76cf0e2761fde5 100644 (file)
@@ -32,7 +32,7 @@ defmodule Pleroma.Stats do
     domain_count = Enum.count(peers)
     status_query = from(u in User.local_user_query,
       select: fragment("sum((?->>'note_count')::int)", u.info))
-    status_count = Repo.one(status_query) |> IO.inspect
+    status_count = Repo.one(status_query)
     user_count = Repo.aggregate(User.local_user_query, :count, :id)
     Agent.update(__MODULE__, fn _ ->
       {peers, %{domain_count: domain_count, status_count: status_count, user_count: user_count}}
index 0a44622416d3e000b5e7ef67728e7d02c83492a3..1504004c8b3095d70e7016901b04be0d01b74dfd 100644 (file)
@@ -50,7 +50,7 @@ defmodule Pleroma.NotificationTest do
 
       {:ok, activity} = TwitterAPI.create_status(user, %{"status" => "hey @#{other_user.nickname}"})
       {:ok, [notification]} = Notification.create_notifications(activity)
-      {:error, notification} = Notification.get(user, notification.id)
+      {:error, _notification} = Notification.get(user, notification.id)
     end
   end
 
@@ -72,7 +72,7 @@ defmodule Pleroma.NotificationTest do
 
       {:ok, activity} = TwitterAPI.create_status(user, %{"status" => "hey @#{other_user.nickname}"})
       {:ok, [notification]} = Notification.create_notifications(activity)
-      {:error, notification} = Notification.dismiss(user, notification.id)
+      {:error, _notification} = Notification.dismiss(user, notification.id)
     end
   end
 
index ae9515c2638d7e0a286e2f82e372392143d0c9ad..5eb9b7530d8ace755d2b8e0476d5c82377c70a96 100644 (file)
@@ -16,7 +16,7 @@ defmodule Pleroma.ObjectTest do
       cs = Object.change(%Object{}, %{data: %{id: object.data["id"]}})
       assert cs.valid?
 
-      {:error, result} = Repo.insert(cs)
+      {:error, _result} = Repo.insert(cs)
     end
   end
 end
index 16d43e6195367bdb72ed8eed83ca148390335ff2..0c87b778c7dcdc38b093052e05d000d5708adc47 100644 (file)
@@ -326,7 +326,7 @@ defmodule Pleroma.UserTest do
     assert [addressed] == User.get_recipients_from_activity(activity)
 
     {:ok, user} = User.follow(user, actor)
-    {:ok, user_two} = User.follow(user_two, actor)
+    {:ok, _user_two} = User.follow(user_two, actor)
     recipients = User.get_recipients_from_activity(activity)
     assert length(recipients) == 2
     assert user in recipients
index f50509b630522f22b5df2744202a0bdd0c558418..f423ea8beceae157603b94c5a2714f64831efd1c 100644 (file)
@@ -110,7 +110,7 @@ defmodule Pleroma.Web.ActivityPub.ActivityPubTest do
 
   describe "public fetch activities" do
     test "retrieves public activities" do
-      activities = ActivityPub.fetch_public_activities
+      _activities = ActivityPub.fetch_public_activities
 
       %{public: public} = ActivityBuilder.public_and_non_public
 
index e4c59d9ffa1916a1d6e9c51e8c04d678edb4bcd6..a655fa74bef8d01ec254ed909a94fe7eddda1f98 100644 (file)
@@ -6,6 +6,7 @@ defmodule Pleroma.Web.MastodonAPI.MastodonAPIControllerTest do
   alias Pleroma.Web.{OStatus, CommonAPI}
 
   import Pleroma.Factory
+  import ExUnit.CaptureLog
 
   test "the home timeline", %{conn: conn} do
     user = insert(:user)
@@ -31,23 +32,25 @@ defmodule Pleroma.Web.MastodonAPI.MastodonAPIControllerTest do
   test "the public timeline", %{conn: conn} do
     following = insert(:user)
 
-    {:ok, _activity} = TwitterAPI.create_status(following, %{"status" => "test"})
-    {:ok, [_activity]} = OStatus.fetch_activity_from_url("https://shitposter.club/notice/2827873")
+    capture_log fn ->
+      {:ok, _activity} = TwitterAPI.create_status(following, %{"status" => "test"})
+      {:ok, [_activity]} = OStatus.fetch_activity_from_url("https://shitposter.club/notice/2827873")
 
-    conn = conn
-    |> get("/api/v1/timelines/public", %{"local" => "False"})
+      conn = conn
+      |> get("/api/v1/timelines/public", %{"local" => "False"})
 
-    assert length(json_response(conn, 200)) == 2
+      assert length(json_response(conn, 200)) == 2
 
-    conn = build_conn()
-    |> get("/api/v1/timelines/public", %{"local" => "True"})
+      conn = build_conn()
+      |> get("/api/v1/timelines/public", %{"local" => "True"})
 
-    assert [%{"content" => "test"}] = json_response(conn, 200)
+      assert [%{"content" => "test"}] = json_response(conn, 200)
 
-    conn = build_conn()
-    |> get("/api/v1/timelines/public", %{"local" => "1"})
+      conn = build_conn()
+      |> get("/api/v1/timelines/public", %{"local" => "1"})
 
-    assert [%{"content" => "test"}] = json_response(conn, 200)
+      assert [%{"content" => "test"}] = json_response(conn, 200)
+    end
   end
 
   test "posting a status", %{conn: conn} do
@@ -144,7 +147,7 @@ defmodule Pleroma.Web.MastodonAPI.MastodonAPIControllerTest do
       other_user = insert(:user)
 
       {:ok, activity} = TwitterAPI.create_status(other_user, %{"status" => "hi @#{user.nickname}"})
-      {:ok, [notification]} = Notification.create_notifications(activity)
+      {:ok, [_notification]} = Notification.create_notifications(activity)
 
       conn = conn
       |> assign(:user, user)
@@ -190,7 +193,7 @@ defmodule Pleroma.Web.MastodonAPI.MastodonAPIControllerTest do
       other_user = insert(:user)
 
       {:ok, activity} = TwitterAPI.create_status(other_user, %{"status" => "hi @#{user.nickname}"})
-      {:ok, [notification]} = Notification.create_notifications(activity)
+      {:ok, [_notification]} = Notification.create_notifications(activity)
 
       conn = conn
       |> assign(:user, user)
@@ -338,15 +341,16 @@ defmodule Pleroma.Web.MastodonAPI.MastodonAPIControllerTest do
   test "hashtag timeline", %{conn: conn} do
     following = insert(:user)
 
-    {:ok, activity} = TwitterAPI.create_status(following, %{"status" => "test #2hu"})
-    {:ok, [_activity]} = OStatus.fetch_activity_from_url("https://shitposter.club/notice/2827873")
-
-    conn = conn
-    |> get("/api/v1/timelines/tag/2hu")
+    capture_log fn ->
+      {:ok, activity} = TwitterAPI.create_status(following, %{"status" => "test #2hu"})
+      {:ok, [_activity]} = OStatus.fetch_activity_from_url("https://shitposter.club/notice/2827873")
+      conn = conn
+      |> get("/api/v1/timelines/tag/2hu")
 
-    assert [%{"id" => id}] = json_response(conn, 200)
+      assert [%{"id" => id}] = json_response(conn, 200)
 
-    assert id == to_string(activity.id)
+      assert id == to_string(activity.id)
+    end
   end
 
   test "getting followers", %{conn: conn} do
@@ -381,14 +385,14 @@ defmodule Pleroma.Web.MastodonAPI.MastodonAPIControllerTest do
     |> assign(:user, user)
     |> post("/api/v1/accounts/#{other_user.id}/follow")
 
-    assert %{"id" => id, "following" => true} = json_response(conn, 200)
+    assert %{"id" => _id, "following" => true} = json_response(conn, 200)
 
     user = Repo.get(User, user.id)
     conn = build_conn()
     |> assign(:user, user)
     |> post("/api/v1/accounts/#{other_user.id}/unfollow")
 
-    assert %{"id" => id, "following" => false} = json_response(conn, 200)
+    assert %{"id" => _id, "following" => false} = json_response(conn, 200)
 
     user = Repo.get(User, user.id)
     conn = build_conn()
@@ -407,14 +411,14 @@ defmodule Pleroma.Web.MastodonAPI.MastodonAPIControllerTest do
     |> assign(:user, user)
     |> post("/api/v1/accounts/#{other_user.id}/block")
 
-    assert %{"id" => id, "blocking" => true} = json_response(conn, 200)
+    assert %{"id" => _id, "blocking" => true} = json_response(conn, 200)
 
     user = Repo.get(User, user.id)
     conn = build_conn()
     |> assign(:user, user)
     |> post("/api/v1/accounts/#{other_user.id}/unblock")
 
-    assert %{"id" => id, "blocking" => false} = json_response(conn, 200)
+    assert %{"id" => _id, "blocking" => false} = json_response(conn, 200)
   end
 
   test "getting a list of blocks", %{conn: conn} do
@@ -461,7 +465,7 @@ defmodule Pleroma.Web.MastodonAPI.MastodonAPIControllerTest do
 
   test "account search", %{conn: conn} do
     user = insert(:user)
-    user_two = insert(:user, %{nickname: "shp@shitposter.club"})
+    _user_two = insert(:user, %{nickname: "shp@shitposter.club"})
     user_three = insert(:user, %{nickname: "shp@heldscal.la", name: "I love 2hu"})
 
     conn = conn
@@ -495,12 +499,14 @@ defmodule Pleroma.Web.MastodonAPI.MastodonAPIControllerTest do
   end
 
   test "search fetches remote statuses", %{conn: conn} do
-    conn = conn
-    |> get("/api/v1/search", %{"q" => "https://shitposter.club/notice/2827873"})
-    assert results = json_response(conn, 200)
+    capture_log fn ->
+      conn = conn
+      |> get("/api/v1/search", %{"q" => "https://shitposter.club/notice/2827873"})
+      assert results = json_response(conn, 200)
 
-    [status] = results["statuses"]
-    assert status["uri"] == "tag:shitposter.club,2017-05-05:noticeId=2827873:objectType=comment"
+      [status] = results["statuses"]
+      assert status["uri"] == "tag:shitposter.club,2017-05-05:noticeId=2827873:objectType=comment"
+    end
   end
 
   test "search fetches remote accounts", %{conn: conn} do
index ed7fdc4322f1e25f881e175edb5ad057593a6068..0a66b819a9b32f1b550b31012ffdaa2ece044d1f 100644 (file)
@@ -96,7 +96,7 @@ defmodule Pleroma.Web.OStatus.ActivityRepresenterTest do
     user = insert(:user)
     object = Object.get_cached_by_ap_id(note.data["object"]["id"])
 
-    {:ok, announce, object} = ActivityPub.announce(user, object)
+    {:ok, announce, _object} = ActivityPub.announce(user, object)
 
     announce = Repo.get(Activity, announce.id)
 
index 74c6a5994711763cd7cbe86d218ff38450f8acaa..43d04dea269d468fff66524c2dfb6400342da891 100644 (file)
@@ -12,7 +12,7 @@ defmodule Pleroma.Web.OStatus.DeleteHandlingTest do
       user = insert(:user)
       object = Object.get_by_ap_id(note.data["object"]["id"])
 
-      {:ok, like, object} = Pleroma.Web.ActivityPub.ActivityPub.like(user, object)
+      {:ok, like, _object} = Pleroma.Web.ActivityPub.ActivityPub.like(user, object)
 
       incoming = File.read!("test/fixtures/delete.xml")
       |> String.replace("tag:mastodon.sdf.org,2017-06-10:objectId=310513:objectType=Status", note.data["object"]["id"])
index 9c945e35b9735a67bd83b040e065c9c0d22b94ee..0c75ce06f780f20f41338f285d932b21aeccce84 100644 (file)
@@ -84,10 +84,3 @@ defmodule Pleroma.Web.OStatus.OStatusControllerTest do
     assert response(conn, 200)
   end
 end
-
-defmodule Pleroma.Web.OStatusMock do
-  import Pleroma.Factory
-  def handle_incoming(_doc) do
-    insert(:note_activity)
-  end
-end
index b27f8cb552cda1fa4ce85d58c8a85069f300da0c..1f10ea4d26105056f3310f207d3acf31cda48692 100644 (file)
@@ -4,6 +4,7 @@ defmodule Pleroma.Web.OStatusTest do
   alias Pleroma.Web.XML
   alias Pleroma.{Object, Repo, User, Activity}
   import Pleroma.Factory
+  import ExUnit.CaptureLog
 
   test "don't insert create notes twice" do
     incoming = File.read!("test/fixtures/incoming_note_activity.xml")
@@ -91,7 +92,7 @@ defmodule Pleroma.Web.OStatusTest do
 
   test "handle incoming retweets - Mastodon, with CW" do
     incoming = File.read!("test/fixtures/cw_retweet.xml")
-    {:ok, [[activity, retweeted_activity]]} = OStatus.handle_incoming(incoming)
+    {:ok, [[_activity, retweeted_activity]]} = OStatus.handle_incoming(incoming)
 
     assert retweeted_activity.data["object"]["summary"] == "Hey."
   end
@@ -168,19 +169,21 @@ defmodule Pleroma.Web.OStatusTest do
   end
 
   test "handle incoming favorites - GS, websub" do
-    incoming = File.read!("test/fixtures/favorite.xml")
-    {:ok, [[activity, favorited_activity]]} = OStatus.handle_incoming(incoming)
-
-    assert activity.data["type"] == "Like"
-    assert activity.data["actor"] == "https://social.heldscal.la/user/23211"
-    assert activity.data["object"] == favorited_activity.data["object"]["id"]
-    assert activity.data["id"] == "tag:social.heldscal.la,2017-05-05:fave:23211:comment:2061643:2017-05-05T09:12:50+00:00"
-
-    refute activity.local
-    assert favorited_activity.data["type"] == "Create"
-    assert favorited_activity.data["actor"] == "https://shitposter.club/user/1"
-    assert favorited_activity.data["object"]["id"] == "tag:shitposter.club,2017-05-05:noticeId=2827873:objectType=comment"
-    refute favorited_activity.local
+    capture_log fn ->
+      incoming = File.read!("test/fixtures/favorite.xml")
+      {:ok, [[activity, favorited_activity]]} = OStatus.handle_incoming(incoming)
+
+      assert activity.data["type"] == "Like"
+      assert activity.data["actor"] == "https://social.heldscal.la/user/23211"
+      assert activity.data["object"] == favorited_activity.data["object"]["id"]
+      assert activity.data["id"] == "tag:social.heldscal.la,2017-05-05:fave:23211:comment:2061643:2017-05-05T09:12:50+00:00"
+
+      refute activity.local
+      assert favorited_activity.data["type"] == "Create"
+      assert favorited_activity.data["actor"] == "https://shitposter.club/user/1"
+      assert favorited_activity.data["object"]["id"] == "tag:shitposter.club,2017-05-05:noticeId=2827873:objectType=comment"
+      refute favorited_activity.local
+    end
   end
 
   test "handle conversation references" do
@@ -335,11 +338,13 @@ defmodule Pleroma.Web.OStatusTest do
 
   describe "fetching a status by it's HTML url" do
     test "it builds a missing status from an html url" do
-      url = "https://shitposter.club/notice/2827873"
-      {:ok, [activity] } = OStatus.fetch_activity_from_url(url)
+      capture_log fn ->
+        url = "https://shitposter.club/notice/2827873"
+        {:ok, [activity] } = OStatus.fetch_activity_from_url(url)
 
-      assert activity.data["actor"] == "https://shitposter.club/user/1"
-      assert activity.data["object"]["id"] == "tag:shitposter.club,2017-05-05:noticeId=2827873:objectType=comment"
+        assert activity.data["actor"] == "https://shitposter.club/user/1"
+        assert activity.data["object"]["id"] == "tag:shitposter.club,2017-05-05:noticeId=2827873:objectType=comment"
+      end
     end
 
     test "it works for atom notes, too" do
index f2b729da9b3651d0c2ca29a71800da601c8249be..a1ba45e35ea10544379aa141a09f2e21b17083c1 100644 (file)
@@ -35,7 +35,7 @@ defmodule Pleroma.Web.Salmon.SalmonTest do
   end
 
   test "it decodes a friendica public key" do
-    key = Salmon.decode_key(@magickey_friendica)
+    _key = Salmon.decode_key(@magickey_friendica)
   end
 
   test "returns a public and private key from a pem" do
@@ -90,7 +90,7 @@ defmodule Pleroma.Web.Salmon.SalmonTest do
     user = Repo.get_by(User, ap_id: activity.data["actor"])
     {:ok, user} = Pleroma.Web.WebFinger.ensure_keys_present(user)
 
-    poster = fn (url, data, headers, options) ->
+    poster = fn (url, _data, _headers, _options) ->
       assert url == "http://example.org/salmon"
     end
     Salmon.publish(user, activity, poster)
index 7e2ea630ca185f8bee57df0ad280b3266c8802a0..385bf8e841b0e35425188359639fcbfa2eb36a57 100644 (file)
@@ -147,7 +147,7 @@ defmodule Pleroma.Web.TwitterAPI.Representers.ActivityRepresenterTest do
     follower = insert(:user)
     followed = insert(:user)
 
-    {:ok, follow} = ActivityPub.follow(follower, followed)
+    {:ok, _follow} = ActivityPub.follow(follower, followed)
     {:ok, unfollow} = ActivityPub.unfollow(follower, followed)
 
     map = ActivityRepresenter.to_map(unfollow, %{user: follower})
index 78d4fdcb3505787411d20be19f06e0b83c06ce8c..f02e2c59eb7161d98f38d580e33a11f8bcb7ae65 100644 (file)
@@ -504,7 +504,7 @@ defmodule Pleroma.Web.TwitterAPI.ControllerTest do
       user = insert(:user)
       follower_one = insert(:user)
       follower_two = insert(:user)
-      not_follower = insert(:user)
+      _not_follower = insert(:user)
 
       {:ok, follower_one} = User.follow(follower_one, user)
       {:ok, follower_two} = User.follow(follower_two, user)
@@ -522,7 +522,7 @@ defmodule Pleroma.Web.TwitterAPI.ControllerTest do
       user = insert(:user)
       followed_one = insert(:user)
       followed_two = insert(:user)
-      not_followed = insert(:user)
+      _not_followed = insert(:user)
 
       {:ok, user} = User.follow(user, followed_one)
       {:ok, user} = User.follow(user, followed_two)
@@ -538,7 +538,7 @@ defmodule Pleroma.Web.TwitterAPI.ControllerTest do
       user = insert(:user)
       followed_one = insert(:user)
       followed_two = insert(:user)
-      not_followed = insert(:user)
+      _not_followed = insert(:user)
 
       {:ok, user} = User.follow(user, followed_one)
       {:ok, user} = User.follow(user, followed_two)
@@ -553,7 +553,7 @@ defmodule Pleroma.Web.TwitterAPI.ControllerTest do
       user = insert(:user)
       followed_one = insert(:user)
       followed_two = insert(:user)
-      not_followed = insert(:user)
+      _not_followed = insert(:user)
 
       {:ok, user} = User.follow(user, followed_one)
       {:ok, user} = User.follow(user, followed_two)
@@ -570,7 +570,7 @@ defmodule Pleroma.Web.TwitterAPI.ControllerTest do
       user = insert(:user)
       followed_one = insert(:user)
       followed_two = insert(:user)
-      not_followed = insert(:user)
+      _not_followed = insert(:user)
 
       {:ok, user} = User.follow(user, followed_one)
       {:ok, user} = User.follow(user, followed_two)
index ac62880d5244ad2b6f85e9b0317921cb233feb60..4aec995755008ea0b6c1c0a3994c1ec99e9232bf 100644 (file)
@@ -247,7 +247,7 @@ defmodule Pleroma.Web.TwitterAPI.TwitterAPITest do
     user = insert(:user)
     User.block(user, unblocked)
 
-    {:ok, user, unblocked} = TwitterAPI.unblock(user, %{"user_id" => unblocked.id})
+    {:ok, user, _unblocked} = TwitterAPI.unblock(user, %{"user_id" => unblocked.id})
     assert user.info["blocks"] == []
   end
 
@@ -256,7 +256,7 @@ defmodule Pleroma.Web.TwitterAPI.TwitterAPITest do
     user = insert(:user)
     User.block(user, unblocked)
 
-    {:ok, user, unblocked} = TwitterAPI.unblock(user, %{"screen_name" => unblocked.nickname})
+    {:ok, user, _unblocked} = TwitterAPI.unblock(user, %{"screen_name" => unblocked.nickname})
     assert user.info["blocks"] == []
   end
 
index d5d2f0adc87ba753c7dd2e0fcf8c251c32d4db6e..a687020f0138377e41ad41a65865d022c3f3f260 100644 (file)
@@ -130,7 +130,7 @@ defmodule Pleroma.Web.TwitterAPI.UserViewTest do
     assert represented == UserView.render("show.json", %{user: follower, for: user})
   end
 
-  test "A blocked user for the blocker", %{user: user} do
+  test "A blocked user for the blocker" do
     user = insert(:user)
     blocker = insert(:user)
     User.block(blocker, user)
index 38640b6d3029cb1bf41febe66413c700b807eeb1..ccca737f0a74a04509b74ae109f15fbefe5a088a 100644 (file)
@@ -42,8 +42,7 @@ defmodule Pleroma.Web.WebFingerTest do
     test "it works for friendica" do
       user = "lain@squeet.me"
 
-      {:ok, data} = WebFinger.finger(user)
-
+      {:ok, _data} = WebFinger.finger(user)
     end
 
     test "it gets the xrd endpoint" do
index 0aa0fdff742ce4c7c5015049621d89ceda215854..f6b86eca08da4535f32a1a0521b6d1b32c4e8908 100644 (file)
@@ -74,10 +74,3 @@ defmodule Pleroma.Web.Websub.WebsubControllerTest do
     assert length(Repo.all(Activity)) == 0
   end
 end
-
-defmodule Pleroma.Web.OStatusMock do
-  import Pleroma.Factory
-  def handle_incoming(_doc) do
-    insert(:note_activity)
-  end
-end
index 6b2c612addcc93c74f7b809ab92aa17b6113114a..566ce7fa5a4b9b454a69ead753947ff5f3bbabb7 100644 (file)
@@ -174,7 +174,7 @@ defmodule Pleroma.Web.WebsubTest do
     signed = Websub.sign("secret", "text")
     assert signed == "B8392C23690CCF871F37EC270BE1582DEC57A503" |> String.downcase
 
-    signed = Websub.sign("secret", [["て"], ['す']])
+    _signed = Websub.sign("secret", [["て"], ['す']])
   end
 
   describe "renewing subscriptions" do
@@ -184,7 +184,7 @@ defmodule Pleroma.Web.WebsubTest do
       still_good = insert(:websub_client_subscription, %{valid_until: NaiveDateTime.add(now, 2 * day), topic: "http://example.org/still_good", state: "accepted"})
       needs_refresh = insert(:websub_client_subscription, %{valid_until: NaiveDateTime.add(now, day - 100), topic: "http://example.org/needs_refresh", state: "accepted"})
 
-      refresh = Websub.refresh_subscriptions()
+      _refresh = Websub.refresh_subscriptions()
 
       assert still_good == Repo.get(WebsubClientSubscription, still_good.id)
       refute needs_refresh == Repo.get(WebsubClientSubscription, needs_refresh.id)