File tree Expand file tree Collapse file tree 2 files changed +55
-0
lines changed Expand file tree Collapse file tree 2 files changed +55
-0
lines changed Original file line number Diff line number Diff line change 22
22
"istanbul" : " 0.4.5" ,
23
23
"require-all" : " 2.1.0" ,
24
24
"rimraf" : " 2.2.8" ,
25
+ "seedrandom" : " 2.4.2" ,
25
26
"timezone-mock" : " 0.0.0" ,
26
27
"mkdirp" : " 0.5.1" ,
27
28
"urun" : " 0.0.8" ,
Original file line number Diff line number Diff line change
1
+ var assert = require ( 'assert' ) ;
2
+ var common = require ( '../../common' ) ;
3
+ var seedrandom = require ( 'seedrandom' ) ;
4
+ var cluster = common . createPoolCluster ( ) ;
5
+ var server = common . createFakeServer ( ) ;
6
+
7
+ var poolConfig = common . getTestConfig ( { port : common . fakeServerPort } ) ;
8
+ cluster . add ( 'SLAVE1' , poolConfig ) ;
9
+ cluster . add ( 'SLAVE2' , poolConfig ) ;
10
+ cluster . add ( 'SLAVE3' , poolConfig ) ;
11
+
12
+ server . listen ( common . fakeServerPort , function ( err ) {
13
+ assert . ifError ( err ) ;
14
+
15
+ var count = 7 ;
16
+ var order = [ ] ;
17
+ var pool = cluster . of ( 'SLAVE*' , 'RANDOM' ) ;
18
+
19
+ seedrandom ( 'cluster random rest' , {
20
+ global : true
21
+ } ) ;
22
+
23
+ next ( ) ;
24
+
25
+ function done ( ) {
26
+ assert . deepEqual ( order , [
27
+ 'SLAVE2' ,
28
+ 'SLAVE3' ,
29
+ 'SLAVE2' ,
30
+ 'SLAVE2' ,
31
+ 'SLAVE1' ,
32
+ 'SLAVE2' ,
33
+ 'SLAVE1'
34
+ ] ) ;
35
+ cluster . end ( function ( err ) {
36
+ assert . ifError ( err ) ;
37
+ server . destroy ( ) ;
38
+ } ) ;
39
+ }
40
+
41
+ function next ( ) {
42
+ pool . getConnection ( function ( err , conn ) {
43
+ assert . ifError ( err ) ;
44
+ order . push ( conn . _clusterId ) ;
45
+ conn . release ( ) ;
46
+
47
+ if ( -- count > 0 ) {
48
+ next ( ) ;
49
+ } else {
50
+ done ( ) ;
51
+ }
52
+ } ) ;
53
+ }
54
+ } ) ;
You can’t perform that action at this time.
0 commit comments