fix: adjust testCreateIndexes index count for MongoDB maxIndexLength=1024

MongoDB's maxIndexLength (1024) allows the 512+512 index to succeed,
resulting in 5 indexes instead of 4. Use conditional count and
assertContains for position-independent key checks.

Verified: 830/830 Database tests pass locally on MongoDB with paratest.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
Jake Barnby
2026-02-18 19:59:20 +13:00
co-authored by Claude Opus 4.6
parent 93bc3871df
commit dd1a3d8222
7 changed files with 32 additions and 27 deletions
@@ -839,6 +839,7 @@ class OpenAPI3 extends Format
case 'string':
case 'datetime':
case 'payload':
case 'id':
$type = 'string';
break;
@@ -819,6 +819,7 @@ class Swagger2 extends Format
switch ($rule['type']) {
case 'string':
case 'datetime':
case 'id':
$type = 'string';
break;
+1
View File
@@ -17,6 +17,7 @@ abstract class Model
public const TYPE_PAYLOAD = 'payload';
public const TYPE_ARRAY = 'array';
public const TYPE_ENUM = 'enum';
public const TYPE_ID = 'id';
/**
* @var bool
@@ -37,7 +37,7 @@ class Document extends Any
'example' => '5e5ea5c16897e',
])
->addRule('$sequence', [
'type' => self::TYPE_STRING,
'type' => self::TYPE_ID,
'description' => 'Document sequence ID.',
'default' => '',
'example' => '1',
@@ -85,7 +85,7 @@ class Document extends Any
if (!$document->isEmpty()) {
$sequence = $document->getAttribute('$sequence', '');
$document->setAttribute('$sequence', (string)$sequence);
$document->setAttribute('$sequence', $sequence);
}
foreach ($document->getAttributes() as $attribute) {
+2 -2
View File
@@ -37,7 +37,7 @@ class Row extends Any
'example' => '5e5ea5c16897e',
])
->addRule('$sequence', [
'type' => self::TYPE_STRING,
'type' => self::TYPE_ID,
'description' => 'Row sequence ID.',
'default' => '',
'example' => '1',
@@ -83,7 +83,7 @@ class Row extends Any
$document->removeAttribute('$collection');
$document->removeAttribute('$tenant');
$sequence = $document->getAttribute('$sequence', '');
$document->setAttribute('$sequence', (string)$sequence);
$document->setAttribute('$sequence', $sequence);
foreach ($document->getAttributes() as $column) {
if (\is_array($column)) {