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

Compare commits

..

20 Commits

Author SHA1 Message Date
Girish Ramakrishnan
0b3787bb4c Version 2.7.6 2022-06-27 12:32:03 -07:00
Girish Ramakrishnan
4485660f19 Update minio to 2022-06-25T15-50-16Z 2022-06-27 12:20:47 -07:00
Girish Ramakrishnan
198a7ba2d8 Version 2.7.5 2022-06-20 23:10:07 -07:00
Girish Ramakrishnan
694ea1a835 Update minio to 2022-06-20T23-13-45Z 2022-06-20 22:49:21 -07:00
Girish Ramakrishnan
ae7b78e2d7 Version 2.7.4 2022-06-18 09:17:25 -07:00
Girish Ramakrishnan
f5b85c7dfa Update minio to 2022-06-17T02-00-35Z 2022-06-18 08:54:46 -07:00
Girish Ramakrishnan
6148966516 Version 2.7.3 2022-06-12 10:14:37 -07:00
Girish Ramakrishnan
9967b12167 Update test packages 2022-06-12 10:13:54 -07:00
Girish Ramakrishnan
5574cc464a Update minio to 2022-06-11T19-55-32Z 2022-06-12 10:03:46 -07:00
Girish Ramakrishnan
794538bbe9 Version 2.7.2 2022-06-11 08:44:31 -07:00
Girish Ramakrishnan
a1e5589dca Update mc 2022-06-11 08:30:31 -07:00
Girish Ramakrishnan
f7d9d69187 Update minio to 2022-06-10T16-59-15Z 2022-06-11 08:29:26 -07:00
Girish Ramakrishnan
2762522066 Version 2.7.1 2022-06-10 11:33:52 -07:00
Girish Ramakrishnan
4c6b99857c Bump memory limit 2022-06-10 11:25:20 -07:00
Girish Ramakrishnan
6c788ded2d Version 2.7.0 2022-06-06 21:26:18 -07:00
Girish Ramakrishnan
542b8a4412 add delays everywhere
doing things fast in the ui breaks now
2022-06-06 21:25:18 -07:00
Girish Ramakrishnan
4b3b4b9d4d Update minio to 2022-06-07T00-33-41Z 2022-06-06 20:57:01 -07:00
Girish Ramakrishnan
a0c9c76bd8 Update minio to 2022-06-03T01-40-53Z 2022-06-06 12:48:55 -07:00
Girish Ramakrishnan
d23b35e1b8 Version 2.6.0 2022-06-02 08:23:53 -07:00
Girish Ramakrishnan
32684767b6 Update minio to 2022-06-02T02-11-04Z 2022-06-02 08:07:35 -07:00
6 changed files with 145 additions and 52 deletions

View File

@@ -1179,3 +1179,66 @@ Improve replication performance. See (#12080, #12054, #12009) for more details.
* hash-set: Add file input for debug tool by @klauspost in #14965 * hash-set: Add file input for debug tool by @klauspost in #14965
* site replication: Allow replication rule edit by @poornas in #14969 * site replication: Allow replication rule edit by @poornas in #14969
* fix: copyObject on versioned bucket when updating metadata by @harshavardhana in #14971 * fix: copyObject on versioned bucket when updating metadata by @harshavardhana in #14971
[2.6.0]
* Update minio to 2022-06-02T02-11-04Z
* [Changelog](https://github.com/minio/minio/releases/tag/RELEASE.2022-06-02T02-11-04Z)
* feat: Single drive XL implementation
[2.7.0]
* Update minio to 2022-06-07T00-33-41Z
* [Changelog](https://github.com/minio/minio/releases/tag/RELEASE.2022-06-07T00-33-41Z)
[2.7.1]
* Update minio to 2022-06-07T00-33-41Z
* [Changelog](https://github.com/minio/minio/releases/tag/RELEASE.2022-06-07T00-33-41Z)
* do not print errors upon 'nil' err (06/06/22) (Minio Trusted)
[2.7.2]
* Update minio to 2022-06-10T16-59-15Z
* [Changelog](https://github.com/minio/minio/releases/tag/RELEASE.2022-06-10T16-59-15Z)
* Include the entirety of vendor folder in .gitignore by @kaankabalak in #15046
* relax O_DIRECT in single drive mode if unsupported by @harshavardhana in #15045
* Bump Console v0.18.1 by @dvaldivia in #15051
* healthcheck cluster endpoint should honor write/readQuorum per pool by @harshavardhana in #15053
* fix: make metrics endpoint responsive by reducing the chatter by @harshavardhana in #15055
[2.7.3]
* Update minio to 2022-06-11T19-55-32Z
* [Changelog](https://github.com/minio/minio/releases/tag/RELEASE.2022-06-11T19-55-32Z)
* debug: verify diff on latest objects on source and target buckets by @harshavardhana in #15069
* fix: add missing minio_s3_requests_total by @harshavardhana in #15070
* Update dperf to 0.4.1 by @vadmeste in #15071
* sts: Avoid printing all STS errors by @vadmeste in #15065
[2.7.4]
* Update minio to 2022-06-17T02-00-35Z
* [Changelog](https://github.com/minio/minio/releases/tag/RELEASE.2022-06-17T02-00-35Z)
* debug: Close object after check by @vadmeste in #15077
* kms: initialize after cli parsing by @vadmeste in #15076
* Support configuration of a session policy file by @rgcostea in #15078
* erasure-sd: Evaluate versioning Prefix in multi-delete objects by @vadmeste in #15081
* fix: simplify healthcheck code to freeze calls only once by @harshavardhana in #15082
* add bucket level S3 received/sent bytes by @harshavardhana in #15084
* fix: background local test also via channel by @harshavardhana in #15086
* add dataErrs for healing debug log by @harshavardhana in #15092
[2.7.5]
* Update minio to 2022-06-20T23-13-45Z
* [Changelog](https://github.com/minio/minio/releases/tag/RELEASE.2022-06-20T23-13-45Z)
* Update gopsutil to v3.22.5 by @danieljakots in #15098
* fix: ignore printing io.EOF during WalkDir() on concurrently modified objects by @harshavardhana in #15100
* Avoid CompleteMultipart freeze with unexpected network issue by @vadmeste in #15102
* Add generic function to retrieve config value with metadata by @donatello in #15083
* fix typo in site replication version healing by @poornas in #15103
* Add import/export APIs to migrate bucket metadata by @poornas in #14929
[2.7.6]
* Update minio to 2022-06-25T15-50-16Z
* [Changelog](https://github.com/minio/minio/releases/tag/RELEASE.2022-06-25T15-50-16Z)
* remove gateway banner and some other TODO loggers by @harshavardhana in #15125
* s3-verify: Fix endpoint and missing comparison by @vadmeste in #15129
* Parallelize new disks healing of different erasure sets by @vadmeste in #15112
* fips: simplify TLS configuration by @aead in #15127
* fix: cant parse comment without '=' in environment file by @anoworl in #15130
* add go1.18 specific curve preferences by @harshavardhana in #15132

View File

@@ -5,9 +5,10 @@
"description": "file://DESCRIPTION.md", "description": "file://DESCRIPTION.md",
"changelog": "file://CHANGELOG", "changelog": "file://CHANGELOG",
"tagline": "Distributed object storage", "tagline": "Distributed object storage",
"version": "2.5.3", "version": "2.7.6",
"upstreamVersion": "2022-05-26T05-48-41Z", "upstreamVersion": "2022-06-25T15-50-16Z",
"healthCheckPath": "/minio/login", "healthCheckPath": "/minio/login",
"memoryLimit": 805306368,
"httpPort": 8000, "httpPort": 8000,
"httpPorts": { "httpPorts": {
"API_SERVER_DOMAIN": { "API_SERVER_DOMAIN": {

View File

@@ -3,8 +3,8 @@ FROM cloudron/base:3.2.0@sha256:ba1d566164a67c266782545ea9809dc611c4152e27686fd1
RUN mkdir -p /app/code RUN mkdir -p /app/code
WORKDIR /app/code WORKDIR /app/code
ARG VERSION=RELEASE.2022-05-26T05-48-41Z ARG VERSION=RELEASE.2022-06-25T15-50-16Z
ARG MC_VERSION=RELEASE.2022-05-09T04-08-26Z ARG MC_VERSION=RELEASE.2022-06-26T18-51-48Z
# sometimes here https://dl.min.io/server/minio/release/linux-amd64/archive/ # sometimes here https://dl.min.io/server/minio/release/linux-amd64/archive/
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/minio.${VERSION} -O /app/code/minio && chmod +x /app/code/minio

97
test/package-lock.json generated
View File

@@ -9,11 +9,12 @@
"version": "1.0.0", "version": "1.0.0",
"license": "ISC", "license": "ISC",
"dependencies": { "dependencies": {
"chromedriver": "^101.0.0", "chromedriver": "^102.0.0",
"delay": "^5.0.0",
"expect.js": "^0.3.1", "expect.js": "^0.3.1",
"mocha": "^10.0.0", "mocha": "^10.0.0",
"selenium-webdriver": "^4.1.2", "selenium-webdriver": "^4.2.0",
"superagent": "^7.1.3" "superagent": "^7.1.6"
} }
}, },
"node_modules/@nodelib/fs.scandir": { "node_modules/@nodelib/fs.scandir": {
@@ -154,11 +155,12 @@
"integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k=" "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k="
}, },
"node_modules/axios": { "node_modules/axios": {
"version": "0.24.0", "version": "0.27.2",
"resolved": "https://registry.npmjs.org/axios/-/axios-0.24.0.tgz", "resolved": "https://registry.npmjs.org/axios/-/axios-0.27.2.tgz",
"integrity": "sha512-Q6cWsys88HoPgAaFAVUb0WpPk0O8iTeisR9IMqy9G8AbO4NlpVknrnQS03zzF9PGAWgO3cgletO3VjV/P7VztA==", "integrity": "sha512-t+yRIyySRTp/wua5xEr+z1q60QmLq8ABsS5O9Me1AsE5dfKqgnCFzwiCZZ/cGNd1lq4/7akDWMxdhVlucjmnOQ==",
"dependencies": { "dependencies": {
"follow-redirects": "^1.14.4" "follow-redirects": "^1.14.9",
"form-data": "^4.0.0"
} }
}, },
"node_modules/balanced-match": { "node_modules/balanced-match": {
@@ -283,13 +285,13 @@
} }
}, },
"node_modules/chromedriver": { "node_modules/chromedriver": {
"version": "101.0.0", "version": "102.0.0",
"resolved": "https://registry.npmjs.org/chromedriver/-/chromedriver-101.0.0.tgz", "resolved": "https://registry.npmjs.org/chromedriver/-/chromedriver-102.0.0.tgz",
"integrity": "sha512-LkkWxy6KM/0YdJS8qBeg5vfkTZTRamhBfOttb4oic4echDgWvCU1E8QcBbUBOHqZpSrYMyi7WMKmKMhXFUaZ+w==", "integrity": "sha512-xer/0g1Oarkjc2e+4nyoLgZT4kJHYhcj3PcxD1nEoGJQYEllTjprN1uDpSb4BkgMGo0ydfIS1VDkszrr/J9OOg==",
"hasInstallScript": true, "hasInstallScript": true,
"dependencies": { "dependencies": {
"@testim/chrome-version": "^1.1.2", "@testim/chrome-version": "^1.1.2",
"axios": "^0.24.0", "axios": "^0.27.2",
"del": "^6.0.0", "del": "^6.0.0",
"extract-zip": "^2.0.1", "extract-zip": "^2.0.1",
"https-proxy-agent": "^5.0.0", "https-proxy-agent": "^5.0.0",
@@ -461,6 +463,17 @@
"url": "https://github.com/sponsors/sindresorhus" "url": "https://github.com/sponsors/sindresorhus"
} }
}, },
"node_modules/delay": {
"version": "5.0.0",
"resolved": "https://registry.npmjs.org/delay/-/delay-5.0.0.tgz",
"integrity": "sha512-ReEBKkIfe4ya47wlPYf/gu5ib6yUG0/Aez0JQZQz94kiWtRQvZIQbTiehsnwHvLSWJnQdhVeqYue7Id1dKr0qw==",
"engines": {
"node": ">=10"
},
"funding": {
"url": "https://github.com/sponsors/sindresorhus"
}
},
"node_modules/delayed-stream": { "node_modules/delayed-stream": {
"version": "1.0.0", "version": "1.0.0",
"resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz",
@@ -624,9 +637,9 @@
} }
}, },
"node_modules/follow-redirects": { "node_modules/follow-redirects": {
"version": "1.14.7", "version": "1.15.1",
"resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.14.7.tgz", "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.1.tgz",
"integrity": "sha512-+hbxoLbFMbRKDwohX8GkTataGqO6Jb7jGwpAlwgy2bIz25XtRm7KEzJM76R1WiNT5SwZkX4Y75SwBolkpmE7iQ==", "integrity": "sha512-yLAMQs+k0b2m7cVxpS1VKJVvoz7SS9Td1zss3XRwXj+ZDH00RJgnuLx7E44wx02kQLrdM3aOOy+FpzS7+8OizA==",
"funding": [ "funding": [
{ {
"type": "individual", "type": "individual",
@@ -1463,9 +1476,9 @@
"integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g=="
}, },
"node_modules/selenium-webdriver": { "node_modules/selenium-webdriver": {
"version": "4.1.2", "version": "4.2.0",
"resolved": "https://registry.npmjs.org/selenium-webdriver/-/selenium-webdriver-4.1.2.tgz", "resolved": "https://registry.npmjs.org/selenium-webdriver/-/selenium-webdriver-4.2.0.tgz",
"integrity": "sha512-e4Ap8vQvhipgBB8Ry9zBiKGkU6kHKyNnWiavGGLKkrdW81Zv7NVMtFOL/j3yX0G8QScM7XIXijKssNd4EUxSOw==", "integrity": "sha512-gPPXYSz4jJBM2kANRQ9cZW6KFBzR/ptxqGLtyC75eXtdgOsWWRRRyZz5F2pqdnwNmAjrCSFMMXfisJaZeWVejg==",
"dependencies": { "dependencies": {
"jszip": "^3.6.0", "jszip": "^3.6.0",
"tmp": "^0.2.1", "tmp": "^0.2.1",
@@ -1546,9 +1559,9 @@
} }
}, },
"node_modules/superagent": { "node_modules/superagent": {
"version": "7.1.3", "version": "7.1.6",
"resolved": "https://registry.npmjs.org/superagent/-/superagent-7.1.3.tgz", "resolved": "https://registry.npmjs.org/superagent/-/superagent-7.1.6.tgz",
"integrity": "sha512-WA6et4nAvgBCS73lJvv1D0ssI5uk5Gh+TGN/kNe+B608EtcVs/yzfl+OLXTzDs7tOBDIpvgh/WUs1K2OK1zTeQ==", "integrity": "sha512-gZkVCQR1gy/oUXr+kxJMLDjla434KmSOKbx5iGD30Ql+AkJQ/YlPKECJy2nhqOsHLjGHzoDTXNSjhnvWhzKk7g==",
"dependencies": { "dependencies": {
"component-emitter": "^1.3.0", "component-emitter": "^1.3.0",
"cookiejar": "^2.1.3", "cookiejar": "^2.1.3",
@@ -1557,7 +1570,7 @@
"form-data": "^4.0.0", "form-data": "^4.0.0",
"formidable": "^2.0.1", "formidable": "^2.0.1",
"methods": "^1.1.2", "methods": "^1.1.2",
"mime": "^2.5.0", "mime": "2.6.0",
"qs": "^6.10.3", "qs": "^6.10.3",
"readable-stream": "^3.6.0", "readable-stream": "^3.6.0",
"semver": "^7.3.7" "semver": "^7.3.7"
@@ -1953,11 +1966,12 @@
"integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k=" "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k="
}, },
"axios": { "axios": {
"version": "0.24.0", "version": "0.27.2",
"resolved": "https://registry.npmjs.org/axios/-/axios-0.24.0.tgz", "resolved": "https://registry.npmjs.org/axios/-/axios-0.27.2.tgz",
"integrity": "sha512-Q6cWsys88HoPgAaFAVUb0WpPk0O8iTeisR9IMqy9G8AbO4NlpVknrnQS03zzF9PGAWgO3cgletO3VjV/P7VztA==", "integrity": "sha512-t+yRIyySRTp/wua5xEr+z1q60QmLq8ABsS5O9Me1AsE5dfKqgnCFzwiCZZ/cGNd1lq4/7akDWMxdhVlucjmnOQ==",
"requires": { "requires": {
"follow-redirects": "^1.14.4" "follow-redirects": "^1.14.9",
"form-data": "^4.0.0"
} }
}, },
"balanced-match": { "balanced-match": {
@@ -2046,12 +2060,12 @@
} }
}, },
"chromedriver": { "chromedriver": {
"version": "101.0.0", "version": "102.0.0",
"resolved": "https://registry.npmjs.org/chromedriver/-/chromedriver-101.0.0.tgz", "resolved": "https://registry.npmjs.org/chromedriver/-/chromedriver-102.0.0.tgz",
"integrity": "sha512-LkkWxy6KM/0YdJS8qBeg5vfkTZTRamhBfOttb4oic4echDgWvCU1E8QcBbUBOHqZpSrYMyi7WMKmKMhXFUaZ+w==", "integrity": "sha512-xer/0g1Oarkjc2e+4nyoLgZT4kJHYhcj3PcxD1nEoGJQYEllTjprN1uDpSb4BkgMGo0ydfIS1VDkszrr/J9OOg==",
"requires": { "requires": {
"@testim/chrome-version": "^1.1.2", "@testim/chrome-version": "^1.1.2",
"axios": "^0.24.0", "axios": "^0.27.2",
"del": "^6.0.0", "del": "^6.0.0",
"extract-zip": "^2.0.1", "extract-zip": "^2.0.1",
"https-proxy-agent": "^5.0.0", "https-proxy-agent": "^5.0.0",
@@ -2178,6 +2192,11 @@
"slash": "^3.0.0" "slash": "^3.0.0"
} }
}, },
"delay": {
"version": "5.0.0",
"resolved": "https://registry.npmjs.org/delay/-/delay-5.0.0.tgz",
"integrity": "sha512-ReEBKkIfe4ya47wlPYf/gu5ib6yUG0/Aez0JQZQz94kiWtRQvZIQbTiehsnwHvLSWJnQdhVeqYue7Id1dKr0qw=="
},
"delayed-stream": { "delayed-stream": {
"version": "1.0.0", "version": "1.0.0",
"resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz",
@@ -2300,9 +2319,9 @@
"integrity": "sha512-b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ==" "integrity": "sha512-b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ=="
}, },
"follow-redirects": { "follow-redirects": {
"version": "1.14.7", "version": "1.15.1",
"resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.14.7.tgz", "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.1.tgz",
"integrity": "sha512-+hbxoLbFMbRKDwohX8GkTataGqO6Jb7jGwpAlwgy2bIz25XtRm7KEzJM76R1WiNT5SwZkX4Y75SwBolkpmE7iQ==" "integrity": "sha512-yLAMQs+k0b2m7cVxpS1VKJVvoz7SS9Td1zss3XRwXj+ZDH00RJgnuLx7E44wx02kQLrdM3aOOy+FpzS7+8OizA=="
}, },
"form-data": { "form-data": {
"version": "4.0.0", "version": "4.0.0",
@@ -2872,9 +2891,9 @@
"integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g=="
}, },
"selenium-webdriver": { "selenium-webdriver": {
"version": "4.1.2", "version": "4.2.0",
"resolved": "https://registry.npmjs.org/selenium-webdriver/-/selenium-webdriver-4.1.2.tgz", "resolved": "https://registry.npmjs.org/selenium-webdriver/-/selenium-webdriver-4.2.0.tgz",
"integrity": "sha512-e4Ap8vQvhipgBB8Ry9zBiKGkU6kHKyNnWiavGGLKkrdW81Zv7NVMtFOL/j3yX0G8QScM7XIXijKssNd4EUxSOw==", "integrity": "sha512-gPPXYSz4jJBM2kANRQ9cZW6KFBzR/ptxqGLtyC75eXtdgOsWWRRRyZz5F2pqdnwNmAjrCSFMMXfisJaZeWVejg==",
"requires": { "requires": {
"jszip": "^3.6.0", "jszip": "^3.6.0",
"tmp": "^0.2.1", "tmp": "^0.2.1",
@@ -2931,9 +2950,9 @@
"integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==" "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig=="
}, },
"superagent": { "superagent": {
"version": "7.1.3", "version": "7.1.6",
"resolved": "https://registry.npmjs.org/superagent/-/superagent-7.1.3.tgz", "resolved": "https://registry.npmjs.org/superagent/-/superagent-7.1.6.tgz",
"integrity": "sha512-WA6et4nAvgBCS73lJvv1D0ssI5uk5Gh+TGN/kNe+B608EtcVs/yzfl+OLXTzDs7tOBDIpvgh/WUs1K2OK1zTeQ==", "integrity": "sha512-gZkVCQR1gy/oUXr+kxJMLDjla434KmSOKbx5iGD30Ql+AkJQ/YlPKECJy2nhqOsHLjGHzoDTXNSjhnvWhzKk7g==",
"requires": { "requires": {
"component-emitter": "^1.3.0", "component-emitter": "^1.3.0",
"cookiejar": "^2.1.3", "cookiejar": "^2.1.3",
@@ -2942,7 +2961,7 @@
"form-data": "^4.0.0", "form-data": "^4.0.0",
"formidable": "^2.0.1", "formidable": "^2.0.1",
"methods": "^1.1.2", "methods": "^1.1.2",
"mime": "^2.5.0", "mime": "2.6.0",
"qs": "^6.10.3", "qs": "^6.10.3",
"readable-stream": "^3.6.0", "readable-stream": "^3.6.0",
"semver": "^7.3.7" "semver": "^7.3.7"

View File

@@ -9,10 +9,11 @@
"author": "", "author": "",
"license": "ISC", "license": "ISC",
"dependencies": { "dependencies": {
"chromedriver": "^101.0.0", "chromedriver": "^102.0.0",
"delay": "^5.0.0",
"expect.js": "^0.3.1", "expect.js": "^0.3.1",
"mocha": "^10.0.0", "mocha": "^10.0.0",
"selenium-webdriver": "^4.1.2", "selenium-webdriver": "^4.2.0",
"superagent": "^7.1.3" "superagent": "^7.1.6"
} }
} }

View File

@@ -11,7 +11,8 @@
require('chromedriver'); require('chromedriver');
const execSync = require('child_process').execSync, const delay = require('delay'),
execSync = require('child_process').execSync,
expect = require('expect.js'), expect = require('expect.js'),
fs = require('fs'), fs = require('fs'),
path = require('path'), path = require('path'),
@@ -23,7 +24,7 @@ describe('Application life cycle test', function () {
this.timeout(0); this.timeout(0);
const LOCATION = 'test'; const LOCATION = 'test';
const TEST_TIMEOUT = 10000; const TEST_TIMEOUT = 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' };
@@ -55,6 +56,7 @@ describe('Application life cycle test', function () {
await browser.findElement(By.id('secretKey')).sendKeys(secretKey); await browser.findElement(By.id('secretKey')).sendKeys(secretKey);
await browser.findElement(By.xpath('//button[contains(text(), "Login")]')).click(); await browser.findElement(By.xpath('//button[contains(text(), "Login")]')).click();
await waitForElement(By.xpath('//span[contains(text(), "Buckets")]')); await waitForElement(By.xpath('//span[contains(text(), "Buckets")]'));
await delay(5000);
} }
async function logout() { async function logout() {
@@ -72,6 +74,7 @@ describe('Application life cycle test', function () {
await browser.findElement(By.xpath('//input[@id="bucket-name"]')).sendKeys(BUCKET); await browser.findElement(By.xpath('//input[@id="bucket-name"]')).sendKeys(BUCKET);
await browser.findElement(By.xpath('//button[text()="Create Bucket"]')).click(); await browser.findElement(By.xpath('//button[text()="Create Bucket"]')).click();
await waitForElement(By.xpath(`//a[contains(text(), "${BUCKET}")]`)); await waitForElement(By.xpath(`//a[contains(text(), "${BUCKET}")]`));
await delay(5000);
} }
async function checkBucket() { async function checkBucket() {
@@ -92,7 +95,10 @@ describe('Application life cycle test', function () {
} }
xit('build app', function () { execSync('cloudron build', EXEC_ARGS); }); xit('build app', function () { execSync('cloudron build', EXEC_ARGS); });
it('install app', function () { execSync(`cloudron install --location ${LOCATION} --secondary-domains API_SERVER_DOMAIN=${LOCATION}-api`, EXEC_ARGS); }); it('install app', async function () {
execSync(`cloudron install --location ${LOCATION} --secondary-domains API_SERVER_DOMAIN=${LOCATION}-api`, EXEC_ARGS);
await delay(10000);
});
it('can get app information', getAppInfo); it('can get app information', getAppInfo);
@@ -102,7 +108,7 @@ describe('Application life cycle test', function () {
it('does redirect', checkRedirect); it('does redirect', checkRedirect);
it('check api', checkApi); it('check api', checkApi);
it('can change credentials', function () { it('can change credentials', async function () {
let data = fs.readFileSync(path.join(__dirname, '../env.sh'), 'utf8'); let data = fs.readFileSync(path.join(__dirname, '../env.sh'), 'utf8');
data = data data = data
.replace(/MINIO_ROOT_USER=.*/, 'MINIO_ROOT_USER=minioakey') .replace(/MINIO_ROOT_USER=.*/, 'MINIO_ROOT_USER=minioakey')
@@ -110,6 +116,7 @@ describe('Application life cycle test', function () {
fs.writeFileSync('/tmp/env.sh', data); fs.writeFileSync('/tmp/env.sh', data);
execSync(`cloudron push --app ${app.id} /tmp/env.sh /app/data/env.sh`, EXEC_ARGS); execSync(`cloudron push --app ${app.id} /tmp/env.sh /app/data/env.sh`, EXEC_ARGS);
execSync(`cloudron restart --app ${app.id}`, EXEC_ARGS); execSync(`cloudron restart --app ${app.id}`, EXEC_ARGS);
await delay(10000);
}); });
it('can restart app', function () { execSync(`cloudron restart --app ${app.id}`, EXEC_ARGS); }); it('can restart app', function () { execSync(`cloudron restart --app ${app.id}`, EXEC_ARGS); });
@@ -121,12 +128,13 @@ describe('Application life cycle test', function () {
it('check api', checkApi); it('check api', checkApi);
it('backup app', function () { execSync('cloudron backup create --app ' + app.id, EXEC_ARGS); }); it('backup app', function () { execSync('cloudron backup create --app ' + app.id, EXEC_ARGS); });
it('restore app', function () { it('restore app', async function () {
const backups = JSON.parse(execSync(`cloudron backup list --raw --app ${app.id}`)); const backups = JSON.parse(execSync(`cloudron backup list --raw --app ${app.id}`));
execSync('cloudron uninstall --app ' + app.id, EXEC_ARGS); execSync('cloudron uninstall --app ' + app.id, EXEC_ARGS);
execSync('cloudron install --location ' + LOCATION, EXEC_ARGS); execSync('cloudron install --location ' + LOCATION, EXEC_ARGS);
getAppInfo(); getAppInfo();
execSync(`cloudron restore --backup ${backups[0].id} --app ${app.id}`, EXEC_ARGS); execSync(`cloudron restore --backup ${backups[0].id} --app ${app.id}`, EXEC_ARGS);
await delay(10000);
}); });
it('can login', login.bind(null, 'minioakey', 'minioskey')); it('can login', login.bind(null, 'minioakey', 'minioskey'));
@@ -135,9 +143,10 @@ describe('Application life cycle test', function () {
it('does redirect', checkRedirect); it('does redirect', checkRedirect);
it('check api', checkApi); it('check api', checkApi);
it('move to different location', function () { it('move to different location', async function () {
browser.manage().deleteAllCookies(); browser.manage().deleteAllCookies();
execSync('cloudron configure --location ' + LOCATION + '2', EXEC_ARGS); execSync('cloudron configure --location ' + LOCATION + '2', EXEC_ARGS);
await delay(10000);
}); });
it('can get app information', getAppInfo); it('can get app information', getAppInfo);