Skip to content

Commit c556901

Browse files
committed
Added test for server info in cluster
1 parent e6d4cce commit c556901

File tree

3 files changed

+76
-4
lines changed

3 files changed

+76
-4
lines changed
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
!: AUTO RESET
2+
!: AUTO PULL_ALL
3+
4+
C: INIT "neo4j-javascript/[object Object]" {"credentials": "neo4j", "scheme": "basic", "principal": "neo4j"}
5+
S: SUCCESS {"server": "TheReadServerV1"}
6+
C: RUN "MATCH (n) RETURN n.name" {}
7+
PULL_ALL
8+
S: SUCCESS {"fields": ["n.name"]}
9+
RECORD ["Bob"]
10+
RECORD ["Alice"]
11+
RECORD ["Tina"]
12+
SUCCESS {}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
!: AUTO RESET
2+
!: AUTO PULL_ALL
3+
4+
C: INIT "neo4j-javascript/[object Object]" {"credentials": "neo4j", "scheme": "basic", "principal": "neo4j"}
5+
S: SUCCESS {"server": "TheWriteServerV1"}
6+
C: RUN "CREATE (n {name:'Bob'})" {}
7+
PULL_ALL
8+
S: SUCCESS {}
9+
SUCCESS {}

test/v1/routing.driver.boltkit.it.js

+55-4
Original file line numberDiff line numberDiff line change
@@ -640,6 +640,7 @@ describe('routing driver ', function () {
640640
});
641641
});
642642
});
643+
643644
it('should re-use connections', function (done) {
644645
if (!boltkit.BoltKitSupport) {
645646
done();
@@ -674,10 +675,60 @@ describe('routing driver ', function () {
674675
});
675676
});
676677

677-
function newDriver(url) {
678-
// BoltKit currently does not support encryption, create driver with encryption turned off
679-
return neo4j.driver(url, neo4j.auth.basic("neo4j", "neo4j"), {
680-
encrypted: "ENCRYPTION_OFF"
678+
it('should expose server info in cluster', function (done) {
679+
if (!boltkit.BoltKitSupport) {
680+
done();
681+
return;
682+
}
683+
684+
// Given
685+
var kit = new boltkit.BoltKit();
686+
var routingServer = kit.start('./test/resources/boltkit/acquire_endpoints.script', 9001);
687+
var writeServer = kit.start('./test/resources/boltkit/write_server_with_version.script', 9007);
688+
var readServer = kit.start('./test/resources/boltkit/read_server_with_version.script', 9005);
689+
690+
kit.run(function () {
691+
var driver = newDriver("bolt+routing://127.0.0.1:9001");
692+
// When
693+
var readSession = driver.session(neo4j.session.READ);
694+
readSession.run('MATCH (n) RETURN n.name').then(function (readResult) {
695+
var writeSession = driver.session(neo4j.session.WRITE);
696+
writeSession.run("CREATE (n {name:'Bob'})").then(function (writeResult) {
697+
var readServerInfo = readResult.summary.server;
698+
var writeServerInfo = writeResult.summary.server;
699+
700+
readSession.close();
701+
writeSession.close();
702+
driver.close();
703+
704+
routingServer.exit(function (routingServerExitCode) {
705+
writeServer.exit(function (writeServerExitCode) {
706+
readServer.exit(function (readServerExitCode) {
707+
708+
expect(readServerInfo.address).toBe('127.0.0.1:9005');
709+
expect(readServerInfo.version).toBe('TheReadServerV1');
710+
711+
expect(writeServerInfo.address).toBe('127.0.0.1:9007');
712+
expect(writeServerInfo.version).toBe('TheWriteServerV1');
713+
714+
expect(routingServerExitCode).toEqual(0);
715+
expect(writeServerExitCode).toEqual(0);
716+
expect(readServerExitCode).toEqual(0);
717+
718+
done();
719+
});
720+
});
721+
});
722+
})
681723
});
724+
});
725+
});
726+
727+
function newDriver(url) {
728+
// BoltKit currently does not support encryption, create driver with encryption turned off
729+
return neo4j.driver(url, neo4j.auth.basic("neo4j", "neo4j"), {
730+
encrypted: "ENCRYPTION_OFF"
731+
});
682732
}
733+
683734
});

0 commit comments

Comments
 (0)