Skip to content

Commit fc907a3

Browse files
committed
Fix tests
1 parent 966b637 commit fc907a3

2 files changed

Lines changed: 33 additions & 33 deletions

File tree

tests/e2e/Adapter/Scopes/VectorTests.php

Lines changed: 30 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -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');

tests/unit/Validator/VectorTest.php

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,15 +15,17 @@ public function testVector(): void
1515
$this->assertTrue($validator->isValid([1.0, 2.0, 3.0]));
1616
$this->assertTrue($validator->isValid([0, 0, 0]));
1717
$this->assertTrue($validator->isValid([-1.5, 0.0, 2.5]));
18-
$this->assertTrue($validator->isValid(['1', '2', '3'])); // Numeric strings should pass
1918

2019
// Test invalid vectors
2120
$this->assertFalse($validator->isValid([1.0, 2.0])); // Wrong dimensions
2221
$this->assertFalse($validator->isValid([1.0, 2.0, 3.0, 4.0])); // Wrong dimensions
2322
$this->assertFalse($validator->isValid('not an array')); // Not an array
23+
$this->assertFalse($validator->isValid(['1', '2', '3'])); // String numbers should fail
2424
$this->assertFalse($validator->isValid([1.0, 'not numeric', 3.0])); // Non-numeric value
2525
$this->assertFalse($validator->isValid([1.0, null, 3.0])); // Null value
2626
$this->assertFalse($validator->isValid([])); // Empty array
27+
$this->assertFalse($validator->isValid(['x' => 1.0, 'y' => 2.0, 'z' => 3.0])); // Associative array
28+
$this->assertFalse($validator->isValid([1.0, true, 3.0])); // Boolean value
2729
}
2830

2931
public function testVectorWithDifferentDimensions(): void

0 commit comments

Comments
 (0)