feat: Enhance reference validation and add support for Handle URLs
Some checks failed
CI Pipeline / japa-tests (push) Failing after 51s

- Updated reference validation to handle various identifier types including DOI, ISBN, ISSN, URN, and Handle.
- Improved regex patterns for DOI and Handle validation to correctly extract and validate identifiers from URLs.
- Added asynchronous checks to verify the existence of DOI and Handle URLs.
- Added asynchronous checks to verify the existence of  ISBNs
- Included detailed comments explaining the regex patterns and validation logic.
- Adjusted the validation logic to handle any URL prefix for Handle identifiers.
- Ensured that the Handle format `handle/20.500.12854/36478` is correctly validated.
- Updated the CI workflow to trigger on push and pull request events.
This commit is contained in:
Kaimbacher 2025-01-24 17:11:10 +01:00
parent 537c6fd81a
commit 2c4f51be68
12 changed files with 538 additions and 162 deletions

View file

@ -15,7 +15,7 @@ import { assert } from '@japa/assert';
import { apiClient } from '@japa/api-client';
import { pluginAdonisJS } from '@japa/plugin-adonisjs';
import app from '@adonisjs/core/services/app';
import env from '#start/env'
/*
|--------------------------------------------------------------------------
| Japa Plugins
@ -28,7 +28,13 @@ import app from '@adonisjs/core/services/app';
|
*/
// export const plugins: Required<Config>['plugins'] = [assert(), runFailedTests(), apiClient()];
export const plugins: Config['plugins'] = [assert(), apiClient(), pluginAdonisJS(app)];
export const plugins: Config['plugins'] = [
assert(),
apiClient({
baseURL: `http://${env.get('HOST')}:${env.get('PORT')}`,
}),
pluginAdonisJS(app),
];
/*
|--------------------------------------------------------------------------
@ -59,11 +65,18 @@ export const reporters: Required<Config>['reporters'] = {
*/
export const runnerHooks: Pick<Required<Config>, 'setup' | 'teardown'> = {
setup: [
() => {
console.log('running before all the tests');
},
// () => testUtils.ace().loadCommands(),
() => testUtils.db().migrate(),
// () => testUtils.httpServer().start(),
],
teardown: [],
teardown: [
() => {
console.log('running after all the tests');
},
],
};
/*