mirror of
https://github.com/appwrite/appwrite.git
synced 2026-05-26 13:51:13 +00:00
Test fixes
This commit is contained in:
Generated
+1
-1
@@ -4,7 +4,7 @@
|
||||
"Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies",
|
||||
"This file is @generated automatically"
|
||||
],
|
||||
"content-hash": "3c1c6b1b397973a275146054a3221610",
|
||||
"content-hash": "029dcab43ed83efdf56d471a8cc26f50",
|
||||
"packages": [
|
||||
{
|
||||
"name": "adhocore/jwt",
|
||||
|
||||
@@ -287,7 +287,6 @@ class Realtime extends Adapter
|
||||
$channels[] = 'documents';
|
||||
$channels[] = 'databases.' . $database->getId() . '.collections.' . $payload->getCollection() . '.documents';
|
||||
$channels[] = 'databases.' . $database->getId() . '.collections.' . $payload->getCollection() . '.documents.' . $payload->getId();
|
||||
|
||||
$roles = ($collection->getAttribute('documentSecurity', false))
|
||||
? \array_merge($collection->getRead(), $payload->getRead())
|
||||
: $collection->getRead();
|
||||
@@ -301,7 +300,9 @@ class Realtime extends Adapter
|
||||
$channels[] = 'files';
|
||||
$channels[] = 'buckets.' . $payload->getAttribute('bucketId') . '.files';
|
||||
$channels[] = 'buckets.' . $payload->getAttribute('bucketId') . '.files.' . $payload->getId();
|
||||
$roles = ($bucket->getAttribute('permission') === 'bucket') ? $bucket->getRead() : $payload->getRead();
|
||||
$roles = $bucket->getAttribute('fileSecurity', false)
|
||||
? \array_merge($bucket->getRead(), $payload->getRead())
|
||||
: $bucket->getRead();
|
||||
}
|
||||
|
||||
break;
|
||||
|
||||
@@ -60,10 +60,10 @@ class DatabasesPermissionsGuestTest extends Scope
|
||||
return [
|
||||
[['read(any)']],
|
||||
[['read(users)']],
|
||||
[['create(any)', 'update(any)', 'delete(any)']],
|
||||
[['read(any)', 'create(any)', 'update(any)', 'delete(any)']],
|
||||
[['read(users)', 'create(users)', 'update(users)', 'delete(users)']],
|
||||
[['read(any)', 'create(users)', 'update(users)', 'delete(users)']],
|
||||
[['update(any)', 'delete(any)']],
|
||||
[['read(any)', 'update(any)', 'delete(any)']],
|
||||
[['read(users)', 'update(users)', 'delete(users)']],
|
||||
[['read(any)', 'update(users)', 'delete(users)']],
|
||||
];
|
||||
}
|
||||
|
||||
|
||||
@@ -29,13 +29,13 @@ class DatabasesPermissionsMemberTest extends Scope
|
||||
[['read(any)']],
|
||||
[['read(users)']],
|
||||
[['read(user:random)']],
|
||||
[['read(user:lorem)', 'create(user:lorem)', 'update(user:lorem)', 'delete(user:lorem)',]],
|
||||
[['read(user:dolor)', 'create(user:dolor)', 'update(user:dolor)', 'delete(user:dolor)',]],
|
||||
[['read(user:dolor)', 'read(user:lorem)', 'create(user:dolor)', 'update(user:dolor)', 'delete(user:dolor)',]],
|
||||
[['create(any)', 'update(any)', 'delete(any)']],
|
||||
[['read(any)', 'create(any)', 'update(any)', 'delete(any)']],
|
||||
[['read(users)', 'create(users)', 'update(users)', 'delete(users)']],
|
||||
[['read(any)', 'create(users)', 'update(users)', 'delete(users)']],
|
||||
[['read(user:lorem)', 'update(user:lorem)', 'delete(user:lorem)',]],
|
||||
[['read(user:dolor)', 'update(user:dolor)', 'delete(user:dolor)',]],
|
||||
[['read(user:dolor)', 'read(user:lorem)', 'update(user:dolor)', 'delete(user:dolor)',]],
|
||||
[['update(any)', 'delete(any)']],
|
||||
[['read(any)', 'update(any)', 'delete(any)']],
|
||||
[['read(users)', 'update(users)', 'delete(users)']],
|
||||
[['read(any)', 'update(users)', 'delete(users)']],
|
||||
];
|
||||
}
|
||||
|
||||
|
||||
@@ -208,11 +208,13 @@ class MessagingTest extends TestCase
|
||||
'$collection' => 'collection',
|
||||
'$permissions' => [
|
||||
'read(admin)',
|
||||
|
||||
'update(admin)',
|
||||
'delete(admin)',
|
||||
],
|
||||
]),
|
||||
database: new Document([
|
||||
'$id' => 'database',
|
||||
]),
|
||||
collection: new Document([
|
||||
'$id' => 'collection',
|
||||
'$permissions' => [
|
||||
@@ -220,9 +222,6 @@ class MessagingTest extends TestCase
|
||||
'update(any)',
|
||||
'delete(any)',
|
||||
],
|
||||
]),
|
||||
database: new Document([
|
||||
'$id' => 'database',
|
||||
])
|
||||
);
|
||||
|
||||
@@ -243,29 +242,28 @@ class MessagingTest extends TestCase
|
||||
'delete(any)',
|
||||
],
|
||||
]),
|
||||
database: new Document([
|
||||
'$id' => 'database',
|
||||
]),
|
||||
collection: new Document([
|
||||
'$id' => 'collection',
|
||||
'$permissions' => [
|
||||
'read(admin)',
|
||||
|
||||
'update(admin)',
|
||||
'delete(admin)',
|
||||
],
|
||||
'documentSecurity' => true,
|
||||
]),
|
||||
database: new Document([
|
||||
'$id' => 'database',
|
||||
])
|
||||
);
|
||||
|
||||
$this->assertContains('any', $result['roles']);
|
||||
$this->assertNotContains('role:admin', $result['roles']);
|
||||
$this->assertContains('admin', $result['roles']);
|
||||
}
|
||||
|
||||
public function testFromPayloadBucketLevelPermissions(): void
|
||||
{
|
||||
/**
|
||||
* Test Collection Level Permissions
|
||||
* Test Bucket Level Permissions
|
||||
*/
|
||||
$result = Realtime::fromPayload(
|
||||
event: 'buckets.bucket_id.files.file_id.create',
|
||||
@@ -274,7 +272,6 @@ class MessagingTest extends TestCase
|
||||
'$collection' => 'bucket',
|
||||
'$permissions' => [
|
||||
'read(admin)',
|
||||
|
||||
'update(admin)',
|
||||
'delete(admin)',
|
||||
],
|
||||
@@ -290,10 +287,10 @@ class MessagingTest extends TestCase
|
||||
);
|
||||
|
||||
$this->assertContains('any', $result['roles']);
|
||||
$this->assertNotContains('role:admin', $result['roles']);
|
||||
$this->assertNotContains('admin', $result['roles']);
|
||||
|
||||
/**
|
||||
* Test Document Level Permissions
|
||||
* Test File Level Permissions
|
||||
*/
|
||||
$result = Realtime::fromPayload(
|
||||
event: 'buckets.bucket_id.files.file_id.create',
|
||||
@@ -310,15 +307,14 @@ class MessagingTest extends TestCase
|
||||
'$id' => 'bucket',
|
||||
'$permissions' => [
|
||||
'read(admin)',
|
||||
|
||||
'update(admin)',
|
||||
'delete(admin)',
|
||||
],
|
||||
'documentSecurity' => true
|
||||
'fileSecurity' => true
|
||||
])
|
||||
);
|
||||
|
||||
$this->assertContains('any', $result['roles']);
|
||||
$this->assertNotContains('role:admin', $result['roles']);
|
||||
$this->assertContains('admin', $result['roles']);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user