hubot-deploy
Version:
hubot script for GitHub Flow
56 lines (43 loc) • 1.83 kB
text/coffeescript
VCR = require "ys-vcr"
Path = require "path"
Robot = require "hubot/src/robot"
TextMessage = require("hubot/src/message").TextMessage
Verifiers = require(Path.join(__dirname, "..", "..", "src", "models", "verifiers"))
describe "Deploying from chat", () ->
user = null
robot = null
adapter = null
beforeEach (done) ->
VCR.playback()
process.env.HUBOT_DEPLOY_FERNET_SECRETS or= "HSfTG4uWzw9whtlLEmNAzscHh96eHUFt3McvoWBXmHk="
process.env.HUBOT_DEPLOY_EMIT_GITHUB_DEPLOYMENTS = true
robot = new Robot(null, "mock-adapter", true, "Hubot")
robot.adapter.on "connected", () ->
require("../../index")(robot)
userInfo =
name: "atmos",
room: "#my-room"
user = robot.brain.userForId "1", userInfo
adapter = robot.adapter
done()
robot.run()
afterEach () ->
delete(process.env.HUBOT_DEPLOY_DEFAULT_ENVIRONMENT)
VCR.stop()
robot.server.close()
robot.shutdown()
it "creates deployments when requested from chat", (done) ->
VCR.play '/repos-atmos-hubot-deploy-deployment-production-create-success'
robot.on "github_deployment", (msg, deployment) ->
assert.equal "hubot-deploy", deployment.name
assert.equal "production", deployment.env
done()
adapter.receive(new TextMessage(user, "Hubot deploy hubot-deploy"))
it "allows for the default environment to be overridden by an env var", (done) ->
process.env.HUBOT_DEPLOY_DEFAULT_ENVIRONMENT = "staging"
VCR.play '/repos-atmos-hubot-deploy-deployment-staging-create-success'
robot.on "github_deployment", (msg, deployment) ->
assert.equal "hubot-deploy", deployment.name
assert.equal "staging", deployment.env
done()
adapter.receive(new TextMessage(user, "Hubot deploy hubot-deploy"))