Skip to content

Commit

Permalink
push stats data
Browse files Browse the repository at this point in the history
  • Loading branch information
thanhson1085 committed May 29, 2020
1 parent cdfc31a commit d2665aa
Show file tree
Hide file tree
Showing 2 changed files with 75 additions and 14 deletions.
32 changes: 32 additions & 0 deletions stats/tomobridge.js
@@ -0,0 +1,32 @@
const request = require('request')
const urljoin = require('url-join')

const push = ({ table, name, address, value }) => {
return new Promise(async (resolve, reject) => {
let url = urljoin(`https://metrics.tomochain.com`, 'write', '?db=tomobridge')
let data = `
${table},name=${name},address=${address} value=${value}
`
let options = {
method: 'POST',
url: url,
encoding: null,
body: Buffer.from(data, 'utf-8')
}
request(options, (error, response, body) => {
if (error) {
return reject(error)
}
if (response.statusCode !== 200 && response.statusCode !== 201) {
return reject(body)
}

return resolve(body)
})

})
}

module.exports = {
push
}
57 changes: 43 additions & 14 deletions test/tomobridge.js
Expand Up @@ -6,6 +6,7 @@ let config = require('config')
let urljoin = require('url-join')
let uri = (config.tomobridge || {}).uri
let BigNumber = require('bignumber.js')
let Stats = require('../stats/tomobridge')
let TomoJS = require('tomojs')
let moment = require('moment')

Expand Down Expand Up @@ -204,9 +205,13 @@ describe('TomoBridge', () => {
res.should.have.status(200)
res.should.be.json
let balance = parseFloat((new BigNumber(res.body.result)).dividedBy(1e18).toString(10))
console.log(`address=${address} balance=${balance}`)
expect(balance).to.above(0.05, 'Not enough balance for wallet fee')
done()
return Stats.push({
table: 'feewallets',
name: 'ETH',
address: address,
value: balance
}).then(() => done()).catch(() => done())
})
})
})
Expand All @@ -225,8 +230,12 @@ describe('TomoBridge', () => {
.end((err, res) => {
res.should.have.status(200)
let balance = parseFloat((new BigNumber(res.text)).dividedBy(1e8).toString(10))
console.log(`token=BTC address=${btc} balance=${balance}`)
resolve()
return Stats.push({
table: 'coins',
name: 'BTC',
address: btc,
value: balance
}).then(() => resolve()).catch(() => resolve())
})
})
map.push(p)
Expand All @@ -243,8 +252,12 @@ describe('TomoBridge', () => {
res.should.have.status(200)
res.should.be.json
let balance = parseFloat((new BigNumber(res.body.result)).dividedBy(1e18).toString(10))
console.log(`token=ETH address=${eth} balance=${balance}`)
resolve()
return Stats.push({
table: 'coins',
name: 'ETH',
address: eth,
value: balance
}).then(() => resolve()).catch(() => resolve())
})
})
map.push(p)
Expand All @@ -260,8 +273,12 @@ describe('TomoBridge', () => {
res.should.have.status(200)
res.should.be.json
let balance = parseFloat((new BigNumber(res.body.result)).dividedBy(1e6).toString(10))
console.log(`token=USDT address=${eth} balance=${balance}`)
resolve()
return Stats.push({
table: 'coins',
name: 'USDT',
address: usdt,
value: balance
}).then(() => resolve()).catch(() => resolve())
})
})
map.push(p)
Expand All @@ -274,8 +291,12 @@ describe('TomoBridge', () => {
let p = new Promise((resolve, reject) => {
return tomojs.tomoz.getTokenInformation(trc21usdt).then(data => {
let totalSupply = data.totalSupply
console.log(`token=USDT address=${trc21usdt} totalSupply=${totalSupply}`)
resolve()
return Stats.push({
table: 'trc21tokens',
name: 'USDT',
address: trc21usdt,
value: totalSupply
}).then(() => resolve()).catch(() => resolve())
}).catch(e => reject(e))
})
map.push(p)
Expand All @@ -287,8 +308,12 @@ describe('TomoBridge', () => {
let p = new Promise((resolve, reject) => {
return tomojs.tomoz.getTokenInformation(trc21eth).then(data => {
let totalSupply = data.totalSupply
console.log(`token=ETH address=${trc21eth} totalSupply=${totalSupply}`)
resolve()
return Stats.push({
table: 'trc21tokens',
name: 'ETH',
address: trc21eth,
value: totalSupply
}).then(() => resolve()).catch(() => resolve())
}).catch(e => reject(e))
})
map.push(p)
Expand All @@ -300,8 +325,12 @@ describe('TomoBridge', () => {
let p = new Promise((resolve, reject) => {
return tomojs.tomoz.getTokenInformation(trc21btc).then(data => {
let totalSupply = data.totalSupply
console.log(`token=BTC address=${trc21btc} totalSupply=${totalSupply}`)
resolve()
return Stats.push({
table: 'trc21tokens',
name: 'BTC',
address: trc21btc,
value: totalSupply
}).then(() => resolve()).catch(() => resolve())
}).catch(e => reject(e))
})
map.push(p)
Expand Down

0 comments on commit d2665aa

Please sign in to comment.