aboutsummaryrefslogtreecommitdiffstats
path: root/cypress
diff options
context:
space:
mode:
authorskjnldsv <skjnldsv@protonmail.com>2024-08-22 08:59:19 +0200
committerJohn Molakvoæ <skjnldsv@users.noreply.github.com>2024-08-22 13:32:59 +0200
commitd3a0e8308bdc6937fa455800d02c496ab62450c4 (patch)
treed63e454e951cc97def367b092de0917852cbeba3 /cypress
parentc0781f524f15553891553977848376d672949e7e (diff)
downloadnextcloud-server-d3a0e8308bdc6937fa455800d02c496ab62450c4.tar.gz
nextcloud-server-d3a0e8308bdc6937fa455800d02c496ab62450c4.zip
chore(cypress): enable apcu
Signed-off-by: skjnldsv <skjnldsv@protonmail.com>
Diffstat (limited to 'cypress')
-rw-r--r--cypress/dockerNode.ts30
1 files changed, 24 insertions, 6 deletions
diff --git a/cypress/dockerNode.ts b/cypress/dockerNode.ts
index 14ca7b936b1..2c8aa6c5109 100644
--- a/cypress/dockerNode.ts
+++ b/cypress/dockerNode.ts
@@ -41,10 +41,6 @@ export const startNextcloud = async function(branch: string = getCurrentGitBranc
// https://github.com/apocas/dockerode/issues/357
docker.modem.followProgress(stream, onFinished)
- /**
- *
- * @param err
- */
function onFinished(err) {
if (!err) {
resolve(true)
@@ -91,6 +87,7 @@ export const startNextcloud = async function(branch: string = getCurrentGitBranc
},
Env: [
`BRANCH=${branch}`,
+ 'APCU=1',
],
})
await container.start()
@@ -129,9 +126,28 @@ export const configureNextcloud = async function() {
await runExec(container, ['php', 'occ', 'config:system:set', 'default_locale', '--value', 'en_US'], true)
await runExec(container, ['php', 'occ', 'config:system:set', 'force_locale', '--value', 'en_US'], true)
await runExec(container, ['php', 'occ', 'config:system:set', 'enforce_theme', '--value', 'light'], true)
+
// Speed up test and make them less flaky. If a cron execution is needed, it can be triggered manually.
await runExec(container, ['php', 'occ', 'background:cron'], true)
+ // Checking apcu
+ const distributed = await runExec(container, ['php', 'occ', 'config:system:get', 'memcache.distributed'])
+ const local = await runExec(container, ['php', 'occ', 'config:system:get', 'memcache.local'])
+ const hashing = await runExec(container, ['php', 'occ', 'config:system:get', 'hashing_default_password'])
+
+ console.log('β”œβ”€ Checking APCu configuration... πŸ‘€')
+ if (!distributed.trim().includes('\\OC\\Memcache\\APCu')
+ || !local.trim().includes('\\OC\\Memcache\\APCu')
+ || !hashing.trim().includes('true')) {
+ console.log('└─ APCu is not properly configured πŸ›‘')
+ throw new Error('APCu is not properly configured')
+ }
+ console.log('β”‚ └─ OK !')
+
+ // Saving DB state
+ console.log('β”œβ”€ Creating init DB snapshot...')
+ await runExec(container, ['cp', '/var/www/html/data/owncloud.db', '/var/www/html/data/owncloud.db-init'], true)
+
console.log('└─ Nextcloud is now ready to use πŸŽ‰')
}
@@ -261,7 +277,7 @@ const runExec = async function(
command: string[],
verbose = false,
user = 'www-data',
-) {
+): Promise<string> {
const exec = await container.exec({
Cmd: command,
AttachStdout: true,
@@ -270,6 +286,7 @@ const runExec = async function(
})
return new Promise((resolve, reject) => {
+ let output = ''
exec.start({}, (err, stream) => {
if (err) {
reject(err)
@@ -277,11 +294,12 @@ const runExec = async function(
if (stream) {
stream.setEncoding('utf-8')
stream.on('data', str => {
+ output += str
if (verbose && str.trim() !== '') {
console.log(`β”œβ”€ ${str.trim().replace(/\n/gi, '\nβ”œβ”€ ')}`)
}
})
- stream.on('end', resolve)
+ stream.on('end', () => resolve(output))
}
})
})