primo passo integrazione con drone
This commit is contained in:
parent
508c81fa8a
commit
5a5850ad80
34
scripts/drone.coffee
Normal file
34
scripts/drone.coffee
Normal file
@ -0,0 +1,34 @@
|
|||||||
|
# Description:
|
||||||
|
# integrazione con drone.io e funzioni annesse
|
||||||
|
#
|
||||||
|
# Dependencies:
|
||||||
|
# None
|
||||||
|
#
|
||||||
|
# Configuration:
|
||||||
|
# None
|
||||||
|
#
|
||||||
|
# Commands:
|
||||||
|
# hubot (mostrami la) copertura (dei test)
|
||||||
|
#
|
||||||
|
# Author:
|
||||||
|
# Enrico Fasoli (fazo96)
|
||||||
|
|
||||||
|
moment = require 'moment'
|
||||||
|
|
||||||
|
module.exports = (robot) ->
|
||||||
|
robot.respond /(?:mostrami la )?(?:copertura|coverage)(?: dei test)?/i, (res) ->
|
||||||
|
url = 'https://drone.io/github.com/fazo96/asjon/files/coverage/coverage.'
|
||||||
|
robot.http(url+'json')
|
||||||
|
.get() (err, resp, body) ->
|
||||||
|
try
|
||||||
|
report = JSON.parse body
|
||||||
|
catch e
|
||||||
|
return res.send 'errore'
|
||||||
|
unless report?.files?.push? and report?.coverage?.toFixed?
|
||||||
|
return res.send 'errore'
|
||||||
|
t = '=== Coverage: ' + report.coverage.toFixed(0) + '%'
|
||||||
|
t += report.files.map (f) ->
|
||||||
|
'\n - ' + f.filename + ' is covered at ' + f.coverage.toFixed(0) + '%'
|
||||||
|
t += '\nHTML report: '+url+'html'
|
||||||
|
t += '\nJSON report: '+url+'json'
|
||||||
|
res.send t
|
@ -83,7 +83,7 @@ module.exports = (robot) ->
|
|||||||
res.send 'anche io ti amo '+(res.message.user.name+' ' or '')+'<3'
|
res.send 'anche io ti amo '+(res.message.user.name+' ' or '')+'<3'
|
||||||
robot.respond /ti odio/i, (res) ->
|
robot.respond /ti odio/i, (res) ->
|
||||||
res.send 'ma cosa ho fatto di male '+(res.message.user.name or '')+'? :('
|
res.send 'ma cosa ho fatto di male '+(res.message.user.name or '')+'? :('
|
||||||
robot.hear /(?:ehi|ciao|(?:bella(?: li)?)) (?:asjon|assa|assion(?:i|e))/i, (res) ->
|
robot.hear /(?:ehi|ciao|we|(?:bella(?: li)?)) (?:asjon|assa|assion(?:i|e))/i, (res) ->
|
||||||
console.log res.match
|
console.log res.match
|
||||||
saluti = ['ciao', 'bella', 'è arrivato', 'eccolooo', 'dimmi', 'weeee', 'ehilà']
|
saluti = ['ciao', 'bella', 'è arrivato', 'eccolooo', 'dimmi', 'weeee', 'ehilà']
|
||||||
res.send res.random(saluti)+' '+res.message.user.name+'!'
|
res.send res.random(saluti)+' '+res.message.user.name+'!'
|
||||||
|
3031
test/coverage.json
Normal file
3031
test/coverage.json
Normal file
File diff suppressed because it is too large
Load Diff
49
test/drone-test.coffee
Normal file
49
test/drone-test.coffee
Normal file
@ -0,0 +1,49 @@
|
|||||||
|
nock = require 'nock'
|
||||||
|
expect = require("chai").should()
|
||||||
|
|
||||||
|
Asjon = require '../asjon-testing.coffee'
|
||||||
|
asjon = undefined
|
||||||
|
|
||||||
|
describe 'modulo drone', ->
|
||||||
|
before (done) ->
|
||||||
|
# Inizializzo robot
|
||||||
|
Asjon (assa) ->
|
||||||
|
asjon = assa
|
||||||
|
after asjon.after
|
||||||
|
afterEach asjon.clear
|
||||||
|
require('../scripts/drone.coffee')(asjon.robot)
|
||||||
|
done()
|
||||||
|
|
||||||
|
it 'dovrebbe rispondere quando interrogato', (done) ->
|
||||||
|
nock('https://drone.io')
|
||||||
|
.get('/github.com/fazo96/asjon/files/coverage/coverage.json')
|
||||||
|
.reply 200, { coverage: 0, files: [] }
|
||||||
|
questions = [
|
||||||
|
"asjon mostrami la copertura dei test"
|
||||||
|
"asjon copertura dei test"
|
||||||
|
"asjon copertura"
|
||||||
|
"asjon coverage"
|
||||||
|
]
|
||||||
|
acc = 0
|
||||||
|
asjon.receive (e,l) ->
|
||||||
|
acc++
|
||||||
|
if acc is questions.length then done()
|
||||||
|
questions.map (q) -> asjon.send q
|
||||||
|
|
||||||
|
it 'dovrebbe reagire correttamente a un errore', (done) ->
|
||||||
|
nock('https://drone.io')
|
||||||
|
.get('/github.com/fazo96/asjon/files/coverage/coverage.json')
|
||||||
|
.reply 200, 'invalid answer'
|
||||||
|
asjon.receive (e,l) ->
|
||||||
|
l.join().should.equal 'errore'
|
||||||
|
done()
|
||||||
|
asjon.send 'asjon coverage'
|
||||||
|
|
||||||
|
it 'dovrebbe parsare correttamente il report json', (done) ->
|
||||||
|
nock('https://drone.io')
|
||||||
|
.get('/github.com/fazo96/asjon/files/coverage/coverage.json')
|
||||||
|
.replyWithFile 200, __dirname+'/coverage.json'
|
||||||
|
asjon.receive (e,l) ->
|
||||||
|
l.join().should.match /^=== Coverage: /g
|
||||||
|
done()
|
||||||
|
asjon.send 'asjon coverage'
|
Loading…
Reference in New Issue
Block a user