asjon/test/shell-test.coffee

92 lines
2.8 KiB
CoffeeScript
Raw Normal View History

2015-04-28 14:07:22 +02:00
nock = require 'nock'
expect = require("chai").should()
2017-02-27 00:27:39 +01:00
Asjon = require './asjon-testing.coffee'
2015-04-28 14:07:22 +02:00
asjon = undefined
describe 'modulo shell', ->
before (done) ->
# Inizializzo robot
Asjon (assa) ->
asjon = assa
after asjon.after
afterEach asjon.clear
require('../scripts/shell.coffee')(asjon.robot)
done()
it 'dovrebbe non eseguire i comandi se l\'interlocutore non รจ autorizzato', (done) ->
asjon.receive (e,l) ->
l.join().should.match /BZBZ (.+)/i
done()
process.env.ADMIN_ROOM = '#not-mocha'
2015-04-28 14:07:22 +02:00
asjon.send 'asjon controlla gli aggiornamenti'
2015-09-24 15:12:42 +02:00
ss = ['operazione in corso: ', 'operazione "completata": ']
regexes = [/operazione in corso: (.+)/i, /operazione "completata": (.+)/i]
2015-04-28 14:07:22 +02:00
it 'dovrebbe riconoscere la stanza autorizzata', (done) ->
acc = 0
asjon.receive (e,l) ->
l.join().should.match regexes[acc]
acc++
if acc is 2 then done()
process.env.ADMIN_ROOM = '#mocha'
2015-04-28 14:07:22 +02:00
asjon.send 'asjon controlla gli aggiornamenti'
it 'dovrebbe eseguire i comandi corretti per installare gli aggiornamenti', (done) ->
2018-06-20 20:12:48 +02:00
cmd = 'git pull && yarn install'
2015-04-28 14:07:22 +02:00
acc = 0
asjon.receive (e,l) ->
l.join().should.equal ss[acc]+cmd
acc++
if acc is 2 then done()
process.env.ADMIN_ROOM = '#mocha'
2015-04-28 14:07:22 +02:00
asjon.send 'asjon aggiornati'
it 'dovrebbe eseguire i comandi corretti per controllare gli aggiornamenti', (done) ->
cmd = 'git fetch && git status'
acc = 0
asjon.receive (e,l) ->
l.join().should.equal ss[acc]+cmd
acc++
if acc is 2 then done()
process.env.ADMIN_ROOM = '#mocha'
2015-04-28 14:07:22 +02:00
asjon.send 'asjon controlla gli aggiornamenti'
it 'dovrebbe eseguire i comandi corretti per installare le dipendenze', (done) ->
2018-06-20 20:12:48 +02:00
cmd = 'yarn install'
2015-04-28 14:07:22 +02:00
acc = 0
asjon.receive (e,l) ->
l.join().should.equal ss[acc]+cmd
acc++
if acc is 2 then done()
process.env.ADMIN_ROOM = '#mocha'
2015-04-28 14:07:22 +02:00
asjon.send 'asjon installa le dipendenze'
it 'dovrebbe eseguire i comandi corretti per eseguire i test', (done) ->
2018-06-20 20:12:48 +02:00
cmd = 'yarn test'
2015-04-28 14:07:22 +02:00
acc = 0
asjon.receive (e,l) ->
l.join().should.equal ss[acc]+cmd
acc++
if acc is 2 then done()
process.env.ADMIN_ROOM = '#mocha'
2015-04-28 14:07:22 +02:00
asjon.send 'asjon esegui i test'
it 'dovrebbe autoriavviarsi in caso di update se richiesto', (done) ->
data = ref: 'refs/heads/master'
params = room: '#mocha', user: '#mocha'
acc = 0
asjon.receive (e,l) ->
if acc is 0
2018-06-20 20:12:48 +02:00
l.join().should.equal 'operazione in corso: git pull && yarn install'
if acc is 1
2018-06-20 20:12:48 +02:00
l.join().should.equal 'operazione "completata": git pull && yarn install'
if acc is 2
l.join().should.equal 'riavvio in 5 SECONDI'
acc++
if acc is 3
done()
process.env.AUTO_KILL_ON_UPDATE = 'true'
2018-06-08 08:57:39 +02:00
asjon.robot.emit 'githook', data, params