forked from GNUsocial/gnu-social
[TESTS] Added unit tests
This commit is contained in:
@@ -18,12 +18,13 @@
|
||||
* ActivityPub implementation for GNU social
|
||||
*
|
||||
* @package GNUsocial
|
||||
*
|
||||
* @author Diogo Cordeiro <diogo@fc.up.pt>
|
||||
* @copyright 2018-2019 Free Software Foundation, Inc http://www.fsf.org
|
||||
* @license https://www.gnu.org/licenses/agpl.html GNU AGPL v3 or later
|
||||
* @link http://www.gnu.org/software/social/
|
||||
*
|
||||
* @see http://www.gnu.org/software/social/
|
||||
*/
|
||||
|
||||
defined('GNUSOCIAL') || die();
|
||||
|
||||
/**
|
||||
@@ -31,6 +32,7 @@ defined('GNUSOCIAL') || die();
|
||||
*
|
||||
* @category Plugin
|
||||
* @package GNUsocial
|
||||
*
|
||||
* @author Diogo Cordeiro <diogo@fc.up.pt>
|
||||
* @license https://www.gnu.org/licenses/agpl.html GNU AGPL v3 or later
|
||||
*/
|
||||
@@ -39,35 +41,35 @@ class Activitypub_delete
|
||||
/**
|
||||
* Generates an ActivityStreams 2.0 representation of a Delete
|
||||
*
|
||||
* @param Notice $object
|
||||
* @param string $actor actor URI
|
||||
* @param string $object object URI
|
||||
*
|
||||
* @return array pretty array to be used in a response
|
||||
*
|
||||
* @author Diogo Cordeiro <diogo@fc.up.pt>
|
||||
*/
|
||||
public static function delete_to_array($object): array
|
||||
{
|
||||
if ($object instanceof Notice) {
|
||||
return Activitypub_notice::notice_to_array($object);
|
||||
} else if ($object instanceof Profile) {
|
||||
$actor_uri = $object->getUri();
|
||||
return [
|
||||
'@context' => 'https://www.w3.org/ns/activitystreams',
|
||||
'id' => $actor_uri . '#delete',
|
||||
'type' => 'Delete',
|
||||
'to' => ['https://www.w3.org/ns/activitystreams#Public'],
|
||||
'actor' => $actor_uri,
|
||||
'object' => $object
|
||||
];
|
||||
} else {
|
||||
throw new InvalidArgumentException();
|
||||
}
|
||||
$res = [
|
||||
'@context' => 'https://www.w3.org/ns/activitystreams',
|
||||
'id' => $object . '/delete',
|
||||
'type' => 'Delete',
|
||||
'to' => ['https://www.w3.org/ns/activitystreams#Public'],
|
||||
'actor' => $actor,
|
||||
'object' => $object,
|
||||
];
|
||||
return $res;
|
||||
}
|
||||
|
||||
/**
|
||||
* Verifies if a given object is acceptable for a Delete Activity.
|
||||
*
|
||||
* @param array|string $object
|
||||
* @return bool
|
||||
*
|
||||
* @throws Exception
|
||||
*
|
||||
* @return bool
|
||||
*
|
||||
* @author Bruno Casteleiro <brunoccast@fc.up.pt>
|
||||
*/
|
||||
public static function validate_object($object): bool
|
||||
@@ -80,7 +82,7 @@ class Activitypub_delete
|
||||
if (!isset($object['type'])) {
|
||||
throw new Exception('Object type was not specified for Delete Activity.');
|
||||
}
|
||||
if ($object['type'] !== "Tombstone" && $object['type'] !== "Person") {
|
||||
if ($object['type'] !== 'Tombstone' && $object['type'] !== 'Person') {
|
||||
throw new Exception('Invalid Object type for Delete Activity.');
|
||||
}
|
||||
if (!isset($object['id'])) {
|
||||
|
Reference in New Issue
Block a user