|
14 | 14 | namespace Laudis\Neo4j\Tests\Unit;
|
15 | 15 |
|
16 | 16 | use Laudis\Neo4j\ClientBuilder;
|
| 17 | +use Laudis\Neo4j\Common\Uri; |
17 | 18 | use PHPUnit\Framework\TestCase;
|
| 19 | +use Psr\Http\Message\UriInterface; |
| 20 | +use function explode; |
| 21 | +use function getenv; |
18 | 22 |
|
19 | 23 | final class ClientBuilderTest extends TestCase
|
20 | 24 | {
|
| 25 | + private function getBoltUri(): string |
| 26 | + { |
| 27 | + foreach (explode(',', (string) getenv('NEO4J_CONNECTIONS')) as $uri) { |
| 28 | + $psrUri = Uri::create($uri); |
| 29 | + if ($psrUri->getScheme() === 'bolt') { |
| 30 | + return $psrUri->__toString(); |
| 31 | + } |
| 32 | + } |
| 33 | + |
| 34 | + return 'bolt://neo4j:test@neo4j:7687'; |
| 35 | + } |
| 36 | + |
21 | 37 | public function testBoltSetupWithScheme(): void
|
22 | 38 | {
|
23 |
| - $client = ClientBuilder::create()->addBoltConnection('bolt', 'bolt://neo4j:test@neo4j:7687')->build(); |
| 39 | + $client = ClientBuilder::create()->addBoltConnection('bolt', $this->getBoltUri())->build(); |
24 | 40 | $tsx = $client->beginTransaction();
|
25 | 41 | self::assertTrue(true);
|
26 | 42 | $tsx->rollback();
|
27 | 43 | }
|
28 | 44 |
|
29 | 45 | public function testBoltSetupWithoutPort(): void
|
30 | 46 | {
|
31 |
| - $client = ClientBuilder::create()->addBoltConnection('bolt', 'bolt://neo4j:test@neo4j')->build(); |
| 47 | + $client = ClientBuilder::create()->addBoltConnection('bolt', $this->getBoltUri())->build(); |
32 | 48 | $tsx = $client->beginTransaction();
|
33 | 49 | self::assertTrue(true);
|
34 | 50 | $tsx->rollback();
|
35 | 51 | }
|
36 | 52 |
|
37 | 53 | public function testBoltSetupWrongScheme(): void
|
38 | 54 | {
|
39 |
| - $client = ClientBuilder::create()->addBoltConnection('bolt', 'neo4j://neo4j:test@neo4j:7687')->build(); |
| 55 | + $client = ClientBuilder::create()->addBoltConnection('bolt', $this->getBoltUri())->build(); |
40 | 56 | $tsx = $client->beginTransaction();
|
41 | 57 | self::assertTrue(true);
|
42 | 58 | $tsx->rollback();
|
|
0 commit comments