feat(tests): new scanner test

This commit is contained in:
Alexey Kasyanchuk 2018-02-03 22:48:41 +03:00
parent 6646381a49
commit b205245e40
6 changed files with 38 additions and 74 deletions

74
package-lock.json generated
View File

@ -2202,9 +2202,9 @@
} }
}, },
"commander": { "commander": {
"version": "2.13.0", "version": "2.11.0",
"resolved": "https://registry.npmjs.org/commander/-/commander-2.13.0.tgz", "resolved": "https://registry.npmjs.org/commander/-/commander-2.11.0.tgz",
"integrity": "sha512-MVuS359B+YzaWqjCL/c+22gfryv+mCBPHAv3zyVI2GN8EY6IRP8VwtasXn8jyyhvvq84R4ImN1OKRtcbIasjYA==", "integrity": "sha512-b0553uYA5YAEGgyYIGYROzKQ7X5RAqedkfjiZxwi0kL1g3bOaBNNZfYkzt/CL0umgD5wc9Jec2FbB98CjkMRvQ==",
"dev": true "dev": true
}, },
"commondir": { "commondir": {
@ -3172,41 +3172,6 @@
} }
} }
}, },
"electron-mocha": {
"version": "5.0.0",
"resolved": "https://registry.npmjs.org/electron-mocha/-/electron-mocha-5.0.0.tgz",
"integrity": "sha512-da9g4vHwwded5O+NbPxfcwYo7lcdC27BGAVQvB7TozSB4CN83wkt4oa4kAg3gfJBDrk025ygSGZA52Jpz0h84A==",
"dev": true,
"requires": {
"commander": "2.13.0",
"electron-window": "0.8.1",
"fs-extra": "4.0.3",
"mocha": "4.1.0",
"which": "1.3.0"
},
"dependencies": {
"fs-extra": {
"version": "4.0.3",
"resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-4.0.3.tgz",
"integrity": "sha512-q6rbdDd1o2mAnQreO7YADIxf/Whx4AHBiRf6d+/cVT8h44ss+lHgxf1FemcqDnQt9X3ct4McHr+JMGlYSsK7Cg==",
"dev": true,
"requires": {
"graceful-fs": "4.1.11",
"jsonfile": "4.0.0",
"universalify": "0.1.1"
}
},
"jsonfile": {
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz",
"integrity": "sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss=",
"dev": true,
"requires": {
"graceful-fs": "4.1.11"
}
}
}
},
"electron-osx-sign": { "electron-osx-sign": {
"version": "0.4.8", "version": "0.4.8",
"resolved": "https://registry.npmjs.org/electron-osx-sign/-/electron-osx-sign-0.4.8.tgz", "resolved": "https://registry.npmjs.org/electron-osx-sign/-/electron-osx-sign-0.4.8.tgz",
@ -3258,15 +3223,6 @@
"integrity": "sha512-XE4CLbswkZgZFn34cKFy1xaX+F5LHxeDLjY1+rsK9asDzknhbrd9g/n/01/acbU25KTsUSiLKwvlLyA+6XLUOA==", "integrity": "sha512-XE4CLbswkZgZFn34cKFy1xaX+F5LHxeDLjY1+rsK9asDzknhbrd9g/n/01/acbU25KTsUSiLKwvlLyA+6XLUOA==",
"dev": true "dev": true
}, },
"electron-window": {
"version": "0.8.1",
"resolved": "https://registry.npmjs.org/electron-window/-/electron-window-0.8.1.tgz",
"integrity": "sha1-FsoYfrSHCwZ5J0/IKZxZYOarLF4=",
"dev": true,
"requires": {
"is-electron-renderer": "2.0.1"
}
},
"elliptic": { "elliptic": {
"version": "6.4.0", "version": "6.4.0",
"resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.4.0.tgz", "resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.4.0.tgz",
@ -4266,7 +4222,8 @@
"jsbn": { "jsbn": {
"version": "0.1.1", "version": "0.1.1",
"bundled": true, "bundled": true,
"dev": true "dev": true,
"optional": true
}, },
"json-schema": { "json-schema": {
"version": "0.2.3", "version": "0.2.3",
@ -5255,12 +5212,6 @@
"integrity": "sha1-pqLzL/0t+wT1yiXs0Pa4PPeYoeE=", "integrity": "sha1-pqLzL/0t+wT1yiXs0Pa4PPeYoeE=",
"dev": true "dev": true
}, },
"is-electron-renderer": {
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/is-electron-renderer/-/is-electron-renderer-2.0.1.tgz",
"integrity": "sha1-pGnQVvl1aXxYyYxgI+sKp5r4laI=",
"dev": true
},
"is-equal-shallow": { "is-equal-shallow": {
"version": "0.1.3", "version": "0.1.3",
"resolved": "https://registry.npmjs.org/is-equal-shallow/-/is-equal-shallow-0.1.3.tgz", "resolved": "https://registry.npmjs.org/is-equal-shallow/-/is-equal-shallow-0.1.3.tgz",
@ -6017,21 +5968,6 @@
"supports-color": "4.4.0" "supports-color": "4.4.0"
}, },
"dependencies": { "dependencies": {
"commander": {
"version": "2.11.0",
"resolved": "https://registry.npmjs.org/commander/-/commander-2.11.0.tgz",
"integrity": "sha512-b0553uYA5YAEGgyYIGYROzKQ7X5RAqedkfjiZxwi0kL1g3bOaBNNZfYkzt/CL0umgD5wc9Jec2FbB98CjkMRvQ==",
"dev": true
},
"debug": {
"version": "3.1.0",
"resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz",
"integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==",
"dev": true,
"requires": {
"ms": "2.0.0"
}
},
"supports-color": { "supports-color": {
"version": "4.4.0", "version": "4.4.0",
"resolved": "https://registry.npmjs.org/supports-color/-/supports-color-4.4.0.tgz", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-4.4.0.tgz",

View File

@ -95,7 +95,7 @@
"electron": "1.7.11", "electron": "1.7.11",
"electron-builder": "^19.43.3", "electron-builder": "^19.43.3",
"friendly-errors-webpack-plugin": "^1.6.1", "friendly-errors-webpack-plugin": "^1.6.1",
"mocha": "^4.0.1", "mocha": "^4.1.0",
"source-map-support": "^0.5.0", "source-map-support": "^0.5.0",
"spectron": "^3.7.2", "spectron": "^3.7.2",
"style-loader": "^0.19.0", "style-loader": "^0.19.0",

View File

@ -5,7 +5,7 @@ let keepTime = process.hrtime()
let keepUsage = process.cpuUsage() let keepUsage = process.cpuUsage()
let sw = false let sw = false
setInterval(() => { const cpuTimer = setInterval(() => {
if(!sw) { if(!sw) {
keepTime = process.hrtime(); keepTime = process.hrtime();
keepUsage = process.cpuUsage(); keepUsage = process.cpuUsage();
@ -17,6 +17,8 @@ setInterval(() => {
} }
}, 500) }, 500)
cpuTimer.unref()
module.exports = () => { module.exports = () => {
function secNSec2ms (secNSec) { function secNSec2ms (secNSec) {
return secNSec[0] * 1000 + secNSec[1] / 1000000 return secNSec[0] * 1000 + secNSec[1] / 1000000

View File

@ -3,7 +3,8 @@
module.exports = class { module.exports = class {
constructor() { constructor() {
this.generate() this.generate()
setInterval(()=> this.generate(), 60000*15) const it = setInterval(() => this.generate(), 60000*15)
it.unref()
} }
isValid(t) { isValid(t) {

View File

@ -43,7 +43,7 @@ const fs = require('fs');
const debug = require('debug')('config') const debug = require('debug')('config')
let configPath = 'config.json' let configPath = 'config.json'
if(app.getPath("userData") && app.getPath("userData").length > 0) if(app && app.getPath("userData") && app.getPath("userData").length > 0)
{ {
configPath = app.getPath("userData") + '/config.json' configPath = app.getPath("userData") + '/config.json'
} }

25
tests/spider.test.js Normal file
View File

@ -0,0 +1,25 @@
import { expect } from "chai";
const client = new (require('../src/background/bt/client'))
const spider = new (require('../src/background/bt/spider'))(client)
describe("spider check", () => {
it("listen", function() {
spider.listen(4445)
})
it("enshure hash recive", function(done) {
this.timeout(100000);
spider.once('ensureHash', () => done())
})
it("get metadata", function(done) {
this.timeout(120000);
client.once('complete', function (metadata, infohash, rinfo) {
expect(Buffer.isBuffer(infohash))
expect(infohash.length == 20)
spider.close(() => done())
})
});
});