From d91bc5ec666960947b51065390602e928782bac1 Mon Sep 17 00:00:00 2001 From: Diogo Peralta Cordeiro Date: Fri, 11 Mar 2022 16:52:48 +0000 Subject: [PATCH] wip2 --- plugins/ActivityPub/Util/Explorer.php | 1 + plugins/ActivityPub/Util/Model/Actor.php | 2 +- .../ActivityPub/tests/ActivityPubTestCase.php | 35 ++++++++++ .../{GroupTest.php => GSGroupTest.php} | 5 +- .../tests/Objects/GSPersonTest.php | 56 ++++++++++++++++ .../ActivityPub/tests/Objects/PersonTest.php | 64 ------------------- 6 files changed, 96 insertions(+), 67 deletions(-) create mode 100644 plugins/ActivityPub/tests/ActivityPubTestCase.php rename plugins/ActivityPub/tests/Objects/{GroupTest.php => GSGroupTest.php} (95%) create mode 100644 plugins/ActivityPub/tests/Objects/GSPersonTest.php delete mode 100644 plugins/ActivityPub/tests/Objects/PersonTest.php diff --git a/plugins/ActivityPub/Util/Explorer.php b/plugins/ActivityPub/Util/Explorer.php index 410e43e8c8..df23999966 100644 --- a/plugins/ActivityPub/Util/Explorer.php +++ b/plugins/ActivityPub/Util/Explorer.php @@ -185,6 +185,7 @@ class Explorer // Try standard ActivityPub route // Is this a known filthy little mudblood? $aprofile = DB::findOneBy(ActivitypubActor::class, ['uri' => $uri], return_null: true); + //dd($aprofile, DB::sql('select * from activitypub_actor;')); if (!\is_null($aprofile)) { Log::debug('ActivityPub Explorer: Found a known ActivityPub Actor for ' . $uri); $this->discovered_actors[] = $aprofile->getActor(); diff --git a/plugins/ActivityPub/Util/Model/Actor.php b/plugins/ActivityPub/Util/Model/Actor.php index 172f9ca5e9..d897d5f93f 100644 --- a/plugins/ActivityPub/Util/Model/Actor.php +++ b/plugins/ActivityPub/Util/Model/Actor.php @@ -187,7 +187,7 @@ class Actor extends Model } else { // Delete existing avatar if any try { - $avatar = DB::findOneBy('avatar', ['actor_id' => $actor->getId()]); + $avatar = DB::findOneBy(\Component\Avatar\Entity\Avatar::class, ['actor_id' => $actor->getId()]); $avatar->delete(); Event::handle('AvatarUpdate', [$actor->getId()]); } catch (Exception) { diff --git a/plugins/ActivityPub/tests/ActivityPubTestCase.php b/plugins/ActivityPub/tests/ActivityPubTestCase.php new file mode 100644 index 0000000000..faf86bb7f7 --- /dev/null +++ b/plugins/ActivityPub/tests/ActivityPubTestCase.php @@ -0,0 +1,35 @@ +. + +// }}} + +namespace Plugin\ActivityPub\tests\Objects; + +use Plugin\ActivityPub\tests\ActivityPubTestCase; + +class GSPersonTest extends ActivityPubTestCase +{ +// public function testPersonFromJson() +// { +// static::bootKernel(); +// static::loadFixtures(); +// +// $person = Explorer::getOneFromUri('https://testv3.gnusocial.rocks/actor/42', false); +// $ap_person = ActivitypubActor::getByPK(['actor_id' => $person->getId()]); +// static::assertSame('https://testv3.gnusocial.rocks/actor/42/inbox.json', $ap_person->getInboxUri()); +// static::assertSame('https://testv3.gnusocial.rocks/inbox.json', $ap_person->getInboxSharedUri()); +// $person = $ap_person->getActor(); +// static::assertSame('https://testv3.gnusocial.rocks/actor/42', $person->getUri()); +// static::assertSame(\App\Entity\Actor::PERSON, $person->getType()); +// static::assertSame('diogo', $person->getNickname()); +// static::assertSame('Diogo Cordeiro', $person->getFullname()); +// $public_key = ActivityPubRsa::getByActor($person)->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); +// } + + public function testPersonToJson() + { + static::loadFixtures(); + + //$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); + } +} diff --git a/plugins/ActivityPub/tests/Objects/PersonTest.php b/plugins/ActivityPub/tests/Objects/PersonTest.php deleted file mode 100644 index 8f93d2b980..0000000000 --- a/plugins/ActivityPub/tests/Objects/PersonTest.php +++ /dev/null @@ -1,64 +0,0 @@ -. - -// }}} - -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); - } -}