@@ -1570,39 +1570,36 @@ public function testVectorSearchWithRestrictedPermissions(): void
15701570 return ;
15711571 }
15721572
1573- $ database ->createCollection ('vectorPermissions ' , [], [], [
1574- Permission::create (Role::any ()),
1575- Permission::read (Role::any ()),
1576- Permission::update (Role::any ()),
1577- Permission::delete (Role::any ())
1578- ], true );
1579- $ database ->createAttribute ('vectorPermissions ' , 'name ' , Database::VAR_STRING , 255 , true );
1580- $ database ->createAttribute ('vectorPermissions ' , 'embedding ' , Database::VAR_VECTOR , 3 , true );
1581-
1582- // Create documents with different permissions
1583- $ doc1 = $ database ->createDocument ('vectorPermissions ' , new Document ([
1584- '$permissions ' => [
1585- Permission::read (Role::user ('user1 ' ))
1586- ],
1587- 'name ' => 'Doc 1 ' ,
1588- 'embedding ' => [1.0 , 0.0 , 0.0 ]
1589- ]));
1573+ // Create documents with different permissions inside Authorization::skip
1574+ Authorization::skip (function () use ($ database ) {
1575+ $ database ->createCollection ('vectorPermissions ' , [], [], [], true );
1576+ $ database ->createAttribute ('vectorPermissions ' , 'name ' , Database::VAR_STRING , 255 , true );
1577+ $ database ->createAttribute ('vectorPermissions ' , 'embedding ' , Database::VAR_VECTOR , 3 , true );
15901578
1591- $ doc2 = $ database ->createDocument ('vectorPermissions ' , new Document ([
1592- '$permissions ' => [
1593- Permission::read (Role::user ('user2 ' ))
1594- ],
1595- 'name ' => 'Doc 2 ' ,
1596- 'embedding ' => [0.9 , 0.1 , 0.0 ]
1597- ]));
1579+ $ database ->createDocument ('vectorPermissions ' , new Document ([
1580+ '$permissions ' => [
1581+ Permission::read (Role::user ('user1 ' ))
1582+ ],
1583+ 'name ' => 'Doc 1 ' ,
1584+ 'embedding ' => [1.0 , 0.0 , 0.0 ]
1585+ ]));
15981586
1599- $ doc3 = $ database ->createDocument ('vectorPermissions ' , new Document ([
1600- '$permissions ' => [
1601- Permission::read (Role::any ())
1602- ],
1603- 'name ' => 'Doc 3 ' ,
1604- 'embedding ' => [0.8 , 0.2 , 0.0 ]
1605- ]));
1587+ $ database ->createDocument ('vectorPermissions ' , new Document ([
1588+ '$permissions ' => [
1589+ Permission::read (Role::user ('user2 ' ))
1590+ ],
1591+ 'name ' => 'Doc 2 ' ,
1592+ 'embedding ' => [0.9 , 0.1 , 0.0 ]
1593+ ]));
1594+
1595+ $ database ->createDocument ('vectorPermissions ' , new Document ([
1596+ '$permissions ' => [
1597+ Permission::read (Role::any ())
1598+ ],
1599+ 'name ' => 'Doc 3 ' ,
1600+ 'embedding ' => [0.8 , 0.2 , 0.0 ]
1601+ ]));
1602+ });
16061603
16071604 // Query as user1 - should only see doc1 and doc3
16081605 Authorization::setRole (Role::user ('user1 ' )->toString ());
@@ -2611,7 +2608,8 @@ public function testVectorQueryInNestedQuery(): void
26112608 $ database ->find ('vectorNested ' , [
26122609 Query::vectorCosine ('embedding1 ' , [1.0 , 0.0 , 0.0 ]),
26132610 Query::or ([
2614- Query::vectorCosine ('embedding2 ' , [0.0 , 1.0 , 0.0 ])
2611+ Query::vectorCosine ('embedding2 ' , [0.0 , 1.0 , 0.0 ]),
2612+ Query::equal ('name ' , ['Doc 1 ' ])
26152613 ])
26162614 ]);
26172615 $ this ->fail ('Should not allow multiple vector queries across nested queries ' );
0 commit comments