user_url = $authordata->user_url; $post = \wp_insert_post( array( 'post_author' => 1, 'post_content' => 'test', ) ); $this->post_permalink = \get_permalink( $post ); \add_filter( 'pre_get_remote_metadata_by_actor', array( '\Test_Inbox', 'get_remote_metadata_by_actor' ), 10, 2); } public function get_remote_metadata_by_actor( $value, $actor ) { return array( "name" => "Example User", "icon" => array( "url" => "https://example.com/icon", ), ); } public function test_convert_object_to_comment_data_basic() { $inbox = new \Activitypub\Rest\Inbox(); $object = array( "actor" => $this->user_url, "to" => [ $this->user_url ], "cc" => [ "https://www.w3.org/ns/activitystreams#Public" ], "object" => array( "id" => "123", "url" => "https://example.com/example", "inReplyTo" => $this->post_permalink, "content" => "example", ), ); $converted = $inbox->convert_object_to_comment_data($object); $this->assertGreaterThan(1, $converted["comment_post_ID"]); $this->assertEquals($converted["comment_author"], "Example User"); $this->assertEquals($converted["comment_author_url"], "http://example.org"); $this->assertEquals($converted["comment_content"], "example"); $this->assertEquals($converted["comment_type"], ""); $this->assertEquals($converted["comment_author_email"], ""); $this->assertEquals($converted["comment_parent"], 0); $this->assertArrayHasKey("comment_meta", $converted); $this->assertEquals($converted["comment_meta"]["source_id"], "http://123"); $this->assertEquals($converted["comment_meta"]["source_url"], "https://example.com/example"); $this->assertEquals($converted["comment_meta"]["avatar_url"], "https://example.com/icon"); $this->assertEquals($converted["comment_meta"]["protocol"], "activitypub"); } public function test_convert_object_to_comment_data_non_public_rejected() { $inbox = new \Activitypub\Rest\Inbox(); $object = array( "to" => ["https://example.com/profile/test"], "cc" => [], ); $converted = $inbox->convert_object_to_comment_data($object); $this->assertFalse($converted); } }