. // }}} namespace Plugin\ActivityPub\tests\Objects; use App\Core\DB\DB; use App\Util\GNUsocialTestCase; use Jchook\AssertThrows\AssertThrows; use Plugin\ActivityPub\Entity\ActivitypubActor; use Plugin\ActivityPub\Entity\ActivitypubRsa; use Plugin\ActivityPub\Util\Explorer; use Plugin\ActivityPub\Util\Model\Actor; class PersonTest extends GNUsocialTestCase { use AssertThrows; public string $fixtures_path = INSTALLDIR . '/plugins/ActivityPub/tests/fixtures/gnusocial/'; public function testPersonFromJson() { static::bootKernel(); $person = Actor::fromJson(file_get_contents($this->fixtures_path . 'objects/person.jsonld')); static::assertSame('https://testv3.gnusocial.rocks/actor/42/inbox.json', $person->getInboxUri()); static::assertSame('https://testv3.gnusocial.rocks/inbox.json', $person->getInboxSharedUri()); DB::flush(); $person_actor = $person->getActor(); static::assertSame('https://testv3.gnusocial.rocks/actor/42', $person_actor->getUri()); static::assertSame(\App\Entity\Actor::PERSON, $person_actor->getType()); static::assertSame('diogo', $person_actor->getNickname()); static::assertSame('Diogo Cordeiro', $person_actor->getFullname()); $public_key = ActivityPubRsa::getByActor($person_actor)->getPublicKey(); static::assertSame("-----BEGIN PUBLIC KEY-----\nMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEArBB+3ldwA2qC1hQTtIho\n9KYhvvMlPdydn8dA6OlyIQ3Jy57ADt2e144jDSY5RQ3esmzWm2QqsI8rAsZsAraO\nl2+855y7Fw35WH4GBc7PJ6MLAEvMk1YWeS/rttXaDzh2i4n/AXkMuxDjS1IBqw2w\nn0qTz2sdGcBJ+mop6AB9Qt2lseBc5IW040jSnfLEDDIaYgoc5m2yRsjGKItOh3BG\njGHDb6JB9FySToSMGIt0/tE5k06wfvAxtkxX5dfGeKtciBpC2MGT169iyMIOM8DN\nFhSl8mowtV1NJQ7nN692USrmNvSJjqe9ugPCDPPvwQ5A6A61Qrgpz5pav/o5Sz69\nzQIDAQAB\n-----END PUBLIC KEY-----\n", $public_key); dd(ActivitypubActor::getByPK(['uri' => 'https://testv3.gnusocial.rocks/actor/42'])); } public function testPersonToJson() { //static::bootKernel(); //$actor = Explorer::getOneFromUri('https://testv3.gnusocial.rocks/actor/42', false); //$actual = Actor::toJson($actor); //static::assertSame(file_get_contents($this->fixtures_path . 'objects/person.jsonld'), $actual); } }