mirror of
https://github.com/directus/directus.git
synced 2026-04-25 03:00:53 -04:00
* Add black box tests * Revert docker compose file * Update workflow * Try use workflow from dev repo * Increase seedDB() timeout * Disable other checks for now * Change DB sequence * Update jest moduleNameMapper * Update workflow's docker-compose.yml path * Slice array first * Remove differentiation of status code * Delete field only after foreign key constraints are removed * Add checks for different types of primary key * Test global query filter for all field types * Increase timeout for m2o seeding * Add case insensitive string operators * Update filter check to run on relational fields * Enable time field checks * Add seeded random and fix relational seeding * Add casting for integer and bigInteger * Minor fixes * Reduce bigInt values * Separate seeding of DB structure from values * Add primaryKey seeding function * Use automatic IDs except for string pk * Try fix ci * Update package-lock.json * Update common.test for concealed user tokens * Use dynamic field type for m2o.test relational fields * Temporary disable missing nicontains for string type * Add support for alias type filtering * Fix relational filter operator checks * Add initial o2m test * Remove integer pk limit * Add empty checks for string and uuid null * Limit generated integer value to 4 bytes * Patch timezone tests for MSSQL * Remove sample query filter test * Fix timezone test for sqlite * Fix MSSQL uuids * Fix MSSQL timestamp inaccuracy * Cast datetime schema to milliseconds for comparison * Fix MySQL / Maria timestamp inaccuracy * Fix MySQL / Maria between operator inconsistency for float type * Fix missing time datatype in Oracle * Skip filter testing on Oracle * Enable o2m filter tests for other collections * Run tests only on SQLite for PRs unless the Full Tests label exists * Try fix actions * Refactor github actions * Update tests flow setup to use getURL() * Start postgres docker * Reinstate package-lock * Fix geometry test * Remove .gitkeep files * Add todo.md * Rename black box to blackbox Co-authored-by: rijkvanzanten <rijkvanzanten@me.com>
30 lines
758 B
TypeScript
30 lines
758 B
TypeScript
import { Knex } from 'knex';
|
|
import axios from 'axios';
|
|
import { sleep } from './sleep';
|
|
|
|
export async function awaitDatabaseConnection(database: Knex, checkSQL: string): Promise<void | null> {
|
|
for (let attempt = 0; attempt <= 30; attempt++) {
|
|
try {
|
|
await database.raw(checkSQL);
|
|
return null; // success
|
|
} catch (error) {
|
|
await sleep(5000);
|
|
continue;
|
|
}
|
|
}
|
|
throw new Error(`Couldn't connect to DB`);
|
|
}
|
|
|
|
export async function awaitDirectusConnection(port: number): Promise<void | null> {
|
|
for (let attempt = 0; attempt <= 30; attempt++) {
|
|
try {
|
|
await axios.get(`http://localhost:${port}/server/ping`);
|
|
return null; // success
|
|
} catch {
|
|
await sleep(5000);
|
|
continue;
|
|
}
|
|
}
|
|
throw new Error(`Couldn't connect to Directus`);
|
|
}
|