mirror of
https://git.cloudron.io/cloudron/minio-app
synced 2025-09-13 08:19:12 +00:00
Compare commits
31 Commits
Author | SHA1 | Date | |
---|---|---|---|
|
3b9e31f363 | ||
|
17d5977c74 | ||
|
d898eba22e | ||
|
9c6a787df9 | ||
|
9f4fc4c2f2 | ||
|
2f271c7db9 | ||
|
30f7bbf53b | ||
|
b246112d3f | ||
|
986df393a1 | ||
|
d5b3bd9c2f | ||
|
c1ce6031f7 | ||
|
9c5f6b5636 | ||
|
7fa5fa0427 | ||
|
55711af940 | ||
|
7a3ee2504f | ||
|
c2388d2710 | ||
|
81186e53f4 | ||
|
f37fd6a660 | ||
|
365254e971 | ||
|
665851a84a | ||
|
a625014aeb | ||
|
25ff8b66f6 | ||
|
2fbefac3a9 | ||
|
2bbf11f795 | ||
|
ca3aebef4a | ||
|
effb90c2ac | ||
|
e8972242ca | ||
|
e84ef0cddf | ||
|
594b45051d | ||
|
ed8e041180 | ||
|
f9c0870c59 |
137
CHANGELOG
137
CHANGELOG
@@ -1813,3 +1813,140 @@ Improve replication performance. See (#12080, #12054, #12009) for more details.
|
|||||||
* Add object parity in listing V2M and listing versions M by @vadmeste in #17238
|
* Add object parity in listing V2M and listing versions M by @vadmeste in #17238
|
||||||
* allow specification of path/virtual style bucket lookup in batch replication by @poornas in #17201
|
* allow specification of path/virtual style bucket lookup in batch replication by @poornas in #17201
|
||||||
* fix: Avoid Income globalStats twice upon error by @jiuker in #17263
|
* fix: Avoid Income globalStats twice upon error by @jiuker in #17263
|
||||||
|
|
||||||
|
[3.5.2]
|
||||||
|
* Update minio to 2023-06-02T23-17-26Z
|
||||||
|
* [Changelog](https://github.com/minio/minio/releases/tag/RELEASE.2023-06-02T23-17-26Z)
|
||||||
|
* fix: on windows use FindClose close handler by @jiuker in #17306
|
||||||
|
* fix: cleanup empty multipart folders upon stale upload cleanup by @harshavardhana in #17312
|
||||||
|
* Revert s3 select simdjson reuse by @klauspost in #17310
|
||||||
|
* record err time when remote node is offline by @jiuker in #17262
|
||||||
|
* fix: proxy not set on subnet logger webhook sometimes by @anjalshireesh in #17320
|
||||||
|
* fix: time() returned function not being called as expected in globalSync() by @drivebyer in #17319
|
||||||
|
* fix: fail large content in DeleteMultipleObjects() early by @jiuker in #17321
|
||||||
|
|
||||||
|
[3.5.3]
|
||||||
|
* Update minio to 2023-06-09T07-32-12Z
|
||||||
|
* [Changelog](https://github.com/minio/minio/releases/tag/RELEASE.2023-06-09T07-32-12Z)
|
||||||
|
* fix: expMovingAvg is too small when startTime is zero by @jiuker in #17346
|
||||||
|
* log: Add a log when saving pool.bin fails by @vadmeste in #17338
|
||||||
|
* goroutines parser: Add --less flag to filter goroutines by @vadmeste in #17339
|
||||||
|
* only allow decryption of etag for only sse-s3 by @harshavardhana in #17335
|
||||||
|
* allow quota enforcement to rely on older values by @harshavardhana in #17351
|
||||||
|
|
||||||
|
[3.5.4]
|
||||||
|
* Update minio to 2023-06-16T02-41-06Z
|
||||||
|
* [Changelog](https://github.com/minio/minio/releases/tag/RELEASE.2023-06-16T02-41-06Z)
|
||||||
|
* return InvalidRequest when no parts are provided by @harshavardhana in #17395
|
||||||
|
* service accounts are allowed to have no expiration by @harshavardhana in #17397
|
||||||
|
* return 204 status code for DeleteBucketTagging by @harshavardhana in #17400
|
||||||
|
* listen: Only error out if not able to bind any interface by @vadmeste in #17353
|
||||||
|
* fix: protect ReplicationStats against concurrent map iteration and write crash by @klauspost in #17403
|
||||||
|
|
||||||
|
[3.5.5]
|
||||||
|
* Update minio to 2023-06-19T19-52-50Z
|
||||||
|
* [Changelog](https://github.com/minio/minio/releases/tag/RELEASE.2023-06-19T19-52-50Z)
|
||||||
|
* replication: Ensure metadata updates go to same pool where version ex… by @poornas in #17451
|
||||||
|
* upgrade pkg and dperf to latest packages by @harshavardhana in #17448
|
||||||
|
* fallback on etags if they match when mtime is not same by @harshavardhana in #17424
|
||||||
|
* event args list for fanOut notification must be sized same by @harshavardhana in #17450
|
||||||
|
* rebalance: Fix a integer divide by zero crash during state update by @vadmeste in #17455
|
||||||
|
|
||||||
|
[3.5.6]
|
||||||
|
* Update minio to 2023-06-23T20-26-00Z
|
||||||
|
* [Changelog](https://github.com/minio/minio/releases/tag/RELEASE.2023-06-23T20-26-00Z)
|
||||||
|
* Bump up madmin-go and pkg deps by @donatello in #17469
|
||||||
|
* safely ignore out of band deletions while decommissioning by @harshavardhana in #17473
|
||||||
|
* fix: replication check for duplicate endpoints detection with wrong route by @jiuker in #17474
|
||||||
|
* fix: do not crash rebalance code instead set the object layer by @harshavardhana in #17465
|
||||||
|
* skip onlineDisks with parity mismatch by @harshavardhana in #17478
|
||||||
|
* Add an option to make bucket notifications synchronous by @Praveenrajmani in #17406
|
||||||
|
* always look for expired versions v/s remaining versions by @harshavardhana in #17479
|
||||||
|
|
||||||
|
[3.6.0]
|
||||||
|
* Update minio to 2023-06-29T05-12-28Z
|
||||||
|
* [Changelog](https://github.com/minio/minio/releases/tag/RELEASE.2023-06-29T05-12-28Z)
|
||||||
|
* fix: do not listAndHeal() inline with PutObject() by @harshavardhana in #17499
|
||||||
|
* Print certain log messages once per error by @kaankabalak in #17484
|
||||||
|
* chore: pkg imported more than once by @testwill in #17444
|
||||||
|
* update all our deps by @harshavardhana in #17497
|
||||||
|
* Capture realtime metrics in health report by @anjalshireesh in #17516
|
||||||
|
* allow site-replication checks to work on non-distributed setups by @harshavardhana in #17524
|
||||||
|
* fix: bug in passing Versioned field set for getHealReplicationInfo() by @harshavardhana in #17498
|
||||||
|
|
||||||
|
[3.6.1]
|
||||||
|
* Update minio to 2023-07-07T07-13-57Z
|
||||||
|
* [Changelog](https://github.com/minio/minio/releases/tag/RELEASE.2023-07-07T07-13-57Z)
|
||||||
|
* fix: OpenID config initialization by @donatello in #17544
|
||||||
|
* fix: service account list for root user by @donatello in #17547
|
||||||
|
* fix: for FTP server driver allow implicit trust TLS by @harshavardhana in #17541
|
||||||
|
* s3: Fix a typo in per pool make/delete bucket errs calculation by @vadmeste in #17553
|
||||||
|
* fix: honor older scanner settings only if newer has not changed by @harshavardhana in #17564
|
||||||
|
* fix: upon DNS refresh() failure use previous values by @harshavardhana in #17561
|
||||||
|
* fix: create user without policy that is required by @jiuker in #17554
|
||||||
|
* fix: under FanOut API avoid repeated md5sum calculation by @harshavardhana in #17572
|
||||||
|
|
||||||
|
[3.6.2]
|
||||||
|
* Update minio to 2023-07-11T21-29-34Z
|
||||||
|
* [Changelog](https://github.com/minio/minio/releases/tag/RELEASE.2023-07-11T21-29-34Z)
|
||||||
|
* add variadic delays in peer notification retries by @harshavardhana in #17592
|
||||||
|
* Fix helm templating syntax in post-job by @aztechian in #17600
|
||||||
|
* Avoid per request URL parsing by @klauspost in #17593
|
||||||
|
* fix: set request ID in tracing context key by @donatello in #17602
|
||||||
|
* prometheus: Fix internode stats by @vadmeste in #17594
|
||||||
|
|
||||||
|
[3.6.3]
|
||||||
|
* Update minio to 2023-07-18T17-49-40Z
|
||||||
|
* [Changelog](https://github.com/minio/minio/releases/tag/RELEASE.2023-07-18T17-49-40Z)
|
||||||
|
* treat 0-byte objects to honor same quorum as delete marker by @harshavardhana in #17633
|
||||||
|
* fix: do not os.Exit(1) while writing goroutines during shutdown by @harshavardhana in #17640
|
||||||
|
* Corrected the API name for audit logging purpose by @shtripat in #17642
|
||||||
|
* chore: fix minor issues reported via staticcheck by @testwill in #17639
|
||||||
|
* Added endpoint and versions attributes to KMS details by @shtripat in #17350
|
||||||
|
* replication: Simplify mrf requeueing and add backlog handler by @poornas in #17171
|
||||||
|
* Use os.ReadFile instead of ioutil.ReadFile by @anjalshireesh in #17649
|
||||||
|
|
||||||
|
[3.7.0]
|
||||||
|
* Update minio to 2023-07-21T21-12-44Z
|
||||||
|
* [Changelog](https://github.com/minio/minio/releases/tag/RELEASE.2023-07-21T21-12-44Z)
|
||||||
|
* pick internode interface properly via globalLocalNodeName by @harshavardhana in #17680
|
||||||
|
* move bucket centric metrics to /minio/v2/metrics/bucket handlers by @harshavardhana in #17663
|
||||||
|
* fix: byHost realTime metrics API by @jiuker in #17681
|
||||||
|
* update grafana dashboard JSON with the new metrics by @harshavardhana in #17683
|
||||||
|
* fix: retry listing in decommissioning if it fails perpetually by @harshavardhana in #17682
|
||||||
|
* info: Report correct pool/set/disk indexes for offline disks by @vadmeste in #17695
|
||||||
|
* Add deletemarker_total metric by @krisis in #17689
|
||||||
|
|
||||||
|
[3.7.1]
|
||||||
|
* Update minio to 2023-08-04T17-40-21Z
|
||||||
|
* [Changelog](https://github.com/minio/minio/releases/tag/RELEASE.2023-08-04T17-40-21Z)
|
||||||
|
* return tags as part of Head/Get calls by @harshavardhana in #17635
|
||||||
|
* don't error when asked for 0-based range on empty objects by @flisk in #17708
|
||||||
|
* Revert "don't error when asked for 0-based range on empty objects (#17708) by @klauspost in #17713
|
||||||
|
* fix: Create metrics slice when necessary in getCacheMetrics() by @drivebyer in #17711
|
||||||
|
|
||||||
|
[3.7.2]
|
||||||
|
* Update minio to 2023-08-09T23-30-22Z
|
||||||
|
* [Changelog](https://github.com/minio/minio/releases/tag/RELEASE.2023-08-09T23-30-22Z)
|
||||||
|
* fix: batch replication pull must preserve versionID by @harshavardhana in #17805
|
||||||
|
* Ensure tracking 499 for canceled list objects v1, v2, versions calls by @vadmeste in #17804
|
||||||
|
* replication: set context timeout for NewMultipartUpload calls by @poornas in #17807
|
||||||
|
* batch: Strict unmarshal yaml document to avoid user made typos by @vadmeste in #17808
|
||||||
|
* fix: do not use PrefixEnabled() logic to ignore valid objects by @harshavardhana in #17677
|
||||||
|
|
||||||
|
[3.7.3]
|
||||||
|
* Update minio to 2023-08-16T20-17-30Z
|
||||||
|
* [Changelog](https://github.com/minio/minio/releases/tag/RELEASE.2023-08-16T20-17-30Z)
|
||||||
|
* Prometheus metrics for `cluster_disk_offline_total` has been renamed to `cluster_drive_offline_total`
|
||||||
|
* You may setup additional alerts on this to look for slow drives that timeout often, and also drives that return I/O errors at various intervals.
|
||||||
|
* ListObjects() continuation had a bug where in the continuation token would be ignored leading to expensive list operations when there are single prefixes with millions of objects.
|
||||||
|
|
||||||
|
[3.7.4]
|
||||||
|
* Update minio to 2023-08-23T10-07-06Z
|
||||||
|
* [Changelog](https://github.com/minio/minio/releases/tag/RELEASE.2023-08-23T10-07-06Z)
|
||||||
|
* fix: validate incoming uploadID to be base64 encoded by @harshavardhana in #17865
|
||||||
|
* do not log client canceled events by @harshavardhana in #17838
|
||||||
|
* if object is a delete marker it must skip tags filter in ILM by @harshavardhana in #17861
|
||||||
|
* ilm: Fix cleaning non current null versions by @vadmeste in #17876
|
||||||
|
* update minio/kes-go dep to v0.2.0 by @aead in #17850
|
||||||
|
* fix: replace req context by locker context by @jiuker in #17880
|
||||||
|
@@ -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.5.1",
|
"version": "3.7.4",
|
||||||
"upstreamVersion": "2023-05-27T05-56-19Z",
|
"upstreamVersion": "2023-08-23T10-07-06Z",
|
||||||
"healthCheckPath": "/minio/login",
|
"healthCheckPath": "/minio/login",
|
||||||
"memoryLimit": 805306368,
|
"memoryLimit": 805306368,
|
||||||
"httpPort": 8000,
|
"httpPort": 8000,
|
||||||
|
@@ -3,7 +3,7 @@ FROM cloudron/base:4.0.0@sha256:31b195ed0662bdb06a6e8a5ddbedb6f191ce92e8bee04c03
|
|||||||
RUN mkdir -p /app/code
|
RUN mkdir -p /app/code
|
||||||
WORKDIR /app/code
|
WORKDIR /app/code
|
||||||
|
|
||||||
ARG VERSION=RELEASE.2023-05-27T05-56-19Z
|
ARG VERSION=RELEASE.2023-08-23T10-07-06Z
|
||||||
|
|
||||||
# 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
|
||||||
|
91
test/package-lock.json
generated
91
test/package-lock.json
generated
@@ -9,12 +9,11 @@
|
|||||||
"version": "1.0.0",
|
"version": "1.0.0",
|
||||||
"license": "ISC",
|
"license": "ISC",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"chromedriver": "^112.0.1",
|
"chromedriver": "^116.0.0",
|
||||||
"delay": "^5.0.0",
|
|
||||||
"expect.js": "^0.3.1",
|
"expect.js": "^0.3.1",
|
||||||
"mocha": "^10.2.0",
|
"mocha": "^10.2.0",
|
||||||
"selenium-webdriver": "^4.9.0",
|
"selenium-webdriver": "^4.11.1",
|
||||||
"superagent": "^8.0.9"
|
"superagent": "^8.1.2"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@testim/chrome-version": {
|
"node_modules/@testim/chrome-version": {
|
||||||
@@ -98,9 +97,9 @@
|
|||||||
"integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k="
|
"integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k="
|
||||||
},
|
},
|
||||||
"node_modules/axios": {
|
"node_modules/axios": {
|
||||||
"version": "1.2.2",
|
"version": "1.4.0",
|
||||||
"resolved": "https://registry.npmjs.org/axios/-/axios-1.2.2.tgz",
|
"resolved": "https://registry.npmjs.org/axios/-/axios-1.4.0.tgz",
|
||||||
"integrity": "sha512-bz/J4gS2S3I7mpN/YZfGFTqhXTYzRho8Ay38w2otuuDR322KzFIWm/4W2K6gIwvWaws5n+mnb7D1lN9uD+QH6Q==",
|
"integrity": "sha512-S4XCWMEmzvo64T9GfvQDOXgYRDJ/wsSZc7Jvdgx5u1sd0JwsuPLqb3SYmusag+edF6ziyMensPVqLTSc1PiSEA==",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"follow-redirects": "^1.15.0",
|
"follow-redirects": "^1.15.0",
|
||||||
"form-data": "^4.0.0",
|
"form-data": "^4.0.0",
|
||||||
@@ -229,14 +228,14 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/chromedriver": {
|
"node_modules/chromedriver": {
|
||||||
"version": "112.0.1",
|
"version": "116.0.0",
|
||||||
"resolved": "https://registry.npmjs.org/chromedriver/-/chromedriver-112.0.1.tgz",
|
"resolved": "https://registry.npmjs.org/chromedriver/-/chromedriver-116.0.0.tgz",
|
||||||
"integrity": "sha512-ieQzvellbtPY4MUrFzzayC1bZa/HoBsGXejUQJhAPWcYALxtkjUZNUYWbojMjIzf8iIhVda9VvdXiRKqdlN7ow==",
|
"integrity": "sha512-/TQaRn+RUAYnVqy5Vx8VtU8DvtWosU8QLM2u7BoNM5h55PRQPXF/onHAehEi8Sj/CehdKqH50NFdiumQAUr0DQ==",
|
||||||
"hasInstallScript": true,
|
"hasInstallScript": true,
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@testim/chrome-version": "^1.1.3",
|
"@testim/chrome-version": "^1.1.3",
|
||||||
"axios": "^1.2.1",
|
"axios": "^1.4.0",
|
||||||
"compare-versions": "^5.0.1",
|
"compare-versions": "^6.0.0",
|
||||||
"extract-zip": "^2.0.1",
|
"extract-zip": "^2.0.1",
|
||||||
"https-proxy-agent": "^5.0.1",
|
"https-proxy-agent": "^5.0.1",
|
||||||
"proxy-from-env": "^1.1.0",
|
"proxy-from-env": "^1.1.0",
|
||||||
@@ -327,9 +326,9 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/compare-versions": {
|
"node_modules/compare-versions": {
|
||||||
"version": "5.0.1",
|
"version": "6.0.0",
|
||||||
"resolved": "https://registry.npmjs.org/compare-versions/-/compare-versions-5.0.1.tgz",
|
"resolved": "https://registry.npmjs.org/compare-versions/-/compare-versions-6.0.0.tgz",
|
||||||
"integrity": "sha512-v8Au3l0b+Nwkp4G142JcgJFh1/TUhdxut7wzD1Nq1dyp5oa3tXaqb03EXOAB6jS4gMlalkjAUPZBMiAfKUixHQ=="
|
"integrity": "sha512-s2MzYxfRsE9f/ow8hjn7ysa7pod1xhHdQMsgiJtKx6XSNf4x2N1KG4fjrkUmXcP/e9Y2ZX4zB6sHIso0Lm6evQ=="
|
||||||
},
|
},
|
||||||
"node_modules/component-emitter": {
|
"node_modules/component-emitter": {
|
||||||
"version": "1.3.0",
|
"version": "1.3.0",
|
||||||
@@ -383,17 +382,6 @@
|
|||||||
"resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz",
|
"resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz",
|
||||||
"integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ=="
|
"integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ=="
|
||||||
},
|
},
|
||||||
"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",
|
||||||
@@ -1202,9 +1190,9 @@
|
|||||||
"integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g=="
|
"integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g=="
|
||||||
},
|
},
|
||||||
"node_modules/selenium-webdriver": {
|
"node_modules/selenium-webdriver": {
|
||||||
"version": "4.9.0",
|
"version": "4.11.1",
|
||||||
"resolved": "https://registry.npmjs.org/selenium-webdriver/-/selenium-webdriver-4.9.0.tgz",
|
"resolved": "https://registry.npmjs.org/selenium-webdriver/-/selenium-webdriver-4.11.1.tgz",
|
||||||
"integrity": "sha512-QGaPoREo7sgOVhTiAvCasoi1f4ruTaJDtp0RKNFIbfyns5smK5+iCwnRTIPXb0R3CAYdaqUXd6BHduh37DorzQ==",
|
"integrity": "sha512-bvrnr3UZlLScErOmn8gV6cqc+1PYDHn0575CxUR2U14fMWt7OKxSy0lAThhZq4sq4d1HqP8ebz11oiHSlAQ2WA==",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"jszip": "^3.10.1",
|
"jszip": "^3.10.1",
|
||||||
"tmp": "^0.2.1",
|
"tmp": "^0.2.1",
|
||||||
@@ -1274,9 +1262,9 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/superagent": {
|
"node_modules/superagent": {
|
||||||
"version": "8.0.9",
|
"version": "8.1.2",
|
||||||
"resolved": "https://registry.npmjs.org/superagent/-/superagent-8.0.9.tgz",
|
"resolved": "https://registry.npmjs.org/superagent/-/superagent-8.1.2.tgz",
|
||||||
"integrity": "sha512-4C7Bh5pyHTvU33KpZgwrNKh/VQnvgtCSqPRfJAUdmrtSYePVzVg4E4OzsrbkhJj9O7SO6Bnv75K/F8XVZT8YHA==",
|
"integrity": "sha512-6WTxW1EB6yCxV5VFOIPQruWGHqc3yI7hEmZK6h+pyk69Lk/Ut7rLUY6W/ONF2MjBuGjvmMiIpsrVJ2vjrHlslA==",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"component-emitter": "^1.3.0",
|
"component-emitter": "^1.3.0",
|
||||||
"cookiejar": "^2.1.4",
|
"cookiejar": "^2.1.4",
|
||||||
@@ -1625,9 +1613,9 @@
|
|||||||
"integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k="
|
"integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k="
|
||||||
},
|
},
|
||||||
"axios": {
|
"axios": {
|
||||||
"version": "1.2.2",
|
"version": "1.4.0",
|
||||||
"resolved": "https://registry.npmjs.org/axios/-/axios-1.2.2.tgz",
|
"resolved": "https://registry.npmjs.org/axios/-/axios-1.4.0.tgz",
|
||||||
"integrity": "sha512-bz/J4gS2S3I7mpN/YZfGFTqhXTYzRho8Ay38w2otuuDR322KzFIWm/4W2K6gIwvWaws5n+mnb7D1lN9uD+QH6Q==",
|
"integrity": "sha512-S4XCWMEmzvo64T9GfvQDOXgYRDJ/wsSZc7Jvdgx5u1sd0JwsuPLqb3SYmusag+edF6ziyMensPVqLTSc1PiSEA==",
|
||||||
"requires": {
|
"requires": {
|
||||||
"follow-redirects": "^1.15.0",
|
"follow-redirects": "^1.15.0",
|
||||||
"form-data": "^4.0.0",
|
"form-data": "^4.0.0",
|
||||||
@@ -1720,13 +1708,13 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"chromedriver": {
|
"chromedriver": {
|
||||||
"version": "112.0.1",
|
"version": "116.0.0",
|
||||||
"resolved": "https://registry.npmjs.org/chromedriver/-/chromedriver-112.0.1.tgz",
|
"resolved": "https://registry.npmjs.org/chromedriver/-/chromedriver-116.0.0.tgz",
|
||||||
"integrity": "sha512-ieQzvellbtPY4MUrFzzayC1bZa/HoBsGXejUQJhAPWcYALxtkjUZNUYWbojMjIzf8iIhVda9VvdXiRKqdlN7ow==",
|
"integrity": "sha512-/TQaRn+RUAYnVqy5Vx8VtU8DvtWosU8QLM2u7BoNM5h55PRQPXF/onHAehEi8Sj/CehdKqH50NFdiumQAUr0DQ==",
|
||||||
"requires": {
|
"requires": {
|
||||||
"@testim/chrome-version": "^1.1.3",
|
"@testim/chrome-version": "^1.1.3",
|
||||||
"axios": "^1.2.1",
|
"axios": "^1.4.0",
|
||||||
"compare-versions": "^5.0.1",
|
"compare-versions": "^6.0.0",
|
||||||
"extract-zip": "^2.0.1",
|
"extract-zip": "^2.0.1",
|
||||||
"https-proxy-agent": "^5.0.1",
|
"https-proxy-agent": "^5.0.1",
|
||||||
"proxy-from-env": "^1.1.0",
|
"proxy-from-env": "^1.1.0",
|
||||||
@@ -1795,9 +1783,9 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"compare-versions": {
|
"compare-versions": {
|
||||||
"version": "5.0.1",
|
"version": "6.0.0",
|
||||||
"resolved": "https://registry.npmjs.org/compare-versions/-/compare-versions-5.0.1.tgz",
|
"resolved": "https://registry.npmjs.org/compare-versions/-/compare-versions-6.0.0.tgz",
|
||||||
"integrity": "sha512-v8Au3l0b+Nwkp4G142JcgJFh1/TUhdxut7wzD1Nq1dyp5oa3tXaqb03EXOAB6jS4gMlalkjAUPZBMiAfKUixHQ=="
|
"integrity": "sha512-s2MzYxfRsE9f/ow8hjn7ysa7pod1xhHdQMsgiJtKx6XSNf4x2N1KG4fjrkUmXcP/e9Y2ZX4zB6sHIso0Lm6evQ=="
|
||||||
},
|
},
|
||||||
"component-emitter": {
|
"component-emitter": {
|
||||||
"version": "1.3.0",
|
"version": "1.3.0",
|
||||||
@@ -1837,11 +1825,6 @@
|
|||||||
"resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz",
|
"resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz",
|
||||||
"integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ=="
|
"integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ=="
|
||||||
},
|
},
|
||||||
"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",
|
||||||
@@ -2417,9 +2400,9 @@
|
|||||||
"integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g=="
|
"integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g=="
|
||||||
},
|
},
|
||||||
"selenium-webdriver": {
|
"selenium-webdriver": {
|
||||||
"version": "4.9.0",
|
"version": "4.11.1",
|
||||||
"resolved": "https://registry.npmjs.org/selenium-webdriver/-/selenium-webdriver-4.9.0.tgz",
|
"resolved": "https://registry.npmjs.org/selenium-webdriver/-/selenium-webdriver-4.11.1.tgz",
|
||||||
"integrity": "sha512-QGaPoREo7sgOVhTiAvCasoi1f4ruTaJDtp0RKNFIbfyns5smK5+iCwnRTIPXb0R3CAYdaqUXd6BHduh37DorzQ==",
|
"integrity": "sha512-bvrnr3UZlLScErOmn8gV6cqc+1PYDHn0575CxUR2U14fMWt7OKxSy0lAThhZq4sq4d1HqP8ebz11oiHSlAQ2WA==",
|
||||||
"requires": {
|
"requires": {
|
||||||
"jszip": "^3.10.1",
|
"jszip": "^3.10.1",
|
||||||
"tmp": "^0.2.1",
|
"tmp": "^0.2.1",
|
||||||
@@ -2471,9 +2454,9 @@
|
|||||||
"integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig=="
|
"integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig=="
|
||||||
},
|
},
|
||||||
"superagent": {
|
"superagent": {
|
||||||
"version": "8.0.9",
|
"version": "8.1.2",
|
||||||
"resolved": "https://registry.npmjs.org/superagent/-/superagent-8.0.9.tgz",
|
"resolved": "https://registry.npmjs.org/superagent/-/superagent-8.1.2.tgz",
|
||||||
"integrity": "sha512-4C7Bh5pyHTvU33KpZgwrNKh/VQnvgtCSqPRfJAUdmrtSYePVzVg4E4OzsrbkhJj9O7SO6Bnv75K/F8XVZT8YHA==",
|
"integrity": "sha512-6WTxW1EB6yCxV5VFOIPQruWGHqc3yI7hEmZK6h+pyk69Lk/Ut7rLUY6W/ONF2MjBuGjvmMiIpsrVJ2vjrHlslA==",
|
||||||
"requires": {
|
"requires": {
|
||||||
"component-emitter": "^1.3.0",
|
"component-emitter": "^1.3.0",
|
||||||
"cookiejar": "^2.1.4",
|
"cookiejar": "^2.1.4",
|
||||||
|
@@ -9,11 +9,10 @@
|
|||||||
"author": "",
|
"author": "",
|
||||||
"license": "ISC",
|
"license": "ISC",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"chromedriver": "^112.0.1",
|
"chromedriver": "^116.0.0",
|
||||||
"delay": "^5.0.0",
|
|
||||||
"expect.js": "^0.3.1",
|
"expect.js": "^0.3.1",
|
||||||
"mocha": "^10.2.0",
|
"mocha": "^10.2.0",
|
||||||
"selenium-webdriver": "^4.9.0",
|
"selenium-webdriver": "^4.11.1",
|
||||||
"superagent": "^8.0.9"
|
"superagent": "^8.1.2"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
18
test/test.js
18
test/test.js
@@ -11,12 +11,12 @@
|
|||||||
|
|
||||||
require('chromedriver');
|
require('chromedriver');
|
||||||
|
|
||||||
const delay = require('delay'),
|
const execSync = require('child_process').execSync,
|
||||||
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'),
|
||||||
superagent = require('superagent'),
|
superagent = require('superagent'),
|
||||||
|
timers = require('timers/promises'),
|
||||||
{ Builder, By, until } = require('selenium-webdriver'),
|
{ Builder, By, until } = require('selenium-webdriver'),
|
||||||
{ Options } = require('selenium-webdriver/chrome');
|
{ Options } = require('selenium-webdriver/chrome');
|
||||||
|
|
||||||
@@ -56,13 +56,13 @@ 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[@id="do-login"]')).click();
|
await browser.findElement(By.xpath('//button[@id="do-login"]')).click();
|
||||||
await waitForElement(By.xpath('//span[contains(text(), "Buckets")]'));
|
await waitForElement(By.xpath('//span[contains(text(), "Buckets")]'));
|
||||||
await delay(5000);
|
await timers.setTimeout(5000);
|
||||||
}
|
}
|
||||||
|
|
||||||
async function logout() {
|
async function logout() {
|
||||||
await browser.get(`https://${app.fqdn}/`);
|
await browser.get(`https://${app.fqdn}/`);
|
||||||
await waitForElement(By.xpath('//span[contains(text(), "Buckets")]'));
|
await waitForElement(By.xpath('//span[contains(text(), "Buckets")]'));
|
||||||
const button = await browser.findElement(By.xpath('//div/span[contains(text(), "Sign Out")]'));
|
const button = await browser.findElement(By.xpath('//button[@id="sign-out"]'));
|
||||||
await browser.executeScript('arguments[0].scrollIntoView(false)', button);
|
await browser.executeScript('arguments[0].scrollIntoView(false)', button);
|
||||||
await button.click();
|
await button.click();
|
||||||
await waitForElement(By.id('accessKey'));
|
await waitForElement(By.id('accessKey'));
|
||||||
@@ -76,7 +76,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[@id="create-bucket"]')).click();
|
await browser.findElement(By.xpath('//button[@id="create-bucket"]')).click();
|
||||||
await waitForElement(By.xpath(`//h1[contains(text(), "${BUCKET}")]`));
|
await waitForElement(By.xpath(`//h1[contains(text(), "${BUCKET}")]`));
|
||||||
await delay(5000);
|
await timers.setTimeout(5000);
|
||||||
}
|
}
|
||||||
|
|
||||||
async function checkBucket() {
|
async function checkBucket() {
|
||||||
@@ -99,7 +99,7 @@ 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', async function () {
|
it('install app', async function () {
|
||||||
execSync(`cloudron install --location ${LOCATION} --secondary-domains API_SERVER_DOMAIN=${LOCATION}-api`, EXEC_ARGS);
|
execSync(`cloudron install --location ${LOCATION} --secondary-domains API_SERVER_DOMAIN=${LOCATION}-api`, EXEC_ARGS);
|
||||||
await delay(10000);
|
await timers.setTimeout(10000);
|
||||||
});
|
});
|
||||||
|
|
||||||
it('can get app information', getAppInfo);
|
it('can get app information', getAppInfo);
|
||||||
@@ -118,7 +118,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);
|
await timers.setTimeout(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); });
|
||||||
@@ -136,7 +136,7 @@ describe('Application life cycle test', function () {
|
|||||||
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);
|
await timers.setTimeout(10000);
|
||||||
});
|
});
|
||||||
|
|
||||||
it('can login', login.bind(null, 'minioakey', 'minioskey'));
|
it('can login', login.bind(null, 'minioakey', 'minioskey'));
|
||||||
@@ -148,7 +148,7 @@ describe('Application life cycle test', function () {
|
|||||||
it('move to different location', async 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);
|
await timers.setTimeout(10000);
|
||||||
});
|
});
|
||||||
it('can get app information', getAppInfo);
|
it('can get app information', getAppInfo);
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user