Merge branch 'feat/client_app_details' into 'develop'
Support application field See merge request pleroma/pleroma!3311
This commit is contained in:
commit
e6a14e1cd1
11 changed files with 103 additions and 19 deletions
|
|
@ -202,7 +202,20 @@ defmodule Pleroma.Web.ActivityPub.TransmogrifierTest do
|
|||
test "it strips internal fields" do
|
||||
user = insert(:user)
|
||||
|
||||
{:ok, activity} = CommonAPI.post(user, %{status: "#2hu :firefox:"})
|
||||
{:ok, activity} =
|
||||
CommonAPI.post(user, %{
|
||||
status: "#2hu :firefox:",
|
||||
application: %{type: "Application", name: "TestClient", url: "https://pleroma.social"}
|
||||
})
|
||||
|
||||
# Ensure injected application data made it into the activity
|
||||
# as we don't have a Token to derive it from, otherwise it will
|
||||
# be nil and the test will pass
|
||||
assert %{
|
||||
type: "Application",
|
||||
name: "TestClient",
|
||||
url: "https://pleroma.social"
|
||||
} == activity.object.data["application"]
|
||||
|
||||
{:ok, modified} = Transmogrifier.prepare_outgoing(activity.data)
|
||||
|
||||
|
|
@ -213,6 +226,7 @@ defmodule Pleroma.Web.ActivityPub.TransmogrifierTest do
|
|||
assert is_nil(modified["object"]["announcements"])
|
||||
assert is_nil(modified["object"]["announcement_count"])
|
||||
assert is_nil(modified["object"]["context_id"])
|
||||
assert is_nil(modified["object"]["application"])
|
||||
end
|
||||
|
||||
test "it strips internal fields of article" do
|
||||
|
|
|
|||
|
|
@ -357,6 +357,50 @@ defmodule Pleroma.Web.MastodonAPI.StatusControllerTest do
|
|||
assert activity.data["to"] == [user2.ap_id]
|
||||
assert activity.data["cc"] == []
|
||||
end
|
||||
|
||||
test "discloses application metadata when enabled" do
|
||||
user = insert(:user, disclose_client: true)
|
||||
%{user: _user, token: token, conn: conn} = oauth_access(["write:statuses"], user: user)
|
||||
|
||||
%Pleroma.Web.OAuth.Token{
|
||||
app: %Pleroma.Web.OAuth.App{
|
||||
client_name: _app_name,
|
||||
website: _app_website
|
||||
}
|
||||
} = token
|
||||
|
||||
result =
|
||||
conn
|
||||
|> put_req_header("content-type", "application/json")
|
||||
|> post("/api/v1/statuses", %{
|
||||
"status" => "cofe is my copilot"
|
||||
})
|
||||
|
||||
assert %{
|
||||
"content" => "cofe is my copilot",
|
||||
"application" => %{
|
||||
"name" => app_name,
|
||||
"website" => app_website
|
||||
}
|
||||
} = json_response_and_validate_schema(result, 200)
|
||||
end
|
||||
|
||||
test "hides application metadata when disabled" do
|
||||
user = insert(:user, disclose_client: false)
|
||||
%{user: _user, token: _token, conn: conn} = oauth_access(["write:statuses"], user: user)
|
||||
|
||||
result =
|
||||
conn
|
||||
|> put_req_header("content-type", "application/json")
|
||||
|> post("/api/v1/statuses", %{
|
||||
"status" => "club mate is my wingman"
|
||||
})
|
||||
|
||||
assert %{
|
||||
"content" => "club mate is my wingman",
|
||||
"application" => nil
|
||||
} = json_response_and_validate_schema(result, 200)
|
||||
end
|
||||
end
|
||||
|
||||
describe "posting scheduled statuses" do
|
||||
|
|
|
|||
|
|
@ -266,10 +266,7 @@ defmodule Pleroma.Web.MastodonAPI.StatusViewTest do
|
|||
url: "http://localhost:4001/tag/#{object_data["tag"]}"
|
||||
}
|
||||
],
|
||||
application: %{
|
||||
name: "Web",
|
||||
website: nil
|
||||
},
|
||||
application: nil,
|
||||
language: nil,
|
||||
emojis: [
|
||||
%{
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue