19 lines
854 B
JavaScript
19 lines
854 B
JavaScript
import test from 'node:test';
|
|
import assert from 'node:assert/strict';
|
|
import matching from '../src/shared/repository-match.cjs';
|
|
|
|
const { normalizeRemoteUrl, matchRemoteToRepository } = matching;
|
|
const repositories = [{ full_name: 'jens/forgeflow', name: 'forgeflow', owner: { login: 'jens' } }];
|
|
|
|
test('normalizes HTTPS remotes', () => {
|
|
assert.deepEqual(normalizeRemoteUrl('https://gitea.internal/jens/forgeflow.git'), { host: 'gitea.internal', path: 'jens/forgeflow' });
|
|
});
|
|
|
|
test('normalizes SCP-style SSH remotes', () => {
|
|
assert.deepEqual(normalizeRemoteUrl('git@gitea.internal:jens/forgeflow.git'), { host: 'gitea.internal', path: 'jens/forgeflow' });
|
|
});
|
|
|
|
test('matches local remote to Gitea full name', () => {
|
|
assert.equal(matchRemoteToRepository('git@gitea.internal:jens/forgeflow.git', repositories)?.full_name, 'jens/forgeflow');
|
|
});
|