mirror of
https://github.com/pixelfed/pixelfed.git
synced 2024-11-14 10:34:31 +00:00
Add new tests
This commit is contained in:
parent
8c860dc2ed
commit
84fba79f0e
2 changed files with 113 additions and 0 deletions
86
tests/Unit/APAnnounceStrategyTest.php
Normal file
86
tests/Unit/APAnnounceStrategyTest.php
Normal file
|
@ -0,0 +1,86 @@
|
||||||
|
<?php
|
||||||
|
|
||||||
|
namespace Tests\Unit;
|
||||||
|
|
||||||
|
use Tests\TestCase;
|
||||||
|
use Illuminate\Foundation\Testing\WithFaker;
|
||||||
|
use Illuminate\Foundation\Testing\RefreshDatabase;
|
||||||
|
use App\Util\ActivityPub\Helpers;
|
||||||
|
|
||||||
|
class APAnnounceStrategyTest extends TestCase
|
||||||
|
{
|
||||||
|
public function setUp(): void
|
||||||
|
{
|
||||||
|
parent::setUp();
|
||||||
|
|
||||||
|
$this->invalid = [
|
||||||
|
'id' => 'test',
|
||||||
|
'type' => 'Announce',
|
||||||
|
'actor' => null,
|
||||||
|
'published' => '',
|
||||||
|
'to' => ['test'],
|
||||||
|
'cc' => 'test',
|
||||||
|
'object' => 'test'
|
||||||
|
];
|
||||||
|
|
||||||
|
$this->mastodon = json_decode('{"@context":["https://www.w3.org/ns/activitystreams","https://w3id.org/security/v1",{"manuallyApprovesFollowers":"as:manuallyApprovesFollowers","sensitive":"as:sensitive","movedTo":{"@id":"as:movedTo","@type":"@id"},"Hashtag":"as:Hashtag","ostatus":"http://ostatus.org#","atomUri":"ostatus:atomUri","inReplyToAtomUri":"ostatus:inReplyToAtomUri","conversation":"ostatus:conversation","toot":"http://joinmastodon.org/ns#","Emoji":"toot:Emoji","focalPoint":{"@container":"@list","@id":"toot:focalPoint"},"featured":{"@id":"toot:featured","@type":"@id"},"schema":"http://schema.org#","PropertyValue":"schema:PropertyValue","value":"schema:value"}],"id":"https://mastodon.social/users/dansup/statuses/100784657480587830/activity","type":"Announce","actor":"https://mastodon.social/users/dansup","published":"2018-09-25T05:03:49Z","to":["https://www.w3.org/ns/activitystreams#Public"],"cc":["https://pleroma.site/users/pixeldev","https://mastodon.social/users/dansup/followers"],"object":"https://pleroma.site/objects/68b5c876-f52b-4819-8d81-de6839d73fbc","atomUri":"https://mastodon.social/users/dansup/statuses/100784657480587830/activity"}', true);
|
||||||
|
|
||||||
|
$this->pleroma = json_decode('{"@context":"https://www.w3.org/ns/activitystreams","actor":"https://pleroma.site/users/pixeldev","cc":["https://www.w3.org/ns/activitystreams#Public"],"context":"tag:mastodon.social,2018-10-14:objectId=59146153:objectType=Conversation","context_id":12325955,"id":"https://pleroma.site/activities/db2273eb-d504-4e3a-8f74-c343d069755a","object":"https://mastodon.social/users/dansup/statuses/100891324792793720","published":"2018-10-14T01:22:18.554227Z","to":["https://pleroma.site/users/pixeldev/followers","https://mastodon.social/users/dansup"],"type":"Announce"}', true);
|
||||||
|
}
|
||||||
|
|
||||||
|
public function testBasicValidation()
|
||||||
|
{
|
||||||
|
$this->assertFalse(Helpers::validateObject($this->invalid));
|
||||||
|
}
|
||||||
|
|
||||||
|
public function testMastodonValidation()
|
||||||
|
{
|
||||||
|
$this->assertTrue(Helpers::validateObject($this->mastodon));
|
||||||
|
}
|
||||||
|
|
||||||
|
public function testPleromaValidation()
|
||||||
|
{
|
||||||
|
$this->assertTrue(Helpers::validateObject($this->pleroma));
|
||||||
|
}
|
||||||
|
|
||||||
|
public function testMastodonAudienceScope()
|
||||||
|
{
|
||||||
|
$scope = Helpers::normalizeAudience($this->mastodon, false);
|
||||||
|
$actual = [
|
||||||
|
"to" => [],
|
||||||
|
"cc" => [
|
||||||
|
"https://pleroma.site/users/pixeldev",
|
||||||
|
"https://mastodon.social/users/dansup/followers",
|
||||||
|
],
|
||||||
|
"scope" => "public",
|
||||||
|
];
|
||||||
|
|
||||||
|
$this->assertEquals($scope, $actual);
|
||||||
|
}
|
||||||
|
|
||||||
|
public function testPleromaAudienceScope()
|
||||||
|
{
|
||||||
|
$scope = Helpers::normalizeAudience($this->pleroma, false);
|
||||||
|
$actual = [
|
||||||
|
"to" => [
|
||||||
|
"https://pleroma.site/users/pixeldev/followers",
|
||||||
|
"https://mastodon.social/users/dansup",
|
||||||
|
],
|
||||||
|
"cc" => [],
|
||||||
|
"scope" => "unlisted",
|
||||||
|
];
|
||||||
|
|
||||||
|
$this->assertEquals($scope, $actual);
|
||||||
|
}
|
||||||
|
|
||||||
|
public function testInvalidAudienceScope()
|
||||||
|
{
|
||||||
|
$scope = Helpers::normalizeAudience($this->invalid, false);
|
||||||
|
$actual = [
|
||||||
|
'to' => [],
|
||||||
|
'cc' => [],
|
||||||
|
'scope' => 'private'
|
||||||
|
];
|
||||||
|
$this->assertEquals($scope, $actual);
|
||||||
|
}
|
||||||
|
}
|
27
tests/Unit/ActivityPub/RemoteFollowTest.php
Normal file
27
tests/Unit/ActivityPub/RemoteFollowTest.php
Normal file
|
@ -0,0 +1,27 @@
|
||||||
|
<?php
|
||||||
|
|
||||||
|
namespace Tests\Unit;
|
||||||
|
|
||||||
|
use App\Util\ActivityPub\Helpers;
|
||||||
|
use Tests\TestCase;
|
||||||
|
use Illuminate\Foundation\Testing\WithFaker;
|
||||||
|
use Illuminate\Foundation\Testing\RefreshDatabase;
|
||||||
|
|
||||||
|
class RemoteFollowTest extends TestCase
|
||||||
|
{
|
||||||
|
public function setUp(): void
|
||||||
|
{
|
||||||
|
parent::setUp();
|
||||||
|
|
||||||
|
$this->mastodon = '{"type":"Follow","signature":{"type":"RsaSignature2017","signatureValue":"Kn1/UkAQGJVaXBfWLAHcnwHg8YMAUqlEaBuYLazAG+pz5hqivsyrBmPV186Xzr+B4ZLExA9+SnOoNx/GOz4hBm0kAmukNSILAsUd84tcJ2yT9zc1RKtembK4WiwOw7li0+maeDN0HaB6t+6eTqsCWmtiZpprhXD8V1GGT8yG7X24fQ9oFGn+ng7lasbcCC0988Y1eGqNe7KryxcPuQz57YkDapvtONzk8gyLTkZMV4De93MyRHq6GVjQVIgtiYabQAxrX6Q8C+4P/jQoqdWJHEe+MY5JKyNaT/hMPt2Md1ok9fZQBGHlErk22/zy8bSN19GdG09HmIysBUHRYpBLig==","creator":"http://mastodon.example.org/users/admin#main-key","created":"2018-02-17T13:29:31Z"},"object":"http://localtesting.pleroma.lol/users/lain","nickname":"lain","id":"http://mastodon.example.org/users/admin#follows/2","actor":"http://mastodon.example.org/users/admin","@context":["https://www.w3.org/ns/activitystreams","https://w3id.org/security/v1",{"toot":"http://joinmastodon.org/ns#","sensitive":"as:sensitive","ostatus":"http://ostatus.org#","movedTo":"as:movedTo","manuallyApprovesFollowers":"as:manuallyApprovesFollowers","inReplyToAtomUri":"ostatus:inReplyToAtomUri","conversation":"ostatus:conversation","atomUri":"ostatus:atomUri","Hashtag":"as:Hashtag","Emoji":"toot:Emoji"}]}';
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
/** @test */
|
||||||
|
public function validateMastodonFollowObject()
|
||||||
|
{
|
||||||
|
$mastodon = json_decode($this->mastodon, true);
|
||||||
|
$mastodon = Helpers::validateObject($mastodon);
|
||||||
|
$this->assertTrue($mastodon);
|
||||||
|
}
|
||||||
|
}
|
Loading…
Reference in a new issue