Files
shields/services/feedz/feedz.tester.js
Jakub Fijałkowski 878f4fbcbc Add support for NuGet badges from [nuget feedz] hosting (#5753)
* Add support for Feedz NuGet feeds

* Fix tests & error messages that are used

* Cleanup service and change route according to the conventions

* Change route nomenclature

* Extract `searchServiceUrl`, `stripBuildMetadata` and `selectVersion` to NuGet helpers

* Fix Feedz examples

* Fixup the pattern in Feedz examples

Missed save...

* Use MongoDB.Driver.Core in Feedz examples

* Use standard route pattern instead of `RouteBuilder`

* Extract `transform` function in feedz service

* Add simple test for the `apiUrl` function

* Distinguish repository/package errors

Co-authored-by: repo-ranger[bot] <39074581+repo-ranger[bot]@users.noreply.github.com>
2020-11-03 00:52:13 +00:00

90 lines
2.7 KiB
JavaScript

'use strict'
const { ServiceTester } = require('../tester')
const t = (module.exports = new ServiceTester({
id: 'feedz',
title: 'Feedz',
pathPrefix: '',
}))
// The `shieldstests/public` repo is specifically made for these tests. It contains following packages:
// - Shields.NoV1: 0.1.0
// - Shields.TestPackage: 0.0.1, 0.1.0-pre, 1.0.0
// - Shields.TestPreOnly: 0.1.0-pre
// The source code of these packages is here: https://github.com/jakubfijalkowski/shields-test-packages
// version
t.create('version (valid)')
.get('/feedz/v/shieldstests/public/Shields.TestPackage.json')
.expectBadge({
label: 'feedz',
message: 'v1.0.0',
color: 'blue',
})
t.create('version (yellow badge)')
.get('/feedz/v/shieldstests/public/Shields.TestPreOnly.json')
.expectBadge({
label: 'feedz',
message: 'v0.1.0-pre',
color: 'yellow',
})
t.create('version (orange badge)')
.get('/feedz/v/shieldstests/public/Shields.NoV1.json')
.expectBadge({
label: 'feedz',
message: 'v0.1.0',
color: 'orange',
})
t.create('repository (not found)')
.get('/feedz/v/foo/bar/not-a-real-package.json')
.expectBadge({ label: 'feedz', message: 'repository or package not found' })
t.create('version (not found)')
.get('/feedz/v/shieldstests/public/not-a-real-package.json')
.expectBadge({ label: 'feedz', message: 'repository or package not found' })
t.create('non-existing repository')
.get('/feedz/v/shieldstests/does-not-exist/Shields.TestPackage.json')
.expectBadge({ label: 'feedz', message: 'repository or package not found' })
// version (pre)
t.create('version (pre) (valid)')
.get('/feedz/vpre/shieldstests/public/Shields.TestPackage.json')
.expectBadge({
label: 'feedz',
message: 'v1.0.0',
color: 'blue',
})
t.create('version (pre) (yellow badge)')
.get('/feedz/vpre/shieldstests/public/Shields.TestPreOnly.json')
.expectBadge({
label: 'feedz',
message: 'v0.1.0-pre',
color: 'yellow',
})
t.create('version (pre) (orange badge)')
.get('/feedz/vpre/shieldstests/public/Shields.NoV1.json')
.expectBadge({
label: 'feedz',
message: 'v0.1.0',
color: 'orange',
})
t.create('repository (pre) (not found)')
.get('/feedz/vpre/foo/bar/not-a-real-package.json')
.expectBadge({ label: 'feedz', message: 'repository or package not found' })
t.create('version (pre) (not found)')
.get('/feedz/vpre/shieldstests/public/not-a-real-package.json')
.expectBadge({ label: 'feedz', message: 'repository or package not found' })
t.create('non-existing repository')
.get('/feedz/vpre/shieldstests/does-not-exist/Shields.TestPackage.json')
.expectBadge({ label: 'feedz', message: 'repository or package not found' })