UNPKG

hubot-deploy

Version:
73 lines (62 loc) 3.32 kB
VCR = require "ys-vcr" Path = require "path" srcDir = Path.join(__dirname, "..", "..", "..", "src") Version = require(Path.join(srcDir, "version")).Version Deployment = require(Path.join(srcDir, "github", "api")).Deployment describe "Deployment#rawPost", () -> beforeEach () -> VCR.playback() afterEach () -> VCR.stop() it "does not create a deployment due to bad authentication", (done) -> VCR.play '/repos-atmos-hubot-deploy-deployment-production-create-bad-auth' deployment = new Deployment("hubot-deploy", "master", "deploy", "production", "", "") deployment.rawPost (err, status, body, headers) -> unless err throw new Error("Should've thrown bad auth") assert.equal "Bad credentials", err.message assert.equal 401, err.statusCode done() it "does not create a deployment due to missing required commit statuses", (done) -> VCR.play '/repos-atmos-hubot-deploy-deployment-production-create-required-status-missing' deployment = new Deployment("hubot-deploy", "master", "deploy", "production", "", "") deployment.rawPost (err, status, body, headers) -> throw err if err assert.equal 409, status assert.equal "Conflict: Commit status checks failed for master", body.message done() it "does not create a deployment due to failing required commit statuses", (done) -> VCR.play '/repos-atmos-hubot-deploy-deployment-production-create-required-status-failing' deployment = new Deployment("hubot-deploy", "master", "deploy", "production", "", "") deployment.rawPost (err, status, body, headers) -> throw err if err assert.equal 409, status assert.equal "Conflict: Commit status checks failed for master", body.message assert.equal "continuous-integration/travis-ci/push", body.errors[0].contexts[0].context assert.equal "code-climate", body.errors[0].contexts[1].context done() it "sometimes can't auto-merge when the requested ref is behind the default branch", (done) -> VCR.play '/repos-atmos-hubot-deploy-deployment-production-create-auto-merged-failed' deployment = new Deployment("hubot-deploy", "topic", "deploy", "production", "", "") deployment.rawPost (err, status, body, headers) -> throw err if err assert.equal 409, status assert.equal "Conflict merging master into topic.", body.message done() it "successfully auto-merges when the requested ref is behind the default branch", (done) -> VCR.play '/repos-atmos-hubot-deploy-deployment-production-create-auto-merged' deployment = new Deployment("hubot-deploy", "topic", "deploy", "production", "", "") deployment.rawPost (err, status, body, headers) -> throw err if err assert.equal 202, status assert.equal "Auto-merged master into topic on deployment.", body.message done() it "successfully created deployment", (done) -> VCR.play '/repos-atmos-hubot-deploy-deployment-production-create-success' deployment = new Deployment("hubot-deploy", "master", "deploy", "production", "", "") deployment.rawPost (err, status, body, headers) -> throw err if err assert.equal 201, status assert.equal "deploy", body.deployment.task assert.equal "production", body.deployment.environment done()