1
0
Fork 0
mirror of synced 2024-09-19 02:39:37 +12:00
budibase/packages/backend-core/tests/utilities/testContainerUtils.ts

43 lines
1.1 KiB
TypeScript
Raw Normal View History

2023-02-01 00:23:26 +13:00
function getTestContainerSettings(serverName: string, key: string) {
2023-02-02 04:02:31 +13:00
const entry = Object.entries(global).find(
2023-02-01 00:23:26 +13:00
([k]) =>
k.includes(`_${serverName.toUpperCase()}`) &&
k.includes(`_${key.toUpperCase()}__`)
2023-02-02 04:02:31 +13:00
)
if (!entry) {
return null
}
return entry[1]
2023-02-01 00:23:26 +13:00
}
function getCouchConfig() {
const port = getTestContainerSettings("COUCHDB-SERVICE", "PORT_5984")
return {
port,
url: `http://${getTestContainerSettings("COUCHDB-SERVICE", "IP")}:${port}`,
}
}
function getMinioConfig() {
const port = getTestContainerSettings("MINIO-SERVICE", "PORT_9000")
return {
port,
url: `http://${getTestContainerSettings("MINIO-SERVICE", "IP")}:${port}`,
}
}
export function setupEnv(...envs: any[]) {
const configs = [
{ key: "COUCH_DB_PORT", value: getCouchConfig().port },
{ key: "COUCH_DB_URL", value: getCouchConfig().url },
{ key: "MINIO_PORT", value: getMinioConfig().port },
{ key: "MINIO_URL", value: getMinioConfig().url },
]
2023-02-02 04:02:31 +13:00
for (const config of configs.filter(x => x.value !== null)) {
2023-02-01 00:23:26 +13:00
for (const env of envs) {
env._set(config.key, config.value)
}
}
}