Files
shields/services/scrutinizer/scrutinizer-build.tester.js
2021-07-09 12:53:55 +01:00

71 lines
1.7 KiB
JavaScript

import Joi from 'joi'
import { isBuildStatus } from '../build-status.js'
import { ServiceTester } from '../tester.js'
export const t = new ServiceTester({
id: 'ScrutinizerBuild',
title: 'ScrutinizerBuild',
pathPrefix: '/scrutinizer/build',
})
t.create('build (GitHub)')
.get('/g/filp/whoops.json')
.expectBadge({
label: 'build',
message: Joi.alternatives().try(isBuildStatus, Joi.equal('unknown')),
})
t.create('build (Bitbucket)')
.get('/b/atlassian/python-bitbucket.json')
.expectBadge({
label: 'build',
message: Joi.alternatives().try(isBuildStatus, Joi.equal('unknown')),
})
t.create('build (branch)')
.get('/g/phpmyadmin/phpmyadmin/master.json')
.expectBadge({
label: 'build',
message: Joi.alternatives().try(isBuildStatus, Joi.equal('unknown')),
})
t.create('build - unknown status')
.get('/g/filp/whoops.json')
.intercept(nock =>
nock('https://scrutinizer-ci.com')
.get('/api/repositories/g/filp/whoops')
.reply(200, {
default_branch: 'master',
applications: {
master: {
build_status: {
status: 'unknown',
},
},
},
})
)
.expectBadge({
label: 'build',
message: 'unknown',
color: 'lightgrey',
})
t.create('build private project')
.get('/gl/propertywindow/propertywindow/client.json')
.expectBadge({
label: 'build',
message: 'not authorized to access project',
})
t.create('build nonexistent project').get('/gp/foo.json').expectBadge({
label: 'build',
message: 'project not found',
})
t.create('build nonexistent branch')
.get('/g/phpmyadmin/phpmyadmin/super-fake/not-real-branch.json')
.expectBadge({
label: 'build',
message: 'branch not found',
})