18 lines
655 B
JavaScript
18 lines
655 B
JavaScript
import test from 'node:test';
|
|
import assert from 'node:assert/strict';
|
|
import validation from '../src/shared/validation.cjs';
|
|
|
|
const { normalizeBaseUrl, assertCommitMessage, assertDeploymentRequest } = validation;
|
|
|
|
test('normalizes Gitea base URL', () => {
|
|
assert.equal(normalizeBaseUrl('https://gitea.example.com/'), 'https://gitea.example.com');
|
|
});
|
|
|
|
test('rejects blank commit messages', () => {
|
|
assert.throws(() => assertCommitMessage(' '), /commit message/i);
|
|
});
|
|
|
|
test('requires exact SHA and workflow profile', () => {
|
|
assert.throws(() => assertDeploymentRequest({ branch: 'main', workflowFile: 'deploy.yml' }, 'nope'), /commit SHA/i);
|
|
});
|