瀏覽代碼

search indexing metadata respects discoverable flag

merge-requests/3010/head
stwf 3 年之前
父節點
當前提交
38b2db297b
共有 3 個文件被更改,包括 27 次插入7 次删除
  1. +3
    -4
      lib/pleroma/web/metadata/restrict_indexing.ex
  2. +17
    -2
      test/web/metadata/metadata_test.exs
  3. +7
    -1
      test/web/metadata/restrict_indexing_test.exs

+ 3
- 4
lib/pleroma/web/metadata/restrict_indexing.ex 查看文件

@@ -10,7 +10,9 @@ defmodule Pleroma.Web.Metadata.Providers.RestrictIndexing do
"""

@impl true
def build_tags(%{user: %{local: false}}) do
def build_tags(%{user: %{local: true, discoverable: true}}), do: []

def build_tags(_) do
[
{:meta,
[
@@ -19,7 +21,4 @@ defmodule Pleroma.Web.Metadata.Providers.RestrictIndexing do
], []}
]
end

@impl true
def build_tags(%{user: %{local: true}}), do: []
end

+ 17
- 2
test/web/metadata/metadata_test.exs 查看文件

@@ -18,17 +18,32 @@ defmodule Pleroma.Web.MetadataTest do
test "for local user" do
user = insert(:user)

assert Pleroma.Web.Metadata.build_tags(%{user: user}) =~
"<meta content=\"noindex, noarchive\" name=\"robots\">"
end

test "for local user set to discoverable" do
user = insert(:user, discoverable: true)

refute Pleroma.Web.Metadata.build_tags(%{user: user}) =~
"<meta content=\"noindex, noarchive\" name=\"robots\">"
end
end

describe "no metadata for private instances" do
test "for local user" do
test "for local user set to discoverable" do
clear_config([:instance, :public], false)
user = insert(:user, bio: "This is my secret fedi account bio")
user = insert(:user, bio: "This is my secret fedi account bio", discoverable: true)

assert "" = Pleroma.Web.Metadata.build_tags(%{user: user})
end

test "search exclusion metadata is included" do
clear_config([:instance, :public], false)
user = insert(:user, bio: "This is my secret fedi account bio")

assert "<meta content=\"noindex, noarchive\" name=\"robots\">" ==
Pleroma.Web.Metadata.build_tags(%{user: user})
end
end
end

+ 7
- 1
test/web/metadata/restrict_indexing_test.exs 查看文件

@@ -14,8 +14,14 @@ defmodule Pleroma.Web.Metadata.Providers.RestrictIndexingTest do

test "for local user" do
assert Pleroma.Web.Metadata.Providers.RestrictIndexing.build_tags(%{
user: %Pleroma.User{local: true}
user: %Pleroma.User{local: true, discoverable: true}
}) == []
end

test "for local user when discoverable is false" do
assert Pleroma.Web.Metadata.Providers.RestrictIndexing.build_tags(%{
user: %Pleroma.User{local: true, discoverable: false}
}) == [{:meta, [name: "robots", content: "noindex, noarchive"], []}]
end
end
end

Loading…
取消
儲存