|
21 | 21 | use Laudis\Neo4j\Common\Uri;
|
22 | 22 | use Laudis\Neo4j\Contracts\FormatterInterface;
|
23 | 23 | use Laudis\Neo4j\Contracts\TransactionInterface;
|
| 24 | +use Laudis\Neo4j\Databags\SessionConfiguration; |
24 | 25 | use Laudis\Neo4j\Databags\Statement;
|
25 | 26 | use Laudis\Neo4j\Exception\Neo4jException;
|
26 | 27 | use Laudis\Neo4j\Formatter\OGMFormatter;
|
@@ -309,4 +310,41 @@ public function testValidConnectionCheck(string $alias): void
|
309 | 310 | {
|
310 | 311 | self::assertTrue($this->getClient()->verifyConnectivity($alias));
|
311 | 312 | }
|
| 313 | + |
| 314 | + /** |
| 315 | + * @dataProvider connectionAliases |
| 316 | + */ |
| 317 | + public function testFetchSize(string $connection): void |
| 318 | + { |
| 319 | + $session = $this->getClient()->getDriver($connection)->createSession(SessionConfiguration::default()->withFetchSize(1)); |
| 320 | + $session->run('MATCH (x) DETACH DELETE x'); |
| 321 | + |
| 322 | + // Add 4000 user nodes |
| 323 | + for ($i = 0; $i < 4; ++$i) { |
| 324 | + $session->run('CREATE (user:User)'); |
| 325 | + } |
| 326 | + |
| 327 | + // Confirm that the database contains 4000 unique user nodes |
| 328 | + $userCountResults = $session->run('MATCH (user:User) RETURN COUNT(DISTINCT(ID(user))) as user_count'); |
| 329 | + $userCount = $userCountResults->getAsCypherMap(0)->getAsInt('user_count'); |
| 330 | + |
| 331 | + $this->assertEquals(4, $userCount); |
| 332 | + |
| 333 | + // Retrieve the ids of all user nodes |
| 334 | + $results = $session->run('MATCH (user:User) RETURN ID(user) AS id'); |
| 335 | + |
| 336 | + // Loop through the results and add each id to an array |
| 337 | + $userIds = []; |
| 338 | + foreach ($results as $result) { |
| 339 | + $userIds[] = $result->get('id'); |
| 340 | + } |
| 341 | + |
| 342 | + $this->assertCount(4, $userIds); |
| 343 | + |
| 344 | + // Check if we have any duplicate ids by removing duplicate values |
| 345 | + // from the array. |
| 346 | + $uniqueUserIds = array_unique($userIds); |
| 347 | + |
| 348 | + $this->assertCount(4, $uniqueUserIds); |
| 349 | + } |
312 | 350 | }
|
0 commit comments