1
0
mirror of https://git.cloudron.io/cloudron/minio-app synced 2025-09-13 08:19:12 +00:00

Compare commits

...

24 Commits

Author SHA1 Message Date
Package Updates
52221cca35 Update package version to 3.16.0 2024-11-08 08:35:46 +00:00
Renovate Bot
ea4dfaccf3 chore(deps): update dependency minio/minio to release.2024-11-07t00-52-20z
| datasource      | package     | from                         | to                           |
| --------------- | ----------- | ---------------------------- | ---------------------------- |
| github-releases | minio/minio | RELEASE.2024-10-29T16-01-48Z | RELEASE.2024-11-07T00-52-20Z |
2024-11-08 00:19:19 +00:00
Girish Ramakrishnan
bbcfa6b84e Update renovate.json5 2024-11-04 17:09:59 +00:00
Girish Ramakrishnan
19866198e1 Add renovate.json5 2024-11-04 17:02:55 +00:00
Girish Ramakrishnan
87c4917e82 Delete renovate.json 2024-11-04 16:56:46 +00:00
Girish Ramakrishnan
0f0c70fe95 Delete .gitlab-ci.yml 2024-11-04 08:37:56 +00:00
Johannes Zellner
17670769fa Bump version 2024-10-31 09:21:09 +01:00
Renovate Bot
038ebcd485 chore(deps): update dependency minio/minio to release.2024-10-29t16-01-48z
| datasource      | package     | from                         | to                           |
| --------------- | ----------- | ---------------------------- | ---------------------------- |
| github-releases | minio/minio | RELEASE.2024-10-13T13-34-11Z | RELEASE.2024-10-29T16-01-48Z |
2024-10-31 00:19:17 +00:00
Girish Ramakrishnan
69894610e9 Version 3.15.1 2024-10-15 23:07:36 +02:00
Renovate Bot
38d81367d3 chore(deps): update dependency minio/minio to release.2024-10-13t13-34-11z 2024-10-15 20:47:50 +00:00
Girish Ramakrishnan
8bfac72b10 Update renovate config 2024-10-06 13:45:54 +00:00
Girish Ramakrishnan
6e0cf2f9d8 Version 3.15.0 2024-10-03 21:01:54 +02:00
Renovate Bot
fd48a26065 chore(deps): update dependency minio/minio to release.2024-10-02t17-50-41z 2024-10-03 18:15:58 +00:00
Girish Ramakrishnan
ef398fbdeb add ci file 2024-10-03 20:15:43 +02:00
Girish Ramakrishnan
fb570b0256 maybe? 2024-10-03 19:59:04 +02:00
Girish Ramakrishnan
e2a4a1b594 add build to the mix 2024-10-03 19:10:59 +02:00
Girish Ramakrishnan
242ca7052b too many slashes? 2024-10-03 19:04:48 +02:00
Girish Ramakrishnan
ecfd75afd1 loose does not seem to work 2024-10-03 19:02:49 +02:00
Renovate Bot
6ac4576a7f chore(deps): add renovate.json 2024-10-03 16:45:07 +00:00
Girish Ramakrishnan
635924b0e5 add renovate 2024-10-03 18:43:37 +02:00
Girish Ramakrishnan
bcde4b30d6 add ci files 2024-10-03 18:23:28 +02:00
Girish Ramakrishnan
e0a5ac3fe2 Version 3.14.0 2024-09-23 23:37:11 +02:00
Girish Ramakrishnan
7ec1c63a02 Update test packages 2024-09-23 23:23:06 +02:00
Girish Ramakrishnan
9cefaa80be Update minio to 2024-09-22T00-33-43Z 2024-09-23 23:21:08 +02:00
7 changed files with 154 additions and 75 deletions

View File

@@ -2682,3 +2682,52 @@ Improve replication performance. See (#12080, #12054, #12009) for more details.
* PutObject() for multi-pooled was holding large region locks, which was not necessary. This affects almost all slowpoke clients and lengthy uploads. * PutObject() for multi-pooled was holding large region locks, which was not necessary. This affects almost all slowpoke clients and lengthy uploads.
* Re-arrange locks for CompleteMultipart, PutObject to be close to rename() * Re-arrange locks for CompleteMultipart, PutObject to be close to rename()
[3.14.0]
* Update minio to 2024-09-22T00-33-43Z
* [Changelog](https://github.com/minio/minio/releases/tag/RELEASE.2024-09-22T00-33-43Z)
* Limit S3 Select JSON documents to 10MB by @klauspost in #20439
* remove windows CI/CD for now by @harshavardhana in #20441
* Fix behavior of AddServiceAccountLDAP for non-admin users by @taran-p in #20442
* Added iam import tests for openid by @shtripat in #20432
* batch: Set a default retry attempts and a prefix by @vadmeste in #20452
* Ensure proper stale_uploads_cleanup_interval is used at all times by @ramondeklein in #20451
[3.15.0]
* Update minio to 2024-10-02T17-50-41Z
* [Changelog](https://github.com/minio/minio/releases/tag/RELEASE.2024-10-02T17-50-41Z)
* Limit jstream parse depth by @klauspost in #20474
* remove the list from 'mc stat' from testing via '--no-list' by @harshavardhana in #20468
* cleanup existing part.N's before renamePart() by @harshavardhana in #20466
* hold on to batch job stats till cleanup by @poornas in #20480
* use absolute path for binary checksum verification by @harshavardhana in #20487
* Fix PPC cgroup memory limit by @klauspost in #20488
[3.15.1]
* Update minio to 2024-10-13T13-34-11Z
* [Changelog](https://github.com/minio/minio/releases/tag/RELEASE.2024-10-13T13-34-11Z)
[3.15.2]
* Update minio to 2024-10-29T16-01-48Z
* [Changelog](https://github.com/minio/minio/releases/tag/RELEASE.2024-10-29T16-01-48Z)
* Correct the date filter check for batch replication by @shtripat in https://github.com/minio/minio/pull/20569
* Clear omitted fields by @klauspost in https://github.com/minio/minio/pull/20575
* Trace ILM errors by @klauspost in https://github.com/minio/minio/pull/20576
* Fix ILM expire workers exiting by @klauspost in https://github.com/minio/minio/pull/20578
* fix: avoid useless expires value in listing meta by @donatello in https://github.com/minio/minio/pull/20584
* heal: Avoid deadline error with very large objects (#140) by @vadmeste in https://github.com/minio/minio/pull/20586
* heal: large objects fix and avoid .healing.bin corner case premature exit by @vadmeste in https://github.com/minio/minio/pull/20577
* run IAM purge routines deterministically every hr by @donatello in https://github.com/minio/minio/pull/20587
[3.16.0]
* Update Minio to RELEASE.2024-11-07T00-52-20Z
* [Full Changelog](https://github.com/minio/minio/releases/tag/RELEASE.2024-11-07T00-52-20Z)
* Update README.md by [@​allanrogerr](https://github.com/allanrogerr) in https://github.com/minio/minio/pull/20599
* Remove `expires` field from list objects metadata by [@​donatello](https://github.com/donatello) in https://github.com/minio/minio/pull/20600
* add tests for ILM transition and healing ([#​166](https://github.com/minio/minio/issues/166)) by [@​harshavardhana](https://github.com/harshavardhana) in https://github.com/minio/minio/pull/20601
* Update console package to v1.7.3 by [@​cesnietor](https://github.com/cesnietor) in https://github.com/minio/minio/pull/20606
* Bump github.com/golang-jwt/jwt/v4 from 4.5.0 to 4.5.1 by [@​dependabot](https://github.com/dependabot) in https://github.com/minio/minio/pull/20611
* Fix msgUnPath crash by [@​klauspost](https://github.com/klauspost) in https://github.com/minio/minio/pull/20614
* docs: remove redundant prometheus metric by [@​erfantkerfan](https://github.com/erfantkerfan) in https://github.com/minio/minio/pull/20618
* decompress audit log properly before sending to remote target by [@​ramondeklein](https://github.com/ramondeklein) in https://github.com/minio/minio/pull/20619
* [@​erfantkerfan](https://github.com/erfantkerfan) made their first contribution in https://github.com/minio/minio/pull/20618

View File

@@ -5,8 +5,8 @@
"description": "file://DESCRIPTION.md", "description": "file://DESCRIPTION.md",
"changelog": "file://CHANGELOG", "changelog": "file://CHANGELOG",
"tagline": "Distributed object storage", "tagline": "Distributed object storage",
"version": "3.13.39", "version": "3.16.0",
"upstreamVersion": "RELEASE.2024-09-13T20-26-02Z", "upstreamVersion": "RELEASE.2024-11-07T00-52-20Z",
"healthCheckPath": "/minio/login", "healthCheckPath": "/minio/login",
"memoryLimit": 2147483648, "memoryLimit": 2147483648,
"httpPort": 8000, "httpPort": 8000,
@@ -20,7 +20,9 @@
}, },
"addons": { "addons": {
"localstorage": {}, "localstorage": {},
"oidc": { "loginRedirectUri": "/oauth_callback" } "oidc": {
"loginRedirectUri": "/oauth_callback"
}
}, },
"optionalSso": true, "optionalSso": true,
"manifestVersion": 2, "manifestVersion": 2,
@@ -30,7 +32,12 @@
"documentationUrl": "https://docs.cloudron.io/apps/minio/", "documentationUrl": "https://docs.cloudron.io/apps/minio/",
"contactEmail": "support@cloudron.io", "contactEmail": "support@cloudron.io",
"icon": "logo.png", "icon": "logo.png",
"tags": [ "storage", "hosting", "s3", "objectstore" ], "tags": [
"storage",
"hosting",
"s3",
"objectstore"
],
"mediaLinks": [ "mediaLinks": [
"https://screenshots.cloudron.io/io.minio.cloudronapp/pic1.png", "https://screenshots.cloudron.io/io.minio.cloudronapp/pic1.png",
"https://screenshots.cloudron.io/io.minio.cloudronapp/pic2.png" "https://screenshots.cloudron.io/io.minio.cloudronapp/pic2.png"

View File

@@ -3,12 +3,12 @@ FROM cloudron/base:4.2.0@sha256:46da2fffb36353ef714f97ae8e962bd2c212ca091108d768
RUN mkdir -p /app/code RUN mkdir -p /app/code
WORKDIR /app/code WORKDIR /app/code
ARG VERSION=RELEASE.2024-09-13T20-26-02Z # renovate: datasource=github-releases depName=minio/minio versioning=regex:^RELEASE\.(?<major>\d{4})-(?<minor>\d{2})-(?<patch>\d{2})T(?<build>.+)
ARG MINIO_VERSION=RELEASE.2024-11-07T00-52-20Z
# sometimes here https://dl.min.io/server/minio/release/linux-amd64/archive/ RUN wget https://dl.min.io/server/minio/release/linux-amd64/archive/minio.${MINIO_VERSION} -O /app/code/minio && chmod +x /app/code/minio
# RUN wget https://dl.min.io/server/minio/release/linux-amd64/minio.${VERSION} -O /app/code/minio && chmod +x /app/code/minio
RUN wget https://dl.min.io/server/minio/release/linux-amd64/archive/minio.${VERSION} -O /app/code/minio && chmod +x /app/code/minio # Latest CLI
# https://dl.min.io/client/mc/release/linux-amd64/
RUN wget https://dl.min.io/client/mc/release/linux-amd64/mc -O /app/code/mc && chmod +x /app/code/mc RUN wget https://dl.min.io/client/mc/release/linux-amd64/mc -O /app/code/mc && chmod +x /app/code/mc
COPY env.sh.template start.sh /app/code/ COPY env.sh.template start.sh /app/code/

4
renovate.json5 Normal file
View File

@@ -0,0 +1,4 @@
{
"$schema": "https://docs.renovatebot.com/renovate-schema.json",
"extends": ["local>devops/renovator//default.renovate.json5"]
}

115
test/package-lock.json generated
View File

@@ -9,17 +9,18 @@
"version": "1.0.0", "version": "1.0.0",
"license": "ISC", "license": "ISC",
"dependencies": { "dependencies": {
"chromedriver": "^128.0.3", "chromedriver": "^130.0.4",
"expect.js": "^0.3.1", "expect.js": "^0.3.1",
"mocha": "^10.7.3", "mocha": "^10.8.2",
"selenium-webdriver": "^4.24.0", "selenium-webdriver": "^4.26.0",
"superagent": "^10.1.0" "superagent": "^10.1.1"
} }
}, },
"node_modules/@bazel/runfiles": { "node_modules/@bazel/runfiles": {
"version": "5.8.1", "version": "6.3.1",
"resolved": "https://registry.npmjs.org/@bazel/runfiles/-/runfiles-5.8.1.tgz", "resolved": "https://registry.npmjs.org/@bazel/runfiles/-/runfiles-6.3.1.tgz",
"integrity": "sha512-NDdfpdQ6rZlylgv++iMn5FkObC/QlBQvipinGLSOguTYpRywmieOyJ29XHvUilspwTFSILWpoE9CqMGkHXug1g==" "integrity": "sha512-1uLNT5NZsUVIGS4syuHwTzZ8HycMPyr6POA3FCE4GbMtc4rhoJk8aZKtNIRthJYfL+iioppi+rTfH3olMPr9nA==",
"license": "Apache-2.0"
}, },
"node_modules/@testim/chrome-version": { "node_modules/@testim/chrome-version": {
"version": "1.1.4", "version": "1.1.4",
@@ -99,7 +100,8 @@
"node_modules/asap": { "node_modules/asap": {
"version": "2.0.6", "version": "2.0.6",
"resolved": "https://registry.npmjs.org/asap/-/asap-2.0.6.tgz", "resolved": "https://registry.npmjs.org/asap/-/asap-2.0.6.tgz",
"integrity": "sha512-BSHWgDSAiKs50o2Re8ppvp3seVHXSRM44cdSsT9FfNEUUZLOGWVCsiWaRPWM1Znn+mqZ1OfVZ3z3DWEzSp7hRA==" "integrity": "sha512-BSHWgDSAiKs50o2Re8ppvp3seVHXSRM44cdSsT9FfNEUUZLOGWVCsiWaRPWM1Znn+mqZ1OfVZ3z3DWEzSp7hRA==",
"license": "MIT"
}, },
"node_modules/ast-types": { "node_modules/ast-types": {
"version": "0.13.4", "version": "0.13.4",
@@ -262,10 +264,11 @@
} }
}, },
"node_modules/chromedriver": { "node_modules/chromedriver": {
"version": "128.0.3", "version": "130.0.4",
"resolved": "https://registry.npmjs.org/chromedriver/-/chromedriver-128.0.3.tgz", "resolved": "https://registry.npmjs.org/chromedriver/-/chromedriver-130.0.4.tgz",
"integrity": "sha512-Xn/bknOpGlY9tKinwS/hVWeNblSeZvbbJbF8XZ73X1jeWfAFPRXx3fMLdNNz8DqruDbx3cKEJ5wR3mnst6G3iw==", "integrity": "sha512-lpR+PWXszij1k4Ig3t338Zvll9HtCTiwoLM7n4pCCswALHxzmgwaaIFBh3rt9+5wRk9D07oFblrazrBxwaYYAQ==",
"hasInstallScript": true, "hasInstallScript": true,
"license": "Apache-2.0",
"dependencies": { "dependencies": {
"@testim/chrome-version": "^1.1.4", "@testim/chrome-version": "^1.1.4",
"axios": "^1.7.4", "axios": "^1.7.4",
@@ -460,6 +463,7 @@
"version": "1.0.4", "version": "1.0.4",
"resolved": "https://registry.npmjs.org/dezalgo/-/dezalgo-1.0.4.tgz", "resolved": "https://registry.npmjs.org/dezalgo/-/dezalgo-1.0.4.tgz",
"integrity": "sha512-rXSP0bf+5n0Qonsb+SVVfNfIsimO4HEtmnIpPHY8Q1UCzKlQrDMfdobr8nJOOsRgWCyMRqeSBQzmWUMq7zvVig==", "integrity": "sha512-rXSP0bf+5n0Qonsb+SVVfNfIsimO4HEtmnIpPHY8Q1UCzKlQrDMfdobr8nJOOsRgWCyMRqeSBQzmWUMq7zvVig==",
"license": "ISC",
"dependencies": { "dependencies": {
"asap": "^2.0.0", "asap": "^2.0.0",
"wrappy": "1" "wrappy": "1"
@@ -676,12 +680,13 @@
} }
}, },
"node_modules/formidable": { "node_modules/formidable": {
"version": "3.5.1", "version": "3.5.2",
"resolved": "https://registry.npmjs.org/formidable/-/formidable-3.5.1.tgz", "resolved": "https://registry.npmjs.org/formidable/-/formidable-3.5.2.tgz",
"integrity": "sha512-WJWKelbRHN41m5dumb0/k8TeAx7Id/y3a+Z7QfhxP/htI9Js5zYaEDtG8uMgG0vM0lOlqnmjE99/kfpOYi/0Og==", "integrity": "sha512-Jqc1btCy3QzRbJaICGwKcBfGWuLADRerLzDqi2NwSt/UkXLsHJw2TVResiaoBufHVHy9aSgClOHCeJsSsFLTbg==",
"license": "MIT",
"dependencies": { "dependencies": {
"dezalgo": "^1.0.4", "dezalgo": "^1.0.4",
"hexoid": "^1.0.0", "hexoid": "^2.0.0",
"once": "^1.4.0" "once": "^1.4.0"
}, },
"funding": { "funding": {
@@ -869,9 +874,10 @@
} }
}, },
"node_modules/hexoid": { "node_modules/hexoid": {
"version": "1.0.0", "version": "2.0.0",
"resolved": "https://registry.npmjs.org/hexoid/-/hexoid-1.0.0.tgz", "resolved": "https://registry.npmjs.org/hexoid/-/hexoid-2.0.0.tgz",
"integrity": "sha512-QFLV0taWQOZtvIRIAdBChesmogZrtuXvVWsFHZTk2SU+anspqZ2vMnoLg7IE1+Uk16N19APic1BuF8bC8c2m5g==", "integrity": "sha512-qlspKUK7IlSQv2o+5I7yhUd7TxlOG2Vr5LTa3ve2XSNVKAL/n/u/7KLvKmFNimomDIKvZFXWHv0T12mv7rT8Aw==",
"license": "MIT",
"engines": { "engines": {
"node": ">=8" "node": ">=8"
} }
@@ -1144,9 +1150,10 @@
} }
}, },
"node_modules/mocha": { "node_modules/mocha": {
"version": "10.7.3", "version": "10.8.2",
"resolved": "https://registry.npmjs.org/mocha/-/mocha-10.7.3.tgz", "resolved": "https://registry.npmjs.org/mocha/-/mocha-10.8.2.tgz",
"integrity": "sha512-uQWxAu44wwiACGqjbPYmjo7Lg8sFrS3dQe7PP2FQI+woptP4vZXSMcfMyFL/e1yFEeEpV4RtyTpZROOKmxis+A==", "integrity": "sha512-VZlYo/WE8t1tstuRmqgeyBgCbJc/lEdopaa+axcKzTBJ+UIdlAB9XnmvTCAH4pwR4ElNInaedhEBmZD8iCSVEg==",
"license": "MIT",
"dependencies": { "dependencies": {
"ansi-colors": "^4.1.3", "ansi-colors": "^4.1.3",
"browser-stdout": "^1.3.1", "browser-stdout": "^1.3.1",
@@ -1430,11 +1437,12 @@
"integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g=="
}, },
"node_modules/selenium-webdriver": { "node_modules/selenium-webdriver": {
"version": "4.24.0", "version": "4.26.0",
"resolved": "https://registry.npmjs.org/selenium-webdriver/-/selenium-webdriver-4.24.0.tgz", "resolved": "https://registry.npmjs.org/selenium-webdriver/-/selenium-webdriver-4.26.0.tgz",
"integrity": "sha512-qrqoHhHPZuKLiz5VAQUxrn3ILs7/cYqn2/x96r35g5JjkLUjOS1lX+F+tEJKhRMlQ/MGJ+N1016JF5g2xZUFzw==", "integrity": "sha512-nA7jMRIPV17mJmAiTDBWN96Sy0Uxrz5CCLb7bLVV6PpL417SyBMPc2Zo/uoREc2EOHlzHwHwAlFtgmSngSY4WQ==",
"license": "Apache-2.0",
"dependencies": { "dependencies": {
"@bazel/runfiles": "^5.8.1", "@bazel/runfiles": "^6.3.1",
"jszip": "^3.10.1", "jszip": "^3.10.1",
"tmp": "^0.2.3", "tmp": "^0.2.3",
"ws": "^8.18.0" "ws": "^8.18.0"
@@ -1558,16 +1566,17 @@
} }
}, },
"node_modules/superagent": { "node_modules/superagent": {
"version": "10.1.0", "version": "10.1.1",
"resolved": "https://registry.npmjs.org/superagent/-/superagent-10.1.0.tgz", "resolved": "https://registry.npmjs.org/superagent/-/superagent-10.1.1.tgz",
"integrity": "sha512-JMmik7PbnXGlq7g528Gi6apHbVbTz2vrE3du6fuG4kIPSb2PnLoSOPvfjKn8aQYuJcBWAKW6ZG90qPPsE5jZxQ==", "integrity": "sha512-9pIwrHrOj3uAnqg9gDlW7EA2xv+N5au/dSM0kM22HTqmUu8jBxNT+8uA7tA3UoCnmiqzpSbu8rasIUZvbyamMQ==",
"license": "MIT",
"dependencies": { "dependencies": {
"component-emitter": "^1.3.0", "component-emitter": "^1.3.0",
"cookiejar": "^2.1.4", "cookiejar": "^2.1.4",
"debug": "^4.3.4", "debug": "^4.3.4",
"fast-safe-stringify": "^2.1.1", "fast-safe-stringify": "^2.1.1",
"form-data": "^4.0.0", "form-data": "^4.0.0",
"formidable": "^3.5.1", "formidable": "^3.5.2",
"methods": "^1.1.2", "methods": "^1.1.2",
"mime": "2.6.0", "mime": "2.6.0",
"qs": "^6.11.0" "qs": "^6.11.0"
@@ -1848,9 +1857,9 @@
}, },
"dependencies": { "dependencies": {
"@bazel/runfiles": { "@bazel/runfiles": {
"version": "5.8.1", "version": "6.3.1",
"resolved": "https://registry.npmjs.org/@bazel/runfiles/-/runfiles-5.8.1.tgz", "resolved": "https://registry.npmjs.org/@bazel/runfiles/-/runfiles-6.3.1.tgz",
"integrity": "sha512-NDdfpdQ6rZlylgv++iMn5FkObC/QlBQvipinGLSOguTYpRywmieOyJ29XHvUilspwTFSILWpoE9CqMGkHXug1g==" "integrity": "sha512-1uLNT5NZsUVIGS4syuHwTzZ8HycMPyr6POA3FCE4GbMtc4rhoJk8aZKtNIRthJYfL+iioppi+rTfH3olMPr9nA=="
}, },
"@testim/chrome-version": { "@testim/chrome-version": {
"version": "1.1.4", "version": "1.1.4",
@@ -2033,9 +2042,9 @@
} }
}, },
"chromedriver": { "chromedriver": {
"version": "128.0.3", "version": "130.0.4",
"resolved": "https://registry.npmjs.org/chromedriver/-/chromedriver-128.0.3.tgz", "resolved": "https://registry.npmjs.org/chromedriver/-/chromedriver-130.0.4.tgz",
"integrity": "sha512-Xn/bknOpGlY9tKinwS/hVWeNblSeZvbbJbF8XZ73X1jeWfAFPRXx3fMLdNNz8DqruDbx3cKEJ5wR3mnst6G3iw==", "integrity": "sha512-lpR+PWXszij1k4Ig3t338Zvll9HtCTiwoLM7n4pCCswALHxzmgwaaIFBh3rt9+5wRk9D07oFblrazrBxwaYYAQ==",
"requires": { "requires": {
"@testim/chrome-version": "^1.1.4", "@testim/chrome-version": "^1.1.4",
"axios": "^1.7.4", "axios": "^1.7.4",
@@ -2318,12 +2327,12 @@
} }
}, },
"formidable": { "formidable": {
"version": "3.5.1", "version": "3.5.2",
"resolved": "https://registry.npmjs.org/formidable/-/formidable-3.5.1.tgz", "resolved": "https://registry.npmjs.org/formidable/-/formidable-3.5.2.tgz",
"integrity": "sha512-WJWKelbRHN41m5dumb0/k8TeAx7Id/y3a+Z7QfhxP/htI9Js5zYaEDtG8uMgG0vM0lOlqnmjE99/kfpOYi/0Og==", "integrity": "sha512-Jqc1btCy3QzRbJaICGwKcBfGWuLADRerLzDqi2NwSt/UkXLsHJw2TVResiaoBufHVHy9aSgClOHCeJsSsFLTbg==",
"requires": { "requires": {
"dezalgo": "^1.0.4", "dezalgo": "^1.0.4",
"hexoid": "^1.0.0", "hexoid": "^2.0.0",
"once": "^1.4.0" "once": "^1.4.0"
} }
}, },
@@ -2447,9 +2456,9 @@
"integrity": "sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==" "integrity": "sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw=="
}, },
"hexoid": { "hexoid": {
"version": "1.0.0", "version": "2.0.0",
"resolved": "https://registry.npmjs.org/hexoid/-/hexoid-1.0.0.tgz", "resolved": "https://registry.npmjs.org/hexoid/-/hexoid-2.0.0.tgz",
"integrity": "sha512-QFLV0taWQOZtvIRIAdBChesmogZrtuXvVWsFHZTk2SU+anspqZ2vMnoLg7IE1+Uk16N19APic1BuF8bC8c2m5g==" "integrity": "sha512-qlspKUK7IlSQv2o+5I7yhUd7TxlOG2Vr5LTa3ve2XSNVKAL/n/u/7KLvKmFNimomDIKvZFXWHv0T12mv7rT8Aw=="
}, },
"http-proxy-agent": { "http-proxy-agent": {
"version": "7.0.2", "version": "7.0.2",
@@ -2648,9 +2657,9 @@
} }
}, },
"mocha": { "mocha": {
"version": "10.7.3", "version": "10.8.2",
"resolved": "https://registry.npmjs.org/mocha/-/mocha-10.7.3.tgz", "resolved": "https://registry.npmjs.org/mocha/-/mocha-10.8.2.tgz",
"integrity": "sha512-uQWxAu44wwiACGqjbPYmjo7Lg8sFrS3dQe7PP2FQI+woptP4vZXSMcfMyFL/e1yFEeEpV4RtyTpZROOKmxis+A==", "integrity": "sha512-VZlYo/WE8t1tstuRmqgeyBgCbJc/lEdopaa+axcKzTBJ+UIdlAB9XnmvTCAH4pwR4ElNInaedhEBmZD8iCSVEg==",
"requires": { "requires": {
"ansi-colors": "^4.1.3", "ansi-colors": "^4.1.3",
"browser-stdout": "^1.3.1", "browser-stdout": "^1.3.1",
@@ -2871,11 +2880,11 @@
"integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g=="
}, },
"selenium-webdriver": { "selenium-webdriver": {
"version": "4.24.0", "version": "4.26.0",
"resolved": "https://registry.npmjs.org/selenium-webdriver/-/selenium-webdriver-4.24.0.tgz", "resolved": "https://registry.npmjs.org/selenium-webdriver/-/selenium-webdriver-4.26.0.tgz",
"integrity": "sha512-qrqoHhHPZuKLiz5VAQUxrn3ILs7/cYqn2/x96r35g5JjkLUjOS1lX+F+tEJKhRMlQ/MGJ+N1016JF5g2xZUFzw==", "integrity": "sha512-nA7jMRIPV17mJmAiTDBWN96Sy0Uxrz5CCLb7bLVV6PpL417SyBMPc2Zo/uoREc2EOHlzHwHwAlFtgmSngSY4WQ==",
"requires": { "requires": {
"@bazel/runfiles": "^5.8.1", "@bazel/runfiles": "^6.3.1",
"jszip": "^3.10.1", "jszip": "^3.10.1",
"tmp": "^0.2.3", "tmp": "^0.2.3",
"ws": "^8.18.0" "ws": "^8.18.0"
@@ -2967,16 +2976,16 @@
"integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==" "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig=="
}, },
"superagent": { "superagent": {
"version": "10.1.0", "version": "10.1.1",
"resolved": "https://registry.npmjs.org/superagent/-/superagent-10.1.0.tgz", "resolved": "https://registry.npmjs.org/superagent/-/superagent-10.1.1.tgz",
"integrity": "sha512-JMmik7PbnXGlq7g528Gi6apHbVbTz2vrE3du6fuG4kIPSb2PnLoSOPvfjKn8aQYuJcBWAKW6ZG90qPPsE5jZxQ==", "integrity": "sha512-9pIwrHrOj3uAnqg9gDlW7EA2xv+N5au/dSM0kM22HTqmUu8jBxNT+8uA7tA3UoCnmiqzpSbu8rasIUZvbyamMQ==",
"requires": { "requires": {
"component-emitter": "^1.3.0", "component-emitter": "^1.3.0",
"cookiejar": "^2.1.4", "cookiejar": "^2.1.4",
"debug": "^4.3.4", "debug": "^4.3.4",
"fast-safe-stringify": "^2.1.1", "fast-safe-stringify": "^2.1.1",
"form-data": "^4.0.0", "form-data": "^4.0.0",
"formidable": "^3.5.1", "formidable": "^3.5.2",
"methods": "^1.1.2", "methods": "^1.1.2",
"mime": "2.6.0", "mime": "2.6.0",
"qs": "^6.11.0" "qs": "^6.11.0"

View File

@@ -9,10 +9,10 @@
"author": "", "author": "",
"license": "ISC", "license": "ISC",
"dependencies": { "dependencies": {
"chromedriver": "^128.0.3", "chromedriver": "^130.0.4",
"expect.js": "^0.3.1", "expect.js": "^0.3.1",
"mocha": "^10.7.3", "mocha": "^10.8.2",
"selenium-webdriver": "^4.24.0", "selenium-webdriver": "^4.26.0",
"superagent": "^10.1.0" "superagent": "^10.1.1"
} }
} }

View File

@@ -1,11 +1,7 @@
#!/usr/bin/env node #!/usr/bin/env node
/* jshint esversion: 8 */ /* jshint esversion: 8 */
/* global describe */ /* global it, xit, describe, before, after, afterEach */
/* global before */
/* global after */
/* global it */
/* global xit */
'use strict'; 'use strict';
@@ -28,24 +24,38 @@ if (!process.env.USERNAME || !process.env.PASSWORD) {
describe('Application life cycle test', function () { describe('Application life cycle test', function () {
this.timeout(0); this.timeout(0);
const LOCATION = 'test'; const LOCATION = process.env.LOCATION || 'test';
const TEST_TIMEOUT = parseInt(process.env.TIMEOUT, 10) || 30000; const TEST_TIMEOUT = parseInt(process.env.TIMEOUT, 10) || 30000;
const BUCKET = 'cloudrontestbucket'; const BUCKET = 'cloudrontestbucket';
const EXEC_ARGS = { cwd: path.resolve(__dirname, '..'), stdio: 'inherit' }; const EXEC_ARGS = { cwd: path.resolve(__dirname, '..'), stdio: 'inherit' };
let browser, app; let browser, app;
let athenticated_by_oidc = false, rootPassword; let athenticated_by_oidc = false, rootPassword;
let username = process.env.USERNAME; const username = process.env.USERNAME;
let password = process.env.PASSWORD; const password = process.env.PASSWORD;
before(function () { before(function () {
browser = new Builder().forBrowser('chrome').setChromeOptions(new Options().windowSize({ width: 1280, height: 1024 })).build(); const chromeOptions = new Options().windowSize({ width: 1280, height: 1024 });
if (process.env.CI) chromeOptions.addArguments('no-sandbox', 'disable-dev-shm-usage', 'headless');
browser = new Builder().forBrowser('chrome').setChromeOptions(chromeOptions).build();
if (!fs.existsSync('./screenshots')) fs.mkdirSync('./screenshots');
}); });
after(function () { after(function () {
browser.quit(); browser.quit();
}); });
afterEach(async function () {
if (!process.env.CI || !app) return;
const currentUrl = await browser.getCurrentUrl();
if (!currentUrl.includes(app.domain)) return;
expect(this.currentTest.title).to.be.a('string');
const screenshotData = await browser.takeScreenshot();
fs.writeFileSync(`./screenshots/${new Date().getTime()}-${this.currentTest.title.replaceAll(' ', '_')}.png`, screenshotData, 'base64');
});
async function waitForElement(elem) { async function waitForElement(elem) {
await browser.wait(until.elementLocated(elem), TEST_TIMEOUT); await browser.wait(until.elementLocated(elem), TEST_TIMEOUT);
await browser.wait(until.elementIsVisible(browser.findElement(elem)), TEST_TIMEOUT); await browser.wait(until.elementIsVisible(browser.findElement(elem)), TEST_TIMEOUT);