Skip to content

Commit 85c55c3

Browse files
authored
Testing (#4)
* moved prepary body method to HttpCypherFormatter * ran php-cs-fixer * added complex query tests * fixed version 3.5 api * updated jenkinsfile to recreate the database during testing * added typehint for discovery result * further refinement of the docker files
1 parent 1d9a5ea commit 85c55c3

13 files changed

+88
-26
lines changed

Jenkinsfile

Lines changed: 21 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,12 +22,32 @@ pipeline {
2222
}
2323
stage('Test') {
2424
steps {
25+
sh 'docker-compose -f docker/docker-compose-4.2.yml down --volumes'
26+
sh 'docker-compose -f docker/docker-compose-4.2.yml up -d --force-recreate'
2527
sh 'docker-compose -f docker/docker-compose-4.2.yml run client php vendor/bin/phpunit'
28+
sh 'docker-compose -f docker/docker-compose-4.2.yml down'
29+
30+
31+
sh 'docker-compose -f docker/docker-compose-4.1.yml down --volumes'
32+
sh 'docker-compose -f docker/docker-compose-4.1.yml up -d --force-recreate'
2633
sh 'docker-compose -f docker/docker-compose-4.1.yml run client php vendor/bin/phpunit'
34+
sh 'docker-compose -f docker/docker-compose-4.1.yml down'
35+
36+
37+
sh 'docker-compose -f docker/docker-compose-4.0.yml down --volumes'
38+
sh 'docker-compose -f docker/docker-compose-4.0.yml up -d --force-recreate'
2739
sh 'docker-compose -f docker/docker-compose-4.0.yml run client php vendor/bin/phpunit'
40+
sh 'docker-compose -f docker/docker-compose-4.0.yml down'
41+
42+
43+
sh 'docker-compose -f docker/docker-compose-3.5.yml down --volumes'
44+
sh 'docker-compose -f docker/docker-compose-3.5.yml up -d --force-recreate'
2845
sh 'docker-compose -f docker/docker-compose-3.5.yml run client php vendor/bin/phpunit'
29-
sh 'docker-compose -f docker/docker-compose-2.3.yml run client php vendor/bin/phpunit'
46+
sh 'docker-compose -f docker/docker-compose-3.5.yml down'
47+
48+
// sh 'docker-compose -f docker/docker-compose-2.3.yml run client php vendor/bin/phpunit'
3049
sh 'docker-compose -f docker/docker-compose-php-7.4.yml run client php vendor/bin/phpunit'
50+
sh 'docker-compose -f docker/docker-compose-php-7.4.yml down'
3151
}
3252
}
3353
}

docker/Dockerfile-php-8.0

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ RUN apt-get update && apt-get install -y \
1414
ARG WITH_XDEBUG=false
1515

1616
RUN if [ $WITH_XDEBUG = "true" ] ; then \
17-
pecl install xdebug-3; \
17+
pecl install xdebug; \
1818
docker-php-ext-enable xdebug; \
1919
fi;
2020

docker/docker-compose-2.3.yml

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,10 +9,14 @@ services:
99
build:
1010
context: ../
1111
dockerfile: docker/Dockerfile-php-8.0
12+
args:
13+
- WITH_XDEBUG=true
1214
networks:
1315
- neo4j
1416
depends_on:
1517
- neo4j
18+
volumes:
19+
- ../:/opt/project
1620
neo4j:
1721
networks:
1822
- neo4j

docker/docker-compose-3.5.yml

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,10 +9,14 @@ services:
99
build:
1010
context: ../
1111
dockerfile: docker/Dockerfile-php-8.0
12+
args:
13+
- WITH_XDEBUG=true
1214
networks:
1315
- neo4j
1416
depends_on:
15-
- neo4j
17+
- neo4j
18+
volumes:
19+
- ../:/opt/project
1620
neo4j:
1721
networks:
1822
- neo4j

docker/docker-compose-4.0.yml

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,10 +9,14 @@ services:
99
build:
1010
context: ../
1111
dockerfile: docker/Dockerfile-php-8.0
12+
args:
13+
- WITH_XDEBUG=true
1214
networks:
1315
- neo4j
1416
depends_on:
15-
- neo4j
17+
- neo4j
18+
volumes:
19+
- ../:/opt/project
1620
neo4j:
1721
networks:
1822
- neo4j

docker/docker-compose-4.1.yml

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,10 +9,14 @@ services:
99
build:
1010
context: ../
1111
dockerfile: docker/Dockerfile-php-8.0
12+
args:
13+
- WITH_XDEBUG=true
1214
networks:
1315
- neo4j
1416
depends_on:
15-
- neo4j
17+
- neo4j
18+
volumes:
19+
- ../:/opt/project
1620
neo4j:
1721
networks:
1822
- neo4j

docker/docker-compose-4.2.yml

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,10 +9,14 @@ services:
99
build:
1010
context: ../
1111
dockerfile: docker/Dockerfile-php-8.0
12+
args:
13+
- WITH_XDEBUG=true
1214
networks:
1315
- neo4j
1416
depends_on:
15-
- neo4j
17+
- neo4j
18+
volumes:
19+
- ../:/opt/project
1620
neo4j:
1721
networks:
1822
- neo4j

docker/docker-compose-php-7.4.yml

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,10 +9,14 @@ services:
99
build:
1010
context: ../
1111
dockerfile: docker/Dockerfile-php-7.4
12+
args:
13+
- WITH_XDEBUG=true
1214
networks:
1315
- neo4j
1416
depends_on:
15-
- neo4j
17+
- neo4j
18+
volumes:
19+
- ../:/opt/project
1620
neo4j:
1721
networks:
1822
- neo4j

phpunit-bootstrap.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,6 @@
1212
*/
1313

1414
use Laudis\Neo4j\ClientBuilder;
15-
use Laudis\Neo4j\Exception\Neo4jException;
1615

1716
include __DIR__.'/vendor/autoload.php';
1817

@@ -27,6 +26,7 @@
2726

2827
return;
2928
} catch (Throwable $e) {
29+
error_log($e->getMessage()."\n");
3030
--$retriesLeft;
3131
sleep(5);
3232
}

src/ClientBuilder.php

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,8 @@
1818
use InvalidArgumentException;
1919
use Laudis\Neo4j\Contracts\ClientInterface;
2020
use Laudis\Neo4j\Contracts\DriverInterface;
21+
use Laudis\Neo4j\Formatter\HttpCypherFormatter;
22+
use Laudis\Neo4j\HttpDriver\RequestFactory;
2123
use Laudis\Neo4j\Network\Bolt\BoltDriver;
2224
use Laudis\Neo4j\Network\Bolt\BoltInjections;
2325
use Laudis\Neo4j\Network\Http\HttpDriver;
@@ -64,7 +66,10 @@ public function addHttpConnection(string $alias, string $url, HttpInjections $in
6466
if (!isset($parse['host'], $parse['user'], $parse['pass'])) {
6567
throw new InvalidArgumentException('The provided url must have a parsed host, user and pass value');
6668
}
67-
$conneciton = new HttpDriver($parse, new VersionDiscovery(), $injections ?? new HttpInjections());
69+
$injections = $injections ?? new HttpInjections();
70+
$factory = $injections->requestFactory();
71+
$requestFactory = new RequestFactory($factory, $injections->streamFactory(), new HttpCypherFormatter());
72+
$conneciton = new HttpDriver($parse, new VersionDiscovery($requestFactory, $injections->client()), $injections);
6873
$this->connectionPool->put($alias, $conneciton);
6974

7075
return $this;

0 commit comments

Comments
 (0)