Files
shields/services/azure-devops/azure-devops-build.tester.js
Thomas Démoulins 678359bdd6 Fix orange statuses, run tests for [AppveyorCi AzureDevOps Bitbucket CircleCi Gitlab Readthedocs Shippable Wercker] (#2776)
* Fix orange statuses

* Add test for partially succeeded build

* Add service test for partially succeeded builds

* Add service test for partially succeeded builds
2019-01-15 18:56:42 -06:00

53 lines
1.5 KiB
JavaScript

'use strict'
const Joi = require('joi')
const { isBuildStatus } = require('../../lib/build-status')
// https://dev.azure.com/totodem/Shields.io is a public Azure DevOps project
// solely created for Shields.io testing.
const t = (module.exports = require('../create-service-tester')())
t.create('default branch')
.get(
'/azure-devops/build/totodem/8cf3ec0e-d0c2-4fcd-8206-ad204f254a96/2.json'
)
.expectJSONTypes(
Joi.object().keys({
name: 'build',
value: isBuildStatus,
})
)
t.create('named branch')
.get(
'/azure-devops/build/totodem/8cf3ec0e-d0c2-4fcd-8206-ad204f254a96/2/master.json'
)
.expectJSONTypes(
Joi.object().keys({
name: 'build',
value: isBuildStatus,
})
)
t.create('unknown definition')
.get(
'/azure-devops/build/larsbrinkhoff/953a34b9-5966-4923-a48a-c41874cfb5f5/515.json'
)
.expectJSON({ name: 'build', value: 'definition not found' })
t.create('unknown project')
.get('/azure-devops/build/larsbrinkhoff/foo/515.json')
.expectJSON({ name: 'build', value: 'user or project not found' })
t.create('unknown user')
.get('/azure-devops/build/notarealuser/foo/515.json')
.expectJSON({ name: 'build', value: 'user or project not found' })
// The following build definition has always a partially succeeded status
t.create('partially succeeded build')
.get(
'/azure-devops/build/totodem/8cf3ec0e-d0c2-4fcd-8206-ad204f254a96/4.json?style=_shields_test'
)
.expectJSON({ name: 'build', value: 'passing', color: 'orange' })