Split up [github] testers (#2560)
- Update github contributors badge for `create-service-tester`.
This commit is contained in:
93
services/github/github-license.tester.js
Normal file
93
services/github/github-license.tester.js
Normal file
@@ -0,0 +1,93 @@
|
||||
'use strict'
|
||||
|
||||
const { makeColor } = require('../../lib/badge-data')
|
||||
const { licenseToColor } = require('../../lib/licenses')
|
||||
const { colorScheme: colorsB } = require('../test-helpers')
|
||||
|
||||
const publicDomainLicenseColor = makeColor(licenseToColor('CC0-1.0'))
|
||||
const permissiveLicenseColor = colorsB[licenseToColor('MIT')]
|
||||
const copyleftLicenseColor = colorsB[licenseToColor('GPL-3.0')]
|
||||
const unknownLicenseColor = colorsB[licenseToColor()]
|
||||
|
||||
const t = (module.exports = require('../create-service-tester')())
|
||||
|
||||
t.create('Public domain license')
|
||||
.get('/github/gitignore.json?style=_shields_test')
|
||||
.expectJSON({
|
||||
name: 'license',
|
||||
value: 'CC0-1.0',
|
||||
colorB: publicDomainLicenseColor,
|
||||
})
|
||||
|
||||
t.create('Copyleft license')
|
||||
.get('/ansible/ansible.json?style=_shields_test')
|
||||
.expectJSON({
|
||||
name: 'license',
|
||||
value: 'GPL-3.0',
|
||||
colorB: copyleftLicenseColor,
|
||||
})
|
||||
|
||||
t.create('Permissive license')
|
||||
.get('/atom/atom.json?style=_shields_test')
|
||||
.expectJSON({ name: 'license', value: 'MIT', colorB: permissiveLicenseColor })
|
||||
|
||||
t.create('License for repo without a license')
|
||||
.get('/badges/badger.json?style=_shields_test')
|
||||
.expectJSON({ name: 'license', value: 'missing', colorB: colorsB.red })
|
||||
|
||||
t.create('License for repo with an unrecognized license')
|
||||
.get('/philokev/sopel-noblerealms.json?style=_shields_test')
|
||||
.expectJSON({
|
||||
name: 'license',
|
||||
value: 'unknown',
|
||||
colorB: unknownLicenseColor,
|
||||
})
|
||||
|
||||
t.create('License with SPDX id not appearing in configuration')
|
||||
.get('/user1/project-with-EFL-license.json?style=_shields_test')
|
||||
.intercept(nock =>
|
||||
nock('https://api.github.com')
|
||||
.get('/repos/user1/project-with-EFL-license')
|
||||
.query(true)
|
||||
// GitHub API currently returns "other" as a key for repo with EFL license
|
||||
.reply(200, {
|
||||
license: {
|
||||
key: 'efl-1.0',
|
||||
name: 'Eiffel Forum License v1.0',
|
||||
spdx_id: 'EFL-1.0',
|
||||
url: 'https://api.github.com/licenses/efl-1.0',
|
||||
featured: true,
|
||||
},
|
||||
})
|
||||
)
|
||||
.expectJSON({
|
||||
name: 'license',
|
||||
value: 'EFL-1.0',
|
||||
colorB: unknownLicenseColor,
|
||||
})
|
||||
|
||||
t.create('License for unknown repo')
|
||||
.get('/user1/github-does-not-have-this-repo.json?style=_shields_test')
|
||||
.expectJSON({
|
||||
name: 'license',
|
||||
value: 'repo not found',
|
||||
colorB: colorsB.lightgrey,
|
||||
})
|
||||
|
||||
t.create('License - API rate limit exceeded')
|
||||
.get('/user1/repo1.json?style=_shields_test')
|
||||
.intercept(nock =>
|
||||
nock('https://api.github.com')
|
||||
.get('/repos/user1/repo1')
|
||||
.query(true)
|
||||
.reply(403, {
|
||||
message:
|
||||
"API rate limit exceeded for 123.123.123.123. (But here's the good news: Authenticated requests get a higher rate limit. Check out the documentation for more details.)",
|
||||
documentation_url: 'https://developer.github.com/v3/#rate-limiting',
|
||||
})
|
||||
)
|
||||
.expectJSON({
|
||||
name: 'license',
|
||||
value: 'access denied',
|
||||
colorB: colorsB.lightgrey,
|
||||
})
|
||||
Reference in New Issue
Block a user