提交 0d84e584 编写于 作者: Huan (李卓桓)'s avatar Huan (李卓桓)

code clean up

上级 3644651c
/**
* Wechaty - Wechaty for Bot, Connect ChatBots, Chat as a Service
*
* https://github.com/wechaty/wechaty/
*/
const Config = require('../package.json').wechaty
/**
* 1. ENVIRONMENT VARIABLES + PACKAGES.JSON (default)
*/
Object.assign(Config, {
isDocker: !!process.env.WECHATY_DOCKER
, head: process.env.WECHATY_HEAD || Config.DEFAULT_HEAD
head: process.env.WECHATY_HEAD || Config.DEFAULT_HEAD
, puppet: process.env.WECHATY_PUPPET || Config.DEFAULT_PUPPET
, endpoint: process.env.WECHATY_ENDPOINT || Config.ENDPOINT // wechaty.io api endpoint
})
/**
* 2. ENVIRONMENT VARIABLES (only)
*/
Object.assign(Config, {
port: process.env.WECHATY_PORT || null // 0 for disable port
, profile: process.env.WECHATY_PROFILE || null // DO NOT set DEFAULT_PROFILE, because sometimes user do not want to save session
, token: process.env.WECHATY_TOKEN || null // DO NOT set DEFAULT, because sometimes user do not want to connect to io cloud service
})
, port: process.env.WECHATY_PORT || 0 // 0 for disable port
, profile: process.env.WECHATY_PROFILE || '' // DO NOT set DEFAULT_PROFILE, because sometimes user do not want to save session
, token: process.env.WECHATY_TOKEN || '' // DO NOT set DEFAULT, because sometimes user do not want to connect to io cloud service
/**
* 3. Service Settings
*/
Object.assign(Config, {
// get PORT form cloud service env, ie: heroku
httpPort: process.env.PORT || process.env.WECHATY_PORT || Config.DEFAULT_PORT
})
/**
* 4. Envioronment Identify
*/
Object.assign(Config, {
isDocker: !!(process.env.WECHATY_DOCKER)
})
module.exports = Config.default = Config.Config = Config
......@@ -11,7 +11,8 @@
*/
/**
* do not use `require('../')` here, because it is a loop require
* DO NOT use `require('../')` here!
* because it will casue a LOOP require ERROR
*/
const Wechaty = require('./wechaty')
const Config = require('./config')
......@@ -26,7 +27,7 @@ class IoBot {
throw e
}
this.log = log
this.log.verbose('IoBot', 'constructor() with token:[%s]', token)
this.log.verbose('IoBot', 'constructor() with token: %s', token)
if (!token) {
const e = new Error('constructor() token must be set')
......@@ -45,14 +46,14 @@ class IoBot {
})
wechaty
.on('login' , user => this.log.info('IoBot', `${user.name} logined`))
.on('logout' , user => this.log.info('IoBot', `${user} logouted`))
.on('scan', ({url, code}) => this.log.info('IoBot', `[${code}] ${url}`))
.on('message' , message => {
message.ready()
.then(this.onMessage.bind(this))
.catch(e => this.log.error('IoBot', 'message.ready() %s' , e))
})
.on('login' , user => this.log.info('IoBot', `${user.name} logined`))
.on('logout' , user => this.log.info('IoBot', `${user} logouted`))
.on('scan', ({url, code}) => this.log.info('IoBot', `[${code}] ${url}`))
.on('message' , message => {
message.ready()
.then(this.onMessage.bind(this))
.catch(e => this.log.error('IoBot', 'message.ready() %s' , e))
})
return wechaty.init()
......@@ -67,9 +68,7 @@ class IoBot {
})
}
initWeb(port) {
port = port || process.env.PORT || 8080
initWeb(port = Config.httpPort) {
// if (process.env.DYNO) {
// }
const app = require('express')()
......
......@@ -5,11 +5,14 @@ import sinon from 'sinon'
import { Config, log } from '../'
!Config.isDocker && test('Docker test skipped', function(t) {
t.pass('not in docker, skip docker tests')
})
// !Config.isDocker && test('Docker test skipped', function(t) {
// t.pass('not in docker, skip docker tests')
// })
Config.isDocker && test.skip('Docker smoking test', function(t) {
const n = execSync('ps a | grep Xvfb | grep -v grep | wc -l').toString().replace(/\n/, '', 'g')
t.is(parseInt(n), 1, 'should has Xvfb started')
Config.isDocker && test('Docker smoking test', function(t) {
// const n = execSync('ps a | grep Xvfb | grep -v grep | wc -l').toString().replace(/\n/, '', 'g')
// t.is(parseInt(n), 1, 'should has Xvfb started')
t.notThrows(_ => {
fs.accessSync(Config.BINARY_CHROMIUM, fs.F_OK)
}, 'should exist xvfb-chrome exectable')
})
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册