yxorP Documentation

CrudSpecFunctionalTest extends FunctionalTestCase
in package

CRUD spec functional tests.

Tags
see
https://github.com/mongodb/specifications/tree/master/source/crud/tests
group

serverless

group

matrix-testing-exclude-server-5.0-driver-4.0

Table of Contents

SERVERLESS_ALLOW  = 'allow'
SERVERLESS_FORBID  = 'forbid'
SERVERLESS_REQUIRE  = 'require'
$collection  : Collection
$manager  : Manager
$configuredFailPoints  : array<string|int, mixed>
$expectedCollection  : Collection
assertMatchesDocument()  : void
Asserts that a document has expected values for some fields.
assertSameDocument()  : void
Asserts that a document has expected values for all fields.
assertSameDocuments()  : void
configureFailPoint()  : void
Configure a fail point for the test.
createTestClient()  : Client
createTestManager()  : Manager
dataDescription()  : string
Compatibility method as PHPUnit 9 no longer includes this method.
getUri()  : string
Return the connection URI.
provideInvalidArrayValues()  : mixed
provideInvalidDocumentValues()  : mixed
provideSpecificationTests()  : mixed
setUp()  : void
tearDown()  : void
testSpecification()  : void
assertCollectionCount()  : void
assertCollectionDoesNotExist()  : void
Asserts that a collection with the given name does not exist on the server.
assertCollectionExists()  : void
Asserts that a collection with the given name exists on the server.
assertCommandSucceeded()  : void
assertDeprecated()  : void
assertSameObjectId()  : void
createCollection()  : void
Creates the test collection with the specified options.
dropCollection()  : void
Drops the test collection with the specified options.
getCollectionName()  : string
Return the test collection name.
getDatabaseName()  : string
Return the test database name.
getFeatureCompatibilityVersion()  : mixed
getInvalidArrayValues()  : array<string|int, mixed>
Return a list of invalid array values.
getInvalidBooleanValues()  : array<string|int, mixed>
Return a list of invalid boolean values.
getInvalidDocumentValues()  : array<string|int, mixed>
Return a list of invalid document values.
getInvalidIntegerValues()  : array<string|int, mixed>
Return a list of invalid integer values.
getInvalidReadConcernValues()  : array<string|int, mixed>
Return a list of invalid ReadPreference values.
getInvalidReadPreferenceValues()  : array<string|int, mixed>
Return a list of invalid ReadPreference values.
getInvalidSessionValues()  : array<string|int, mixed>
Return a list of invalid Session values.
getInvalidStringValues()  : array<string|int, mixed>
Return a list of invalid string values.
getInvalidWriteConcernValues()  : array<string|int, mixed>
Return a list of invalid WriteConcern values.
getNamespace()  : string
Return the test namespace.
getPrimaryServer()  : mixed
getServerStorageEngine()  : mixed
getServerVersion()  : mixed
isLoadBalanced()  : mixed
isMongos()  : mixed
isReplicaSet()  : mixed
isServerless()  : bool
Return whether serverless (i.e. proxy as mongos) is being utilized.
isShardedCluster()  : mixed
isShardedClusterUsingReplicasets()  : mixed
skipIfCausalConsistencyIsNotSupported()  : void
skipIfChangeStreamIsNotSupported()  : void
skipIfClientSideEncryptionIsNotSupported()  : void
skipIfGeoHaystackIndexIsNotSupported()  : void
skipIfTransactionsAreNotSupported()  : void
wrapValuesForDataProvider()  : array<string|int, mixed>
Wrap a list of values for use as a single-argument data provider.
appendAuthenticationOptions()  : array<string|int, mixed>
appendServerApiOption()  : array<string|int, mixed>
assertEquivalentCollections()  : void
Assert that the collections contain equivalent documents.
checkServerlessRequirement()  : void
checkServerVersion()  : void
Checks that the server version is within the allowed bounds (if any).
disableFailPoints()  : void
Disables any fail points that were configured earlier in the test.
executeAssertResult()  : void
Executes the "result" section of an "outcome" block.
executeOperation()  : mixed
Executes an "operation" block.
executeOutcome()  : mixed
Executes an "outcome" block.
extractResultFromException()  : mixed
Extracts a result from an exception.
getModuleInfo()  : string|null
initializeData()  : void
Initializes data in the test collections.
isFailCommandEnabled()  : bool
Checks if the failCommand command is enabled by checking the enableTestCommands parameter
isFailCommandSupported()  : bool
Checks if the failCommand command is supported on this server version
normalizeBSON()  : BSONDocument|BSONArray
Normalizes a BSON document or array for use with assertEquals().
prepareBulkWriteRequest()  : array<string|int, mixed>
Prepares a request element for a bulkWrite operation.
prepareFindAndModifyArguments()  : array<string|int, mixed>
Prepares arguments for findOneAndReplace and findOneAndUpdate operations.

Constants

Properties

$configuredFailPoints

private array<string|int, mixed> $configuredFailPoints = []

Methods

assertMatchesDocument()

Asserts that a document has expected values for some fields.

public assertMatchesDocument(array<string|int, mixed>|object $expectedDocument, array<string|int, mixed>|object $actualDocument) : void

Only fields in the expected document will be checked. The actual document may contain additional fields.

Parameters
$expectedDocument : array<string|int, mixed>|object
$actualDocument : array<string|int, mixed>|object
Return values
void

assertSameDocument()

Asserts that a document has expected values for all fields.

public assertSameDocument(array<string|int, mixed>|object $expectedDocument, array<string|int, mixed>|object $actualDocument) : void

The actual document will be compared directly with the expected document and may not contain extra fields.

Parameters
$expectedDocument : array<string|int, mixed>|object
$actualDocument : array<string|int, mixed>|object
Return values
void

assertSameDocuments()

public assertSameDocuments(array<string|int, mixed> $expectedDocuments, mixed $actualDocuments) : void
Parameters
$expectedDocuments : array<string|int, mixed>
$actualDocuments : mixed
Return values
void

configureFailPoint()

Configure a fail point for the test.

public configureFailPoint(array<string|int, mixed>|stdClass $command[, Server|null $server = null ]) : void

The fail point will automatically be disabled during tearDown() to avoid affecting a subsequent test.

Parameters
$command : array<string|int, mixed>|stdClass

configureFailPoint command document

$server : Server|null = null
Tags
throws
InvalidArgumentException

if $command is not a configureFailPoint command

Return values
void

createTestClient()

public static createTestClient([string|null $uri = null ][, array<string|int, mixed> $options = [] ][, array<string|int, mixed> $driverOptions = [] ]) : Client
Parameters
$uri : string|null = null
$options : array<string|int, mixed> = []
$driverOptions : array<string|int, mixed> = []
Return values
Client

createTestManager()

public static createTestManager([string|null $uri = null ][, array<string|int, mixed> $options = [] ][, array<string|int, mixed> $driverOptions = [] ]) : Manager
Parameters
$uri : string|null = null
$options : array<string|int, mixed> = []
$driverOptions : array<string|int, mixed> = []
Return values
Manager

dataDescription()

Compatibility method as PHPUnit 9 no longer includes this method.

public dataDescription() : string
Return values
string

getUri()

Return the connection URI.

public static getUri() : string
Return values
string

provideInvalidArrayValues()

public provideInvalidArrayValues() : mixed
Return values
mixed

provideInvalidDocumentValues()

public provideInvalidDocumentValues() : mixed
Return values
mixed

testSpecification()

public testSpecification(array<string|int, mixed> $initialData, array<string|int, mixed> $test, mixed $minServerVersion, mixed $maxServerVersion, mixed $serverless) : void
Parameters
$initialData : array<string|int, mixed>
$test : array<string|int, mixed>
$minServerVersion : mixed
$maxServerVersion : mixed
$serverless : mixed
Tags
dataProvider

provideSpecificationTests

Return values
void

assertCollectionCount()

protected assertCollectionCount(mixed $namespace, mixed $count) : void
Parameters
$namespace : mixed
$count : mixed
Return values
void

assertCollectionDoesNotExist()

Asserts that a collection with the given name does not exist on the server.

protected assertCollectionDoesNotExist(string $collectionName[, string|null $databaseName = null ]) : void

$databaseName defaults to TestCase::getDatabaseName() if unspecified.

Parameters
$collectionName : string
$databaseName : string|null = null
Return values
void

assertCollectionExists()

Asserts that a collection with the given name exists on the server.

protected assertCollectionExists(string $collectionName[, string|null $databaseName = null ][, callable|null $callback = null ]) : void

$databaseName defaults to TestCase::getDatabaseName() if unspecified. An optional $callback may be provided, which should take a CollectionInfo argument as its first and only parameter. If a CollectionInfo matching the given name is found, it will be passed to the callback, which may perform additional assertions.

Parameters
$collectionName : string
$databaseName : string|null = null
$callback : callable|null = null
Return values
void

assertCommandSucceeded()

protected assertCommandSucceeded(mixed $document) : void
Parameters
$document : mixed
Return values
void

assertDeprecated()

protected assertDeprecated(callable $execution) : void
Parameters
$execution : callable
Return values
void

assertSameObjectId()

protected assertSameObjectId(mixed $expectedObjectId, mixed $actualObjectId) : void
Parameters
$expectedObjectId : mixed
$actualObjectId : mixed
Return values
void

createCollection()

Creates the test collection with the specified options.

protected createCollection([array<string|int, mixed> $options = [] ]) : void

If the "writeConcern" option is not specified but is supported by the server, a majority write concern will be used. This is helpful for tests using transactions or secondary reads.

Parameters
$options : array<string|int, mixed> = []
Return values
void

dropCollection()

Drops the test collection with the specified options.

protected dropCollection([array<string|int, mixed> $options = [] ]) : void

If the "writeConcern" option is not specified but is supported by the server, a majority write concern will be used. This is helpful for tests using transactions or secondary reads.

Parameters
$options : array<string|int, mixed> = []
Return values
void

getCollectionName()

Return the test collection name.

protected getCollectionName() : string
Return values
string

getDatabaseName()

Return the test database name.

protected getDatabaseName() : string
Return values
string

getFeatureCompatibilityVersion()

protected getFeatureCompatibilityVersion([ReadPreference|null $readPreference = null ]) : mixed
Parameters
$readPreference : ReadPreference|null = null
Return values
mixed

getInvalidArrayValues()

Return a list of invalid array values.

protected getInvalidArrayValues([bool $includeNull = false ]) : array<string|int, mixed>
Parameters
$includeNull : bool = false
Return values
array<string|int, mixed>

getInvalidBooleanValues()

Return a list of invalid boolean values.

protected getInvalidBooleanValues([bool $includeNull = false ]) : array<string|int, mixed>
Parameters
$includeNull : bool = false
Return values
array<string|int, mixed>

getInvalidDocumentValues()

Return a list of invalid document values.

protected getInvalidDocumentValues([bool $includeNull = false ]) : array<string|int, mixed>
Parameters
$includeNull : bool = false
Return values
array<string|int, mixed>

getInvalidIntegerValues()

Return a list of invalid integer values.

protected getInvalidIntegerValues([bool $includeNull = false ]) : array<string|int, mixed>
Parameters
$includeNull : bool = false
Return values
array<string|int, mixed>

getInvalidReadConcernValues()

Return a list of invalid ReadPreference values.

protected getInvalidReadConcernValues([bool $includeNull = false ]) : array<string|int, mixed>
Parameters
$includeNull : bool = false
Return values
array<string|int, mixed>

getInvalidReadPreferenceValues()

Return a list of invalid ReadPreference values.

protected getInvalidReadPreferenceValues([bool $includeNull = false ]) : array<string|int, mixed>
Parameters
$includeNull : bool = false
Return values
array<string|int, mixed>

getInvalidSessionValues()

Return a list of invalid Session values.

protected getInvalidSessionValues([bool $includeNull = false ]) : array<string|int, mixed>
Parameters
$includeNull : bool = false
Return values
array<string|int, mixed>

getInvalidStringValues()

Return a list of invalid string values.

protected getInvalidStringValues([bool $includeNull = false ]) : array<string|int, mixed>
Parameters
$includeNull : bool = false
Return values
array<string|int, mixed>

getInvalidWriteConcernValues()

Return a list of invalid WriteConcern values.

protected getInvalidWriteConcernValues([bool $includeNull = false ]) : array<string|int, mixed>
Parameters
$includeNull : bool = false
Return values
array<string|int, mixed>

getNamespace()

Return the test namespace.

protected getNamespace() : string
Return values
string

getPrimaryServer()

protected getPrimaryServer() : mixed
Return values
mixed

getServerStorageEngine()

protected getServerStorageEngine([ReadPreference|null $readPreference = null ]) : mixed
Parameters
$readPreference : ReadPreference|null = null
Return values
mixed

getServerVersion()

protected getServerVersion([ReadPreference|null $readPreference = null ]) : mixed
Parameters
$readPreference : ReadPreference|null = null
Return values
mixed

isServerless()

Return whether serverless (i.e. proxy as mongos) is being utilized.

protected static isServerless() : bool
Return values
bool

isShardedCluster()

protected isShardedCluster() : mixed
Return values
mixed

isShardedClusterUsingReplicasets()

protected isShardedClusterUsingReplicasets() : mixed
Return values
mixed

skipIfCausalConsistencyIsNotSupported()

protected skipIfCausalConsistencyIsNotSupported() : void
Return values
void

skipIfChangeStreamIsNotSupported()

protected skipIfChangeStreamIsNotSupported() : void
Return values
void

skipIfClientSideEncryptionIsNotSupported()

protected skipIfClientSideEncryptionIsNotSupported() : void
Return values
void

skipIfGeoHaystackIndexIsNotSupported()

protected skipIfGeoHaystackIndexIsNotSupported() : void
Return values
void

skipIfTransactionsAreNotSupported()

protected skipIfTransactionsAreNotSupported() : void
Return values
void

wrapValuesForDataProvider()

Wrap a list of values for use as a single-argument data provider.

protected wrapValuesForDataProvider(array<string|int, mixed> $values) : array<string|int, mixed>
Parameters
$values : array<string|int, mixed>

List of values

Return values
array<string|int, mixed>

appendAuthenticationOptions()

private static appendAuthenticationOptions(array<string|int, mixed> $options) : array<string|int, mixed>
Parameters
$options : array<string|int, mixed>
Return values
array<string|int, mixed>

appendServerApiOption()

private static appendServerApiOption(array<string|int, mixed> $driverOptions) : array<string|int, mixed>
Parameters
$driverOptions : array<string|int, mixed>
Return values
array<string|int, mixed>

checkServerlessRequirement()

private checkServerlessRequirement(string|null $serverless) : void
Parameters
$serverless : string|null
Return values
void

checkServerVersion()

Checks that the server version is within the allowed bounds (if any).

private checkServerVersion(string|null $minServerVersion, string|null $maxServerVersion) : void
Parameters
$minServerVersion : string|null
$maxServerVersion : string|null
Tags
throws
PHPUnit_Framework_SkippedTestError
Return values
void

disableFailPoints()

Disables any fail points that were configured earlier in the test.

private disableFailPoints() : void

This tracks fail points set via configureFailPoint() and should be called during tearDown().

Return values
void

executeAssertResult()

Executes the "result" section of an "outcome" block.

private executeAssertResult(array<string|int, mixed> $operation, mixed $expectedResult, mixed $actualResult) : void
Parameters
$operation : array<string|int, mixed>
$expectedResult : mixed
$actualResult : mixed
Tags
throws
LogicException

if the operation is unsupported

Return values
void

executeOperation()

Executes an "operation" block.

private executeOperation(array<string|int, mixed> $operation) : mixed
Parameters
$operation : array<string|int, mixed>
Tags
throws
LogicException

if the operation is unsupported

Return values
mixed

executeOutcome()

Executes an "outcome" block.

private executeOutcome(array<string|int, mixed> $operation, array<string|int, mixed> $outcome, mixed $result[, RuntimeException $exception = null ]) : mixed
Parameters
$operation : array<string|int, mixed>
$outcome : array<string|int, mixed>
$result : mixed
$exception : RuntimeException = null
Tags
throws
LogicException

if the operation is unsupported

Return values
mixed

extractResultFromException()

Extracts a result from an exception.

private extractResultFromException(array<string|int, mixed> $operation, array<string|int, mixed> $outcome, RuntimeException $exception) : mixed

Errors for bulkWrite and insertMany operations may still report a write result. This method will attempt to extract such a result so that it can be used in executeAssertResult().

If no result can be extracted, null will be returned.

Parameters
$operation : array<string|int, mixed>
$outcome : array<string|int, mixed>
$exception : RuntimeException
Return values
mixed

getModuleInfo()

private getModuleInfo(string $row) : string|null
Parameters
$row : string
Return values
string|null

initializeData()

Initializes data in the test collections.

private initializeData(array<string|int, mixed> $initialData[, array<string|int, mixed> $expectedData = null ]) : void
Parameters
$initialData : array<string|int, mixed>
$expectedData : array<string|int, mixed> = null
Return values
void

isFailCommandEnabled()

Checks if the failCommand command is enabled by checking the enableTestCommands parameter

private isFailCommandEnabled() : bool
Return values
bool

isFailCommandSupported()

Checks if the failCommand command is supported on this server version

private isFailCommandSupported() : bool
Return values
bool

normalizeBSON()

Normalizes a BSON document or array for use with assertEquals().

private normalizeBSON(array<string|int, mixed>|object $bson) : BSONDocument|BSONArray

The argument will be converted to a BSONArray or BSONDocument based on its type and keys. Document fields will be sorted alphabetically. Each value within the array or document will then be normalized recursively.

Parameters
$bson : array<string|int, mixed>|object
Tags
throws
InvalidArgumentException

if $bson is not an array or object

Return values
BSONDocument|BSONArray

prepareBulkWriteRequest()

Prepares a request element for a bulkWrite operation.

private prepareBulkWriteRequest(array<string|int, mixed> $request) : array<string|int, mixed>
Parameters
$request : array<string|int, mixed>
Return values
array<string|int, mixed>

prepareFindAndModifyArguments()

Prepares arguments for findOneAndReplace and findOneAndUpdate operations.

private prepareFindAndModifyArguments(array<string|int, mixed> $arguments) : array<string|int, mixed>
Parameters
$arguments : array<string|int, mixed>
Return values
array<string|int, mixed>

Search results