add missing unit test suite

This commit is contained in:
Jarek Krochmalski committed 2026-08-22 09:09:50 +02:00
1 parent 7227b334f9
commit 5f9e6bde3c
160 files changed
+19260 -1164

No files matched your search

+51
View File
@@ -0,0 +1,51 @@
import { describe, test, expect } from 'bun:test';
import { parseImageNameAndTag } from '../src/lib/server/scheduler/tasks/update-utils';
describe('parseImageNameAndTag', () => {
test('adds latest tag when no tag specified', () => {
expect(parseImageNameAndTag('nginx')).toEqual(['nginx', 'latest']);
});
test('splits simple name:tag', () => {
expect(parseImageNameAndTag('nginx:1.25')).toEqual(['nginx', '1.25']);
expect(parseImageNameAndTag('redis:alpine')).toEqual(['redis', 'alpine']);
});
test('handles registry with port and tag', () => {
expect(parseImageNameAndTag('registry.example.com:5000/myimage:v1')).toEqual([
'registry.example.com:5000/myimage',
'v1'
]);
});
test('handles registry with port and no tag', () => {
expect(parseImageNameAndTag('registry.example.com:5000/myimage')).toEqual([
'registry.example.com:5000/myimage',
'latest'
]);
});
test('handles digest-based images', () => {
const digest = 'nginx@sha256:abc123def456';
expect(parseImageNameAndTag(digest)).toEqual([digest, '']);
});
test('handles dockhand-pending suffix', () => {
expect(parseImageNameAndTag('nginx:latest-dockhand-pending')).toEqual([
'nginx',
'latest-dockhand-pending'
]);
});
test('handles namespaced images', () => {
expect(parseImageNameAndTag('library/nginx:latest')).toEqual(['library/nginx', 'latest']);
expect(parseImageNameAndTag('ghcr.io/finsys/dockhand:v1.0.0')).toEqual([
'ghcr.io/finsys/dockhand',
'v1.0.0'
]);
});
test('handles latest tag explicitly', () => {
expect(parseImageNameAndTag('nginx:latest')).toEqual(['nginx', 'latest']);
});
});