. // }}} namespace Plugin\ActivityPub\Test\Objects; use App\Core\VisibilityScope; use App\Entity\Note; use App\Util\GNUsocialTestCase; use Plugin\ActivityPub\ActivityPub; use Plugin\ActivityPub\Entity\ActivitypubObject; use Plugin\ActivityPub\Util\Explorer; class GSObjectPageTest extends GNUsocialTestCase { public function testNoteFromJson() { self::bootKernel(); $actor_uri = 'https://instance.gnusocial.test/actor/42'; $object_uri = 'https://instance.gnusocial.test/object/note/1338'; $group_uri = 'https://instance.gnusocial.test/actor/21'; $page = ActivityPub::getObjectByUri($object_uri, try_online: false); static::assertInstanceOf(Note::class, $page); static::assertSame(Explorer::getOneFromUri($actor_uri)->getId(), $page->getActorId()); static::assertSame('text/markdown', $page->getContentType()); static::assertSame('This is an interesting page.', $page->getContent()); static::assertSame('

This is an interesting page.

', $page->getRendered()); static::assertSame('ActivityPub', $page->getSource()); static::assertNull($page->getReplyTo()); static::assertFalse($page->getIsLocal()); static::assertSame(VisibilityScope::EVERYWHERE, $page->getScope()); static::assertSame($object_uri, $page->getUrl()); static::assertSame('en', $page->getLanguageLocale()); static::assertSame('page', $page->getType()); static::assertSame('hello, world.', $page->getTitle()); $ap_object = ActivitypubObject::getByPK(['object_uri' => $object_uri]); static::assertSame(Note::schemaName(), $ap_object->getObjectType()); static::assertSame($object_uri, $ap_object->getObjectUri()); static::assertSame($page->getId(), $ap_object->getObjectId()); static::assertCount(1, $attT = $page->getAttentionTargets()); static::assertObjectEquals(Explorer::getOneFromUri($group_uri, try_online: false), $attT[0]); static::assertSame([], $page->getMentionTargets()); } }