fix issues with new master-slave tests

This commit is contained in:
Kevin Jahns 2017-06-30 15:18:07 -07:00
parent bbf5e39408
commit 66de422749
3 changed files with 56 additions and 102 deletions

152
package-lock.json generated
View File

@ -149,15 +149,7 @@
"version": "6.25.0", "version": "6.25.0",
"resolved": "https://registry.npmjs.org/babel-core/-/babel-core-6.25.0.tgz", "resolved": "https://registry.npmjs.org/babel-core/-/babel-core-6.25.0.tgz",
"integrity": "sha1-fdQrBGPHQunVKW3rPsZ6kyLa1yk=", "integrity": "sha1-fdQrBGPHQunVKW3rPsZ6kyLa1yk=",
"dev": true, "dev": true
"dependencies": {
"debug": {
"version": "2.6.8",
"resolved": "https://registry.npmjs.org/debug/-/debug-2.6.8.tgz",
"integrity": "sha1-5zFTHKLt4n0YgiJCfaF4IdaP9Pw=",
"dev": true
}
}
}, },
"babel-generator": { "babel-generator": {
"version": "6.25.0", "version": "6.25.0",
@ -487,15 +479,7 @@
"version": "6.25.0", "version": "6.25.0",
"resolved": "https://registry.npmjs.org/babel-traverse/-/babel-traverse-6.25.0.tgz", "resolved": "https://registry.npmjs.org/babel-traverse/-/babel-traverse-6.25.0.tgz",
"integrity": "sha1-IldJfi/NGbie3BPEyROB+VEklvE=", "integrity": "sha1-IldJfi/NGbie3BPEyROB+VEklvE=",
"dev": true, "dev": true
"dependencies": {
"debug": {
"version": "2.6.8",
"resolved": "https://registry.npmjs.org/debug/-/debug-2.6.8.tgz",
"integrity": "sha1-5zFTHKLt4n0YgiJCfaF4IdaP9Pw=",
"dev": true
}
}
}, },
"babel-types": { "babel-types": {
"version": "6.25.0", "version": "6.25.0",
@ -504,9 +488,9 @@
"dev": true "dev": true
}, },
"babylon": { "babylon": {
"version": "6.17.3", "version": "6.17.4",
"resolved": "https://registry.npmjs.org/babylon/-/babylon-6.17.3.tgz", "resolved": "https://registry.npmjs.org/babylon/-/babylon-6.17.4.tgz",
"integrity": "sha512-mq0x3HCAGGmQyZXviOVe5TRsw37Ijy3D43jCqt/9WVf+onx2dUgW3PosnqCbScAFhRO9DGs8nxoMzU0iiosMqQ==", "integrity": "sha512-kChlV+0SXkjE0vUn9OZ7pBMWRFd8uq3mZe8x1K6jhuNcAFAtEnjchFAqB+dYEXKyd+JpT6eppRR78QAr5gTsUw==",
"dev": true "dev": true
}, },
"balanced-match": { "balanced-match": {
@ -593,9 +577,9 @@
"dev": true "dev": true
}, },
"chance": { "chance": {
"version": "1.0.9", "version": "1.0.10",
"resolved": "https://registry.npmjs.org/chance/-/chance-1.0.9.tgz", "resolved": "https://registry.npmjs.org/chance/-/chance-1.0.10.tgz",
"integrity": "sha1-ha5SwUXEM9afbx7/JPBWASt3pg8=", "integrity": "sha1-A1ALBK2U53jdKJGwnsc6ath7GZY=",
"dev": true "dev": true
}, },
"chokidar": { "chokidar": {
@ -642,9 +626,9 @@
"dev": true "dev": true
}, },
"commander": { "commander": {
"version": "2.9.0", "version": "2.10.0",
"resolved": "https://registry.npmjs.org/commander/-/commander-2.9.0.tgz", "resolved": "https://registry.npmjs.org/commander/-/commander-2.10.0.tgz",
"integrity": "sha1-nJkJQXbhIkDLItbFFGCYQA/g99Q=", "integrity": "sha512-q/r9trjmuikWDRJNTBHAVnWhuU6w+z80KgBq7j9YDclik5E7X4xi0KnlZBNFA1zOQ+SH/vHMWd2mC9QTOz7GpA==",
"dev": true "dev": true
}, },
"concat-map": { "concat-map": {
@ -660,9 +644,9 @@
"dev": true "dev": true
}, },
"concurrently": { "concurrently": {
"version": "3.4.0", "version": "3.5.0",
"resolved": "https://registry.npmjs.org/concurrently/-/concurrently-3.4.0.tgz", "resolved": "https://registry.npmjs.org/concurrently/-/concurrently-3.5.0.tgz",
"integrity": "sha1-YGYrPe/eBzdbrhmqwKt4DsdIunk=", "integrity": "sha1-jPG3cHppFqeKT/W3e7BN7FSzebI=",
"dev": true, "dev": true,
"dependencies": { "dependencies": {
"ansi-regex": { "ansi-regex": {
@ -878,12 +862,6 @@
"integrity": "sha1-yPxiAcf0DdCJQbh8CFdnOGpnmsw=", "integrity": "sha1-yPxiAcf0DdCJQbh8CFdnOGpnmsw=",
"dev": true, "dev": true,
"dependencies": { "dependencies": {
"debug": {
"version": "2.6.8",
"resolved": "https://registry.npmjs.org/debug/-/debug-2.6.8.tgz",
"integrity": "sha1-5zFTHKLt4n0YgiJCfaF4IdaP9Pw=",
"dev": true
},
"user-home": { "user-home": {
"version": "2.0.0", "version": "2.0.0",
"resolved": "https://registry.npmjs.org/user-home/-/user-home-2.0.0.tgz", "resolved": "https://registry.npmjs.org/user-home/-/user-home-2.0.0.tgz",
@ -908,35 +886,13 @@
"version": "0.2.3", "version": "0.2.3",
"resolved": "https://registry.npmjs.org/eslint-import-resolver-node/-/eslint-import-resolver-node-0.2.3.tgz", "resolved": "https://registry.npmjs.org/eslint-import-resolver-node/-/eslint-import-resolver-node-0.2.3.tgz",
"integrity": "sha1-Wt2BBujJKNssuiMrzZ76hG49oWw=", "integrity": "sha1-Wt2BBujJKNssuiMrzZ76hG49oWw=",
"dev": true, "dev": true
"dependencies": {
"debug": {
"version": "2.6.8",
"resolved": "https://registry.npmjs.org/debug/-/debug-2.6.8.tgz",
"integrity": "sha1-5zFTHKLt4n0YgiJCfaF4IdaP9Pw=",
"dev": true
}
}
}, },
"eslint-module-utils": { "eslint-module-utils": {
"version": "2.0.0", "version": "2.1.1",
"resolved": "https://registry.npmjs.org/eslint-module-utils/-/eslint-module-utils-2.0.0.tgz", "resolved": "https://registry.npmjs.org/eslint-module-utils/-/eslint-module-utils-2.1.1.tgz",
"integrity": "sha1-pvjCHZATWHWc3DXbrBmCrh7li84=", "integrity": "sha512-jDI/X5l/6D1rRD/3T43q8Qgbls2nq5km5KSqiwlyUbGo5+04fXhMKdCPhjwbqAa6HXWaMxj8Q4hQDIh7IadJQw==",
"dev": true, "dev": true
"dependencies": {
"debug": {
"version": "2.2.0",
"resolved": "https://registry.npmjs.org/debug/-/debug-2.2.0.tgz",
"integrity": "sha1-+HBX6ZWxofauaklgZkE3vFbwOdo=",
"dev": true
},
"ms": {
"version": "0.7.1",
"resolved": "https://registry.npmjs.org/ms/-/ms-0.7.1.tgz",
"integrity": "sha1-nNE8A62/8ltl7/3nzoZO6VIBcJg=",
"dev": true
}
}
}, },
"eslint-plugin-import": { "eslint-plugin-import": {
"version": "2.2.0", "version": "2.2.0",
@ -944,12 +900,6 @@
"integrity": "sha1-crowb60wXWfEgWNIpGmaQimsi04=", "integrity": "sha1-crowb60wXWfEgWNIpGmaQimsi04=",
"dev": true, "dev": true,
"dependencies": { "dependencies": {
"debug": {
"version": "2.6.8",
"resolved": "https://registry.npmjs.org/debug/-/debug-2.6.8.tgz",
"integrity": "sha1-5zFTHKLt4n0YgiJCfaF4IdaP9Pw=",
"dev": true
},
"doctrine": { "doctrine": {
"version": "1.5.0", "version": "1.5.0",
"resolved": "https://registry.npmjs.org/doctrine/-/doctrine-1.5.0.tgz", "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-1.5.0.tgz",
@ -1017,18 +967,10 @@
"dev": true "dev": true
}, },
"esrecurse": { "esrecurse": {
"version": "4.1.0", "version": "4.2.0",
"resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.1.0.tgz", "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.2.0.tgz",
"integrity": "sha1-RxO2U2rffyrE8yfVWed1a/9kgiA=", "integrity": "sha1-+pVo2Y04I/mkHZHpAtyrnqblsWM=",
"dev": true, "dev": true
"dependencies": {
"estraverse": {
"version": "4.1.1",
"resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.1.1.tgz",
"integrity": "sha1-9srKcokzqFDvkGYdDheYK6RxEaI=",
"dev": true
}
}
}, },
"estraverse": { "estraverse": {
"version": "4.2.0", "version": "4.2.0",
@ -1121,9 +1063,9 @@
"dev": true "dev": true
}, },
"find-root": { "find-root": {
"version": "1.0.0", "version": "1.1.0",
"resolved": "https://registry.npmjs.org/find-root/-/find-root-1.0.0.tgz", "resolved": "https://registry.npmjs.org/find-root/-/find-root-1.1.0.tgz",
"integrity": "sha1-li/yEaqyXGUg/u641ih/j26VgHo=", "integrity": "sha512-NKfW6bec6GfKc0SGx1e07QZY9PE99u0Bft/0rzSD5k3sO/vwkVUpDUKVm5Gpp5Ue3YfShPFTX2070tDs5kB9Ng==",
"dev": true "dev": true
}, },
"find-up": { "find-up": {
@ -2169,9 +2111,9 @@
"dev": true "dev": true
}, },
"js-tokens": { "js-tokens": {
"version": "3.0.1", "version": "3.0.2",
"resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-3.0.1.tgz", "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-3.0.2.tgz",
"integrity": "sha1-COnxMkhKLEWjCQfp3E1VZ7fxFNc=", "integrity": "sha1-mGbfOVECEw449/mWvOtlRDIJwls=",
"dev": true "dev": true
}, },
"js-yaml": { "js-yaml": {
@ -2587,9 +2529,9 @@
} }
}, },
"readable-stream": { "readable-stream": {
"version": "2.2.11", "version": "2.3.3",
"resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.2.11.tgz", "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.3.tgz",
"integrity": "sha512-h+8+r3MKEhkiVrwdKL8aWs1oc1VvBu33ueshOvS26RsZQ3Amhx/oO3TKe4lApSV9ueY6as8EAh7mtuFjdlhg9Q==", "integrity": "sha512-m+qzzcn7KUxEmd1gMbchF+Y2eIUbieUaxkWtptyHywrX0rE8QEYqPC07Vuy4Wm32/xE16NcdBctb8S0Xe/5IeQ==",
"dev": true "dev": true
}, },
"readdirp": { "readdirp": {
@ -2834,9 +2776,9 @@
"dev": true "dev": true
}, },
"safe-buffer": { "safe-buffer": {
"version": "5.0.1", "version": "5.1.1",
"resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.0.1.tgz", "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.1.tgz",
"integrity": "sha1-0mPKVGls2KMGtcplUekt5XkY++c=", "integrity": "sha512-kKvNJn6Mm93gAczWVJg7wH+wGYWNrDHdWvpUmHyEsgCtIwwo3bqPtV4tR5tuPaUhTOo/kvhVwd8XwwOllGYkbg==",
"dev": true "dev": true
}, },
"semver": { "semver": {
@ -2921,9 +2863,9 @@
} }
}, },
"string_decoder": { "string_decoder": {
"version": "1.0.2", "version": "1.0.3",
"resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.0.2.tgz", "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.0.3.tgz",
"integrity": "sha1-sp4fThEl+pehA4K4pTNze3SR4Xk=", "integrity": "sha512-4AH6Z5fzNNBcH+6XDMfA/BTt87skxqJlO0lAh3Dker5zThcAxG6mKz+iGu308UKoPPQ8Dcqx/4JhujzltRa+hQ==",
"dev": true "dev": true
}, },
"string-width": { "string-width": {
@ -2962,6 +2904,12 @@
"integrity": "sha1-K7xULw/amGGnVdOUf+/Ys/UThV8=", "integrity": "sha1-K7xULw/amGGnVdOUf+/Ys/UThV8=",
"dev": true, "dev": true,
"dependencies": { "dependencies": {
"ansi-regex": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz",
"integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=",
"dev": true
},
"is-fullwidth-code-point": { "is-fullwidth-code-point": {
"version": "2.0.0", "version": "2.0.0",
"resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz",
@ -2969,9 +2917,15 @@
"dev": true "dev": true
}, },
"string-width": { "string-width": {
"version": "2.0.0", "version": "2.1.0",
"resolved": "https://registry.npmjs.org/string-width/-/string-width-2.0.0.tgz", "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.0.tgz",
"integrity": "sha1-Y1xUNsxypuDDh87KJ41OLuxSaH4=", "integrity": "sha1-AwZkVh/BRslCPsfZeP4kV0N/5tA=",
"dev": true
},
"strip-ansi": {
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz",
"integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=",
"dev": true "dev": true
} }
} }

View File

@ -124,7 +124,7 @@ export default function extendDatabase (Y /* :any */) {
startGarbageCollector () { startGarbageCollector () {
this.gc = this.dbOpts.gc this.gc = this.dbOpts.gc
if (this.gc) { if (this.gc) {
this.gcTimeout = !this.dbOpts.gcTimeout ? 50000 : this.dbOpts.gcTimeout this.gcTimeout = !this.dbOpts.gcTimeout ? 100000 : this.dbOpts.gcTimeout
} else { } else {
this.gcTimeout = -1 this.gcTimeout = -1
} }

View File

@ -15,7 +15,7 @@ export class TestRoom {
} }
Object.keys(this.users).forEach(uid => { Object.keys(this.users).forEach(uid => {
let user = this.users[uid] let user = this.users[uid]
if (user.role === 'master') { if (user.role === 'master' || connector.role === 'master') {
this.users[uid].userJoined(connector.userId, connector.role) this.users[uid].userJoined(connector.userId, connector.role)
connector.userJoined(uid, this.users[uid].role) connector.userJoined(uid, this.users[uid].role)
} }
@ -70,13 +70,13 @@ export default function extendTestConnector (Y) {
if (options.room == null) { if (options.room == null) {
throw new Error('You must define a room name!') throw new Error('You must define a room name!')
} }
options.forwardAppliedOperations = options.role === 'master'
super(y, options) super(y, options)
this.options = options this.options = options
this.room = options.room this.room = options.room
this.chance = options.chance this.chance = options.chance
this.testRoom = getTestRoom(this.room) this.testRoom = getTestRoom(this.room)
this.testRoom.join(this) this.testRoom.join(this)
this.forwardAppliedOperations = this.role === 'master'
} }
disconnect () { disconnect () {
this.testRoom.leave(this) this.testRoom.leave(this)