Files
gitea-ci-library/tests/features/step_definitions/common.steps.js
T
niko 29fde14445
CI Main / Load example-gitea-env.conf to pipeline env (push) Successful in 17s
CI Main / Check existing artifact (push) Successful in 12s
unit-tests Link to Bats reports
CI Main / Bats tests (push) Successful in 2m41s
acc-tests Link to Cucumber reports
CI Main / Cucumber tests (push) Successful in 1m44s
CI Main / Move provider version tag (push) Successful in 12s
ci-docker-build-push Docker build & push 0.2.6 OK
CI Main / Build & Push Docker (push) Successful in 38s
CI Main / Report Summary (push) Successful in 5s
Fix/fragile test (#19)
Co-authored-by: moilanik <niko.moilanen@tietoevry.com>
Reviewed-on: #19
2026-06-17 07:41:01 +03:00

34 lines
1.1 KiB
JavaScript

const { execSync, spawn } = require('child_process');
const { Before, After, Given } = require('@cucumber/cucumber');
const path = require('path');
const PROJECT_ROOT = path.resolve(__dirname, '..', '..', '..');
const MOCK_SCRIPT = path.join(PROJECT_ROOT, 'tests', 'helpers', 'mock-api.sh');
Before({ tags: '@mock' }, function () {
const out = execSync(`bash -c 'source "${MOCK_SCRIPT}" && mock_start && sleep 1 && curl -s -o /dev/null -w "%{http_code}" --max-time 3 http://localhost:18080/api/v1/repos/health/check'`, {
cwd: PROJECT_ROOT,
encoding: 'utf-8',
stdio: ['pipe', 'pipe', 'pipe'],
});
const trimmed = out.trim();
if (!trimmed.startsWith('2') && !trimmed.startsWith('4')) {
throw new Error(`Mock server failed to start (HTTP ${trimmed})`);
}
});
After({ tags: '@mock' }, function () {
try {
execSync(`bash -c 'source "${MOCK_SCRIPT}" && mock_stop'`, {
cwd: PROJECT_ROOT,
stdio: 'ignore',
});
} catch (_) { /* ignore */ }
});
Given('a project repository exists in Gitea', function () {
});
Given('a commit has been pushed to the repository', function () {
});