import pg from "../postgres.js"; // Imports import { insertQuery, selectWhereAnyQuery, updateWhereAnyQuery, } from "../pg-query.js"; // Constants const table = "tests"; const PG_DISABLED = process.env.POSTGRES_DISABLED; // Queries const testsMock = () => { return [ { id: 0, name: "single", class: "single.js", image: "node:latest", isPipeline: false, type: "api", description: "This is a single test", tags: ["cron_1hour", "reg_us", "env_ci", "proj_core", "skip_alt"], path: "tests/assets/suite/single.js", created: Date.now(), mergeRequest: "https://example.com", }, { id: 1, name: "failing", class: "failing.js", image: "node:latest", isPipeline: false, type: "ui", description: "This is a failing test", tags: ["cron_1hour", "reg_us", "env_ci", "proj_core"], path: "tests/assets/suite/failing.js", created: Date.now(), mergeRequest: "https://example.com", }, { id: 2, name: "primary", class: "primary.js", image: "node:latest", isPipeline: true, type: "api", description: "This is a primary test", tags: [ "cron_1hour", "reg_us", "proj_core", "skip_alt", "pipeline_secondary1", ], path: "tests/assets/suite/primary.js", created: Date.now(), mergeRequest: "https://example.com", }, { id: 3, name: "secondary1", class: "secondary1.js", image: "node:latest", isPipeline: true, type: "api", description: "This is a secondary test", tags: [ "cron_1hour", "reg_us", "proj_core", "compound_tertiary1", "compound_tertiary2", ], path: "tests/assets/suite/secondary1.js", created: Date.now(), mergeRequest: "https://example.com", }, { id: 4, name: "secondary2", class: "secondary2.js", image: "node:latest", isPipeline: true, type: "api", description: "This is a secondary2 test", tags: ["cron_1hour", "reg_us", "proj_core", "compound_tertiary3"], path: "tests/assets/suite/secondary2.js", created: Date.now(), mergeRequest: "https://example.com", }, { id: 5, name: "tertiary1", class: "tertiary1.js", image: "node:latest", isPipeline: true, type: "api", description: "This is a third test", tags: ["cron_1hour", "reg_us", "proj_core"], path: "tests/assets/suite/tertiary1.js", created: Date.now(), mergeRequest: "https://example.com", }, { id: 6, name: "tertiary2", class: "tertiary2.js", image: "node:latest", isPipeline: true, type: "api", description: "This is a third2 test", tags: ["cron_1hour", "reg_us", "proj_core"], path: "tests/assets/suite/tertiary2.js", created: Date.now(), mergeRequest: "https://example.com", }, { id: 5, name: "tertiary3", class: "tertiary3.js", image: "node:latest", isPipeline: true, type: "api", description: "This is a third3 test", tags: ["cron_1hour", "reg_us", "proj_core"], path: "tests/assets/suite/tertiary3.js", created: Date.now(), mergeRequest: "https://example.com", }, ]; }; const mappingsMock = () => { return [ [ { name: "primary", delay: 0 }, { name: "secondary1", delay: 1000 }, { name: "tertiary1", delay: 0 }, ], [ { name: "primary", delay: 0 }, { name: "secondary1", delay: 1000 }, { name: "tertiary2", delay: 8000 }, ], [ { name: "primary", delay: 0 }, { name: "secondary2", delay: 0 }, { name: "tertiary3", delay: 3000 }, ], ]; }; export const getTests = async () => { if (PG_DISABLED) return testsMock(); const query = `SELECT * from ${table}`; return pg.query(query); }; export const getPipelineMappings = async () => { if (PG_DISABLED) return mappingsMock(); const query = `SELECT * from ${table}`; return pg.query(query); };