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

Compare commits

..

60 Commits

Author SHA1 Message Date
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
Girish Ramakrishnan
ad93f49467 Version 2.5.3 2022-05-26 08:51:17 -07:00
Girish Ramakrishnan
52b7e49b44 Update minio to 2022-05-26T05-48-41Z 2022-05-26 08:43:30 -07:00
Girish Ramakrishnan
ab20e34d26 Version 2.5.2 2022-05-23 19:35:40 -07:00
Girish Ramakrishnan
522cfeff67 Update test packages 2022-05-23 19:30:42 -07:00
Girish Ramakrishnan
d7b08ca48c Update minio to 2022-05-23T18-45-11Z 2022-05-23 19:29:42 -07:00
Girish Ramakrishnan
058673d882 Version 2.5.1 2022-05-20 09:01:45 -07:00
Girish Ramakrishnan
8c3ea72c86 Update minio to 2022-05-19T18-20-59Z 2022-05-20 08:55:01 -07:00
Girish Ramakrishnan
74eea35e18 Version 2.5.0 2022-05-09 09:32:24 -07:00
Girish Ramakrishnan
eafdc900b3 Update minio to 2022-05-08T23-50-31Z 2022-05-09 09:18:17 -07:00
Girish Ramakrishnan
0ec3052ad8 Version 2.4.14 2022-05-04 09:18:40 -07:00
Girish Ramakrishnan
c10b3888f0 Update mc again 2022-05-04 09:08:58 -07:00
Girish Ramakrishnan
8d2b9d84ce Update minio to 2022-05-04T07-45-27Z 2022-05-04 09:05:00 -07:00
Girish Ramakrishnan
13a4de046d Version 2.4.13 2022-05-03 15:42:40 -07:00
Girish Ramakrishnan
d030ce00cc Update minio to 2022-05-03T20-36-08Z 2022-05-03 15:32:54 -07:00
Girish Ramakrishnan
a2ea852bd4 can only change password with env vars now
https://docs.min.io/docs/minio-server-configuration-guide.html#credentials
2022-04-30 15:45:21 -07:00
Girish Ramakrishnan
aeeb7473b9 Version 2.4.12 2022-04-29 10:57:03 -07:00
Girish Ramakrishnan
a988358a84 Update minio to 2022-04-29T01-27-09Z 2022-04-29 10:49:15 -07:00
Girish Ramakrishnan
76e75b2421 Version 2.4.11 2022-04-25 22:46:17 -07:00
Girish Ramakrishnan
51bd508a5e Update minio to 2022-04-26T01-20-24Z 2022-04-25 22:31:06 -07:00
Girish Ramakrishnan
4e042bb62f Version 2.4.10 2022-04-17 11:35:02 -05:00
Girish Ramakrishnan
00fc4851bc Update minio to 2022-04-16T04-26-02Z 2022-04-17 11:23:56 -05:00
Girish Ramakrishnan
fb0dae799d Version 2.4.9 2022-04-13 09:18:58 -05:00
Girish Ramakrishnan
a68bdeeade Update minio to 2022-04-12T06-55-35Z 2022-04-13 09:08:05 -05:00
Girish Ramakrishnan
c1dbd2139f Version 2.4.8 2022-04-10 06:57:22 -07:00
Girish Ramakrishnan
fe88ff7d1c Update minio to 2022-04-09T15-09-52Z 2022-04-10 06:52:12 -07:00
Girish Ramakrishnan
fecebfd7e1 Version 2.4.7 2022-04-04 09:21:42 -07:00
Girish Ramakrishnan
0d171ddb5a Update minio to 2022-04-01T03-41-39Z 2022-04-04 09:06:44 -07:00
Girish Ramakrishnan
a5736bba2b Version 2.4.6 2022-03-29 11:27:46 -07:00
Girish Ramakrishnan
f1181e9383 Update minio to 2022-03-26T06-49-28Z 2022-03-29 11:19:33 -07:00
Girish Ramakrishnan
6346e564f9 Version 2.4.5 2022-03-24 09:29:36 -07:00
Girish Ramakrishnan
4843a8345a Update minio to 2022-03-24T00-43-44Z 2022-03-24 09:22:04 -07:00
Girish Ramakrishnan
fd7c75da9f Version 2.4.4 2022-03-22 09:21:29 -07:00
Girish Ramakrishnan
327ede57c3 Update minio to 2022-03-22T02-05-10Z 2022-03-22 09:06:33 -07:00
Girish Ramakrishnan
179628163f Version 2.4.3 2022-03-17 09:39:55 -07:00
Girish Ramakrishnan
dfcab10abe Update minio to 2022-03-17T06-34-49Z 2022-03-17 09:15:47 -07:00
Girish Ramakrishnan
642f1860d2 Version 2.4.2 2022-03-15 09:45:31 -07:00
Girish Ramakrishnan
bc6656111f Update client also 2022-03-15 09:37:51 -07:00
Girish Ramakrishnan
53371d5428 Update minio to 2022-03-14T18-25-24Z 2022-03-15 09:34:11 -07:00
Girish Ramakrishnan
444d1972e2 Version 2.4.1 2022-03-13 10:41:40 -07:00
Girish Ramakrishnan
1f51564fc7 Update minio to 2022-03-11T23-57-45Z 2022-03-13 10:35:38 -07:00
Girish Ramakrishnan
f49c69d566 Version 2.4.0 2022-03-11 11:11:33 -08:00
Girish Ramakrishnan
80802dc892 Update test packages 2022-03-11 11:00:27 -08:00
Girish Ramakrishnan
c23815b757 Update minio to 2022-03-11T11-08-23Z 2022-03-11 10:58:33 -08:00
Johannes Zellner
b195eb7e21 Bump version for 2022-03-08T22-28-51Z 2022-03-10 09:31:48 +01:00
8 changed files with 350 additions and 200 deletions

173
CHANGELOG
View File

@@ -1049,3 +1049,176 @@ Improve replication performance. See (#12080, #12054, #12009) for more details.
* Update minio to 2022-03-05T06-32-39Z * Update minio to 2022-03-05T06-32-39Z
* [Changelog](https://github.com/minio/minio/releases/tag/RELEASE.2022-03-05T06-32-39Z) * [Changelog](https://github.com/minio/minio/releases/tag/RELEASE.2022-03-05T06-32-39Z)
[2.3.4]
* Update minio to 2022-03-08T22-28-51Z
* [Changelog](https://github.com/minio/minio/releases/tag/RELEASE.2022-03-08T22-28-51Z)
[2.4.0]
* Update minio to 2022-03-11T11-08-23Z
* [Changelog](https://github.com/minio/minio/releases/tag/RELEASE.2022-03-11T11-08-23Z)
[2.4.1]
* Update minio to 2022-03-11T23-57-45Z
* [Changelog](https://github.com/minio/minio/releases/tag/RELEASE.2022-03-11T23-57-45Z)
* add filesystem group change policy for large minio deployments by @dharapvj in #14528
* Fix regression from range GET proxying #14345 by @poornas in #14532
[2.4.2]
* Update minio to 2022-03-14T18-25-24Z
* [Changelog](https://github.com/minio/minio/releases/tag/RELEASE.2022-03-14T18-25-24Z)
[2.4.3]
* Update minio to 2022-03-17T06-34-49Z
* [Changelog](https://github.com/minio/minio/releases/tag/RELEASE.2022-03-17T06-34-49Z)
[2.4.4]
* Update minio to 2022-03-22T02-05-10Z
* [Changelog](https://github.com/minio/minio/releases/tag/RELEASE.2022-03-22T02-05-10Z)
[2.4.5]
* Update minio to 2022-03-24T00-43-44Z
* [Changelog](https://github.com/minio/minio/releases/tag/RELEASE.2022-03-24T00-43-44Z)
[2.4.6]
* Update minio to 2022-03-26T06-49-28Z
* [Changelog](https://github.com/minio/minio/releases/tag/RELEASE.2022-03-26T06-49-28Z)
[2.4.7]
* Update minio to 2022-04-01T03-41-39Z
* [Changelog](https://github.com/minio/minio/releases/tag/RELEASE.2022-04-01T03-41-39Z)
* Always get the actual object size in bulk SSE-S3 by @vadmeste in #14637
* listing: decrypt only SSE-S3 single-part ETags by @aead in #14638
* Load IAM with a single listing call by @donatello in #14640
* fix: multiple pool setup return incorrect DeleteMarker metadata by @harshavardhana in #14642
* Quick type for fix ttfb entry in table by @eco-minio in #14647
[2.4.8]
* Update minio to 2022-04-09T15-09-52Z
* [Changelog](https://github.com/minio/minio/releases/tag/RELEASE.2022-04-09T15-09-52Z)
* Add metrics for observing IAM sync operations by @donatello in #14680
* Write deployment id to health report at the start by @anjalshireesh in #14673
* etag: add Format and Decrypt functions by @aead in #14659
* Remove unnecessary log printing by @vadmeste in #14685
* listing: improve listing of encrypted objects by @aead in #14667
* Set inspect-input.txt modtime by @klauspost in #14688
[2.4.9]
* Update minio to 2022-04-12T06-55-35Z
* [Changelog](https://github.com/minio/minio/releases/tag/RELEASE.2022-04-12T06-55-35Z)
* Fix a privilege escalation security issue - https://github.com/minio/minio/security/advisories/GHSA-2j69-jjmg-534q
* Console v0.15.10 by @dvaldivia in #14723
* align atomic variables once more for 32bit by @harshavardhana in #14721
* make sure to pass Lifecycle if set for List filtering by @harshavardhana in #14722
* Set permissions for GitHub actions by @naveensrinivasan in #14693
* Add support for minio tier type by @krisis in #14468
[2.4.10]
* Update minio to 2022-04-16T04-26-02Z
* [Changelog](https://github.com/minio/minio/releases/tag/RELEASE.2022-04-16T04-26-02Z)
* Allow parallel decom migration threads to be more than erasure sets by @krishnasrinivas in #14733
* Include speedtest as part of healthinfo api by @anjalshireesh in #14696
* Support templating accessKey existingSecret and bucket name by @yisiqi in #14643
* enable go1.18.x builds by @harshavardhana in #14746
* [S3Select] Switch to new parquet library and reduce locking by @donatello in #14731
* Update Console v0.15.13 by @dvaldivia in #14751
[2.4.11]
* Update minio to 2022-04-26T01-20-24Z
* [Changelog](https://github.com/minio/minio/releases/tag/RELEASE.2022-04-26T01-20-24Z)
[2.4.12]
* Update minio to 2022-04-29T01-27-09Z
* [Changelog](https://github.com/minio/minio/releases/tag/RELEASE.2022-04-29T01-27-09Z)
[2.4.13]
* Update minio to 2022-05-03T20-36-08Z
* [Changelog](https://github.com/minio/minio/releases/tag/RELEASE.2022-05-03T20-36-08Z)
* fix: panic in browser redirect handler for unexpected r.Host by @harshavardhana in #14844
* fix: reject invalid r.Host headers by @harshavardhana in #14846
* fix: disallow newer policies, users & groups with space characters by @harshavardhana in #14845
* Check error status codes by @klauspost in #14850
* Log Range Header by @klauspost in #14851
* fix: remove embedded-policy as requested by the user by @harshavardhana in #14847
[2.4.14]
* Update minio to 2022-05-04T07-45-27Z
* [Changelog](https://github.com/minio/minio/releases/tag/RELEASE.2022-05-04T07-45-27Z)
* Add audit log for decommissioning
[2.5.0]
* Update minio to 2022-05-08T23-50-31Z
* [Changelog](https://github.com/minio/minio/releases/tag/RELEASE.2022-05-08T23-50-31Z)
* Fix missing annotations for PVCs by @Sea-you in #14793
* Add OPA doc and remove deprecation marking by @donatello in #14863
* avoid concurrent reads and writes to opts.UserDefined by @harshavardhana in #14862
[2.5.1]
* Update minio to 2022-05-19T18-20-59Z
* [Changelog](https://github.com/minio/minio/releases/tag/RELEASE.2022-05-19T18-20-59Z)
* pools: GetObjectNInfo should cover locking during object read by @vadmeste in #14887
* tracing: Add disk path to storage tracing by @vadmeste in #14883
* Add support for Access Management Plugin by @donatello in #14875
* If decom of an object fails, retry for 3 times by @krishnasrinivas in #14861
* update new name for MINIO_POLICY_OPA_URL by @itsericqiu in #14898
* add support for extra Prometheus labels by @harshavardhana in #14899
* use BadRequest HTTP status instead of Conflict for certain errors by @harshavardhana in #14900
[2.5.2]
* Update minio to 2022-05-23T18-45-11Z
* [Changelog](https://github.com/minio/minio/releases/tag/RELEASE.2022-05-23T18-45-11Z)
* mrf: Fix stale MRF data showed in heal info by @vadmeste in #14953
* Relax site replication syncing of service accounts by @poornas in #14955
* Fix WalkDir fallback hot loop by @klauspost in #14961
* fetch bucket replication stats across peers in single call by @harshavardhana in #14956
[2.5.3]
* Update minio to 2022-05-26T05-48-41Z
* [Changelog](https://github.com/minio/minio/releases/tag/RELEASE.2022-05-26T05-48-41Z)
* replication healing: Fix typo when healing bucket quota info by @vadmeste in #14966
* Do not use inline data size in xl.meta quorum calculation by @vadmeste in #14831
* hash-set: Add file input for debug tool by @klauspost in #14965
* site replication: Allow replication rule edit by @poornas in #14969
* 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

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.3.3", "version": "2.7.4",
"upstreamVersion": "2022-03-05T06-32-39Z", "upstreamVersion": "2022-06-17T02-00-35Z",
"healthCheckPath": "/minio/login", "healthCheckPath": "/minio/login",
"memoryLimit": 805306368,
"httpPort": 8000, "httpPort": 8000,
"httpPorts": { "httpPorts": {
"API_SERVER_DOMAIN": { "API_SERVER_DOMAIN": {

View File

@@ -1,27 +1,29 @@
## About
Minio is a distributed object storage server built for cloud applications and devops. Minio is a distributed object storage server built for cloud applications and devops.
### Features ## Features
#### Amazon S3 Compatible ### Amazon S3 Compatible
Minio implements Amazon S3 v4 APIs. Minio also includes client SDKs and a console utility. Minio implements Amazon S3 v4 APIs. Minio also includes client SDKs and a console utility.
#### Minimalist Design ### Minimalist Design
Minio is deeply influenced by minimalism. We believe that only simple things scale. Minio is deeply influenced by minimalism. We believe that only simple things scale.
#### Apache License 2.0 ### Apache License 2.0
Minio is free software, released under Apache license v2.0. Minio has an active developer and user community. Minio is free software, released under Apache license v2.0. Minio has an active developer and user community.
#### Lambda Functions ### Lambda Functions
Minio triggers Lambda functions through event notification service. In addition Minio also supports simple queueing service for AMQP, Elasticsearch, Redis, NATS and Postgres targets. Minio triggers Lambda functions through event notification service. In addition Minio also supports simple queueing service for AMQP, Elasticsearch, Redis, NATS and Postgres targets.
#### Erasure Code & Bitrot Protection ### Erasure Code & Bitrot Protection
Minio protects data against hardware failures and silent data corruption using erasure code and checksums. You may lose half the number of drives and still recover from it. Minio protects data against hardware failures and silent data corruption using erasure code and checksums. You may lose half the number of drives and still recover from it.
#### Written in Go ### Written in Go
Go is an emerging language of choice for modern cloud infrastructure projects. Go language enables Minio to be highly concurrent and lightweight. Go is an emerging language of choice for modern cloud infrastructure projects. Go language enables Minio to be highly concurrent and lightweight.

View File

@@ -3,14 +3,14 @@ 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-03-05T06-32-39Z ARG VERSION=RELEASE.2022-06-17T02-00-35Z
ARG MC_VERSION=RELEASE.2022-03-03T21-12-24Z ARG MC_VERSION=RELEASE.2022-06-17T02-52-50Z
# 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
# https://dl.min.io/client/mc/release/linux-amd64/ # https://dl.min.io/client/mc/release/linux-amd64/
RUN wget https://dl.min.io/client/mc/release/linux-amd64/mc.${MC_VERSION} -O /app/code/mc && chmod +x /app/code/mc RUN wget https://dl.min.io/client/mc/release/linux-amd64/mc.${MC_VERSION} -O /app/code/mc && chmod +x /app/code/mc
COPY env.sh minio-credentials start.sh /app/code/ COPY env.sh start.sh /app/code/
CMD [ "/app/code/start.sh" ] CMD [ "/app/code/start.sh" ]

View File

@@ -1,41 +0,0 @@
#!/usr/bin/env node
'use strict';
const fs = require('fs');
const MINIO_CONFIG = '/app/data/data/.minio.sys/config/config.json';
function usage() {
console.log('Usage:\n');
console.log('\tminio-credentials get');
console.log('\tminio-credentials set <access key> <secret key>');
console.log();
}
let config = JSON.parse(fs.readFileSync(MINIO_CONFIG, 'utf8'));
let adminCredentials = config['credentials']['_'];
let accessKey = adminCredentials.filter(kv => kv.key === 'access_key')[0];
let secretKey = adminCredentials.filter(kv => kv.key === 'secret_key')[0];
if (process.argv[2] === 'get') {
console.log('Access Key:', accessKey.value);
console.log('Secret Key:', secretKey.value);
} else if (process.argv[2] === 'set') {
if (process.argv.length !== 5) return usage();
// https://docs.aws.amazon.com/IAM/latest/APIReference/API_CreateAccessKey.html
if (process.argv[4].length < 5) return console.log('secret key must be atleast 5 characters');
if (!/^[\w+=,.@-]+$/.test(process.argv[3])) return console.log('access key has invalid characters');
accessKey.value = process.argv[3];
if (process.argv[4].length < 8) return console.log('secret key must be atleast 8 characters');
secretKey.value = process.argv[4];
fs.writeFileSync(MINIO_CONFIG, JSON.stringify(config), 'utf8');
console.log('Credentials updated. Restart minio app for new credentials to take effect.\n');
} else {
usage();
}

275
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": "^99.0.0", "chromedriver": "^102.0.0",
"delay": "^5.0.0",
"expect.js": "^0.3.1", "expect.js": "^0.3.1",
"mocha": "^9.2.1", "mocha": "^10.0.0",
"selenium-webdriver": "^4.1.1", "selenium-webdriver": "^4.2.0",
"superagent": "^7.1.1" "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": "99.0.0", "version": "102.0.0",
"resolved": "https://registry.npmjs.org/chromedriver/-/chromedriver-99.0.0.tgz", "resolved": "https://registry.npmjs.org/chromedriver/-/chromedriver-102.0.0.tgz",
"integrity": "sha512-pyB+5LuyZdb7EBPL3i5D5yucZUD+SlkdiUtmpjaEnLd9zAXp+SvD/hP5xF4l/ZmWvUo/1ZLxAI1YBdhazGTpgA==", "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",
@@ -409,9 +411,9 @@
"integrity": "sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==" "integrity": "sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ=="
}, },
"node_modules/debug": { "node_modules/debug": {
"version": "4.3.3", "version": "4.3.4",
"resolved": "https://registry.npmjs.org/debug/-/debug-4.3.3.tgz", "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz",
"integrity": "sha512-/zxw5+vh1Tfv+4Qn7a5nsbcJKPaSvCDhojn6FEl9vupwK2VCSDtEiEtqr8DFtzYFOdz63LBkxec7DYuc2jon6Q==", "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==",
"dependencies": { "dependencies": {
"ms": "2.1.2" "ms": "2.1.2"
}, },
@@ -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",
@@ -792,14 +805,6 @@
"resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.8.tgz", "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.8.tgz",
"integrity": "sha512-qkIilPUYcNhJpd33n0GBXTB1MMPp14TxEsEs0pTrsSVucApsYzW5V+Q8Qxhik6KU3evy+qkAAowTByymK0avdg==" "integrity": "sha512-qkIilPUYcNhJpd33n0GBXTB1MMPp14TxEsEs0pTrsSVucApsYzW5V+Q8Qxhik6KU3evy+qkAAowTByymK0avdg=="
}, },
"node_modules/growl": {
"version": "1.10.5",
"resolved": "https://registry.npmjs.org/growl/-/growl-1.10.5.tgz",
"integrity": "sha512-qBr4OuELkhPenW6goKVXiv47US3clb3/IbuWF9KNKEijAy9oeHxU9IgzjvJhHkUzhaj7rOUD7+YGWqUjLp5oSA==",
"engines": {
"node": ">=4.x"
}
},
"node_modules/has": { "node_modules/has": {
"version": "1.0.3", "version": "1.0.3",
"resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz",
@@ -997,11 +1002,6 @@
"resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz",
"integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=" "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE="
}, },
"node_modules/isexe": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz",
"integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA="
},
"node_modules/js-yaml": { "node_modules/js-yaml": {
"version": "4.1.0", "version": "4.1.0",
"resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz",
@@ -1142,47 +1142,64 @@
} }
}, },
"node_modules/mocha": { "node_modules/mocha": {
"version": "9.2.1", "version": "10.0.0",
"resolved": "https://registry.npmjs.org/mocha/-/mocha-9.2.1.tgz", "resolved": "https://registry.npmjs.org/mocha/-/mocha-10.0.0.tgz",
"integrity": "sha512-T7uscqjJVS46Pq1XDXyo9Uvey9gd3huT/DD9cYBb4K2Xc/vbKRPUWK067bxDQRK0yIz6Jxk73IrnimvASzBNAQ==", "integrity": "sha512-0Wl+elVUD43Y0BqPZBzZt8Tnkw9CMUdNYnUsTfOM1vuhJVZL+kiesFYsqwBkEEuEixaiPe5ZQdqDgX2jddhmoA==",
"dependencies": { "dependencies": {
"@ungap/promise-all-settled": "1.1.2", "@ungap/promise-all-settled": "1.1.2",
"ansi-colors": "4.1.1", "ansi-colors": "4.1.1",
"browser-stdout": "1.3.1", "browser-stdout": "1.3.1",
"chokidar": "3.5.3", "chokidar": "3.5.3",
"debug": "4.3.3", "debug": "4.3.4",
"diff": "5.0.0", "diff": "5.0.0",
"escape-string-regexp": "4.0.0", "escape-string-regexp": "4.0.0",
"find-up": "5.0.0", "find-up": "5.0.0",
"glob": "7.2.0", "glob": "7.2.0",
"growl": "1.10.5",
"he": "1.2.0", "he": "1.2.0",
"js-yaml": "4.1.0", "js-yaml": "4.1.0",
"log-symbols": "4.1.0", "log-symbols": "4.1.0",
"minimatch": "3.0.4", "minimatch": "5.0.1",
"ms": "2.1.3", "ms": "2.1.3",
"nanoid": "3.2.0", "nanoid": "3.3.3",
"serialize-javascript": "6.0.0", "serialize-javascript": "6.0.0",
"strip-json-comments": "3.1.1", "strip-json-comments": "3.1.1",
"supports-color": "8.1.1", "supports-color": "8.1.1",
"which": "2.0.2", "workerpool": "6.2.1",
"workerpool": "6.2.0",
"yargs": "16.2.0", "yargs": "16.2.0",
"yargs-parser": "20.2.4", "yargs-parser": "20.2.4",
"yargs-unparser": "2.0.0" "yargs-unparser": "2.0.0"
}, },
"bin": { "bin": {
"_mocha": "bin/_mocha", "_mocha": "bin/_mocha",
"mocha": "bin/mocha" "mocha": "bin/mocha.js"
}, },
"engines": { "engines": {
"node": ">= 12.0.0" "node": ">= 14.0.0"
}, },
"funding": { "funding": {
"type": "opencollective", "type": "opencollective",
"url": "https://opencollective.com/mochajs" "url": "https://opencollective.com/mochajs"
} }
}, },
"node_modules/mocha/node_modules/brace-expansion": {
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz",
"integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==",
"dependencies": {
"balanced-match": "^1.0.0"
}
},
"node_modules/mocha/node_modules/minimatch": {
"version": "5.0.1",
"resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.0.1.tgz",
"integrity": "sha512-nLDxIFRyhDblz3qMuq+SoRZED4+miJ/G+tdDrjkkkRnjAsBexeGpgjLEQ0blJy7rHhR2b93rhQY4SvyWu9v03g==",
"dependencies": {
"brace-expansion": "^2.0.1"
},
"engines": {
"node": ">=10"
}
},
"node_modules/mocha/node_modules/ms": { "node_modules/mocha/node_modules/ms": {
"version": "2.1.3", "version": "2.1.3",
"resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz",
@@ -1194,9 +1211,9 @@
"integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w=="
}, },
"node_modules/nanoid": { "node_modules/nanoid": {
"version": "3.2.0", "version": "3.3.3",
"resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.2.0.tgz", "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.3.tgz",
"integrity": "sha512-fmsZYa9lpn69Ad5eDn7FMcnnSR+8R34W9qJEijxYhTbfOWzr22n1QxCMzXLK+ODyW2973V3Fux959iQoUxzUIA==", "integrity": "sha512-p1sjXuopFs0xg+fPASzQ28agW1oHD7xDsd9Xkf3T15H3c/cifrFHVwrh74PdoklAPi+i7MdRsE47vm2r6JoB+w==",
"bin": { "bin": {
"nanoid": "bin/nanoid.cjs" "nanoid": "bin/nanoid.cjs"
}, },
@@ -1459,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.1", "version": "4.2.0",
"resolved": "https://registry.npmjs.org/selenium-webdriver/-/selenium-webdriver-4.1.1.tgz", "resolved": "https://registry.npmjs.org/selenium-webdriver/-/selenium-webdriver-4.2.0.tgz",
"integrity": "sha512-Fr9e9LC6zvD6/j7NO8M1M/NVxFX67abHcxDJoP5w2KN/Xb1SyYLjMVPGgD14U2TOiKe4XKHf42OmFw9g2JgCBQ==", "integrity": "sha512-gPPXYSz4jJBM2kANRQ9cZW6KFBzR/ptxqGLtyC75eXtdgOsWWRRRyZz5F2pqdnwNmAjrCSFMMXfisJaZeWVejg==",
"dependencies": { "dependencies": {
"jszip": "^3.6.0", "jszip": "^3.6.0",
"tmp": "^0.2.1", "tmp": "^0.2.1",
@@ -1472,9 +1489,9 @@
} }
}, },
"node_modules/semver": { "node_modules/semver": {
"version": "7.3.5", "version": "7.3.7",
"resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz", "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.7.tgz",
"integrity": "sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==", "integrity": "sha512-QlYTucUYOews+WeEujDoEGziz4K6c47V/Bd+LjSSYcA94p+DmINdf7ncaUinThfvZyu13lN9OY1XDxt8C0Tw0g==",
"dependencies": { "dependencies": {
"lru-cache": "^6.0.0" "lru-cache": "^6.0.0"
}, },
@@ -1542,21 +1559,21 @@
} }
}, },
"node_modules/superagent": { "node_modules/superagent": {
"version": "7.1.1", "version": "7.1.6",
"resolved": "https://registry.npmjs.org/superagent/-/superagent-7.1.1.tgz", "resolved": "https://registry.npmjs.org/superagent/-/superagent-7.1.6.tgz",
"integrity": "sha512-CQ2weSS6M+doIwwYFoMatklhRbx6sVNdB99OEJ5czcP3cng76Ljqus694knFWgOj3RkrtxZqIgpe6vhe0J7QWQ==", "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",
"debug": "^4.3.3", "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": "^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.1", "qs": "^6.10.3",
"readable-stream": "^3.6.0", "readable-stream": "^3.6.0",
"semver": "^7.3.5" "semver": "^7.3.7"
}, },
"engines": { "engines": {
"node": ">=6.4.0 <13 || >=14" "node": ">=6.4.0 <13 || >=14"
@@ -1641,24 +1658,10 @@
"resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz",
"integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=" "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8="
}, },
"node_modules/which": {
"version": "2.0.2",
"resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz",
"integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==",
"dependencies": {
"isexe": "^2.0.0"
},
"bin": {
"node-which": "bin/node-which"
},
"engines": {
"node": ">= 8"
}
},
"node_modules/workerpool": { "node_modules/workerpool": {
"version": "6.2.0", "version": "6.2.1",
"resolved": "https://registry.npmjs.org/workerpool/-/workerpool-6.2.0.tgz", "resolved": "https://registry.npmjs.org/workerpool/-/workerpool-6.2.1.tgz",
"integrity": "sha512-Rsk5qQHJ9eowMH28Jwhe8HEbmdYDX4lwoMWshiCXugjtHqMD9ZbiqSDLxcsfdqsETPzVUtX5s1Z5kStiIM6l4A==" "integrity": "sha512-ILEIE97kDZvF9Wb9f6h5aXK4swSlKGUcOEGiIYb2OOu/IrDU9iwj0fD//SsA6E5ibwJxpEvhullJY4Sl4GcpAw=="
}, },
"node_modules/wrap-ansi": { "node_modules/wrap-ansi": {
"version": "7.0.0", "version": "7.0.0",
@@ -1963,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": {
@@ -2056,12 +2060,12 @@
} }
}, },
"chromedriver": { "chromedriver": {
"version": "99.0.0", "version": "102.0.0",
"resolved": "https://registry.npmjs.org/chromedriver/-/chromedriver-99.0.0.tgz", "resolved": "https://registry.npmjs.org/chromedriver/-/chromedriver-102.0.0.tgz",
"integrity": "sha512-pyB+5LuyZdb7EBPL3i5D5yucZUD+SlkdiUtmpjaEnLd9zAXp+SvD/hP5xF4l/ZmWvUo/1ZLxAI1YBdhazGTpgA==", "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",
@@ -2156,9 +2160,9 @@
"integrity": "sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==" "integrity": "sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ=="
}, },
"debug": { "debug": {
"version": "4.3.3", "version": "4.3.4",
"resolved": "https://registry.npmjs.org/debug/-/debug-4.3.3.tgz", "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz",
"integrity": "sha512-/zxw5+vh1Tfv+4Qn7a5nsbcJKPaSvCDhojn6FEl9vupwK2VCSDtEiEtqr8DFtzYFOdz63LBkxec7DYuc2jon6Q==", "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==",
"requires": { "requires": {
"ms": "2.1.2" "ms": "2.1.2"
} }
@@ -2188,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",
@@ -2310,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",
@@ -2420,11 +2429,6 @@
"resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.8.tgz", "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.8.tgz",
"integrity": "sha512-qkIilPUYcNhJpd33n0GBXTB1MMPp14TxEsEs0pTrsSVucApsYzW5V+Q8Qxhik6KU3evy+qkAAowTByymK0avdg==" "integrity": "sha512-qkIilPUYcNhJpd33n0GBXTB1MMPp14TxEsEs0pTrsSVucApsYzW5V+Q8Qxhik6KU3evy+qkAAowTByymK0avdg=="
}, },
"growl": {
"version": "1.10.5",
"resolved": "https://registry.npmjs.org/growl/-/growl-1.10.5.tgz",
"integrity": "sha512-qBr4OuELkhPenW6goKVXiv47US3clb3/IbuWF9KNKEijAy9oeHxU9IgzjvJhHkUzhaj7rOUD7+YGWqUjLp5oSA=="
},
"has": { "has": {
"version": "1.0.3", "version": "1.0.3",
"resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz",
@@ -2562,11 +2566,6 @@
"resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz",
"integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=" "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE="
}, },
"isexe": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz",
"integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA="
},
"js-yaml": { "js-yaml": {
"version": "4.1.0", "version": "4.1.0",
"resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz",
@@ -2665,36 +2664,50 @@
} }
}, },
"mocha": { "mocha": {
"version": "9.2.1", "version": "10.0.0",
"resolved": "https://registry.npmjs.org/mocha/-/mocha-9.2.1.tgz", "resolved": "https://registry.npmjs.org/mocha/-/mocha-10.0.0.tgz",
"integrity": "sha512-T7uscqjJVS46Pq1XDXyo9Uvey9gd3huT/DD9cYBb4K2Xc/vbKRPUWK067bxDQRK0yIz6Jxk73IrnimvASzBNAQ==", "integrity": "sha512-0Wl+elVUD43Y0BqPZBzZt8Tnkw9CMUdNYnUsTfOM1vuhJVZL+kiesFYsqwBkEEuEixaiPe5ZQdqDgX2jddhmoA==",
"requires": { "requires": {
"@ungap/promise-all-settled": "1.1.2", "@ungap/promise-all-settled": "1.1.2",
"ansi-colors": "4.1.1", "ansi-colors": "4.1.1",
"browser-stdout": "1.3.1", "browser-stdout": "1.3.1",
"chokidar": "3.5.3", "chokidar": "3.5.3",
"debug": "4.3.3", "debug": "4.3.4",
"diff": "5.0.0", "diff": "5.0.0",
"escape-string-regexp": "4.0.0", "escape-string-regexp": "4.0.0",
"find-up": "5.0.0", "find-up": "5.0.0",
"glob": "7.2.0", "glob": "7.2.0",
"growl": "1.10.5",
"he": "1.2.0", "he": "1.2.0",
"js-yaml": "4.1.0", "js-yaml": "4.1.0",
"log-symbols": "4.1.0", "log-symbols": "4.1.0",
"minimatch": "3.0.4", "minimatch": "5.0.1",
"ms": "2.1.3", "ms": "2.1.3",
"nanoid": "3.2.0", "nanoid": "3.3.3",
"serialize-javascript": "6.0.0", "serialize-javascript": "6.0.0",
"strip-json-comments": "3.1.1", "strip-json-comments": "3.1.1",
"supports-color": "8.1.1", "supports-color": "8.1.1",
"which": "2.0.2", "workerpool": "6.2.1",
"workerpool": "6.2.0",
"yargs": "16.2.0", "yargs": "16.2.0",
"yargs-parser": "20.2.4", "yargs-parser": "20.2.4",
"yargs-unparser": "2.0.0" "yargs-unparser": "2.0.0"
}, },
"dependencies": { "dependencies": {
"brace-expansion": {
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz",
"integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==",
"requires": {
"balanced-match": "^1.0.0"
}
},
"minimatch": {
"version": "5.0.1",
"resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.0.1.tgz",
"integrity": "sha512-nLDxIFRyhDblz3qMuq+SoRZED4+miJ/G+tdDrjkkkRnjAsBexeGpgjLEQ0blJy7rHhR2b93rhQY4SvyWu9v03g==",
"requires": {
"brace-expansion": "^2.0.1"
}
},
"ms": { "ms": {
"version": "2.1.3", "version": "2.1.3",
"resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz",
@@ -2708,9 +2721,9 @@
"integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w=="
}, },
"nanoid": { "nanoid": {
"version": "3.2.0", "version": "3.3.3",
"resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.2.0.tgz", "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.3.tgz",
"integrity": "sha512-fmsZYa9lpn69Ad5eDn7FMcnnSR+8R34W9qJEijxYhTbfOWzr22n1QxCMzXLK+ODyW2973V3Fux959iQoUxzUIA==" "integrity": "sha512-p1sjXuopFs0xg+fPASzQ28agW1oHD7xDsd9Xkf3T15H3c/cifrFHVwrh74PdoklAPi+i7MdRsE47vm2r6JoB+w=="
}, },
"normalize-path": { "normalize-path": {
"version": "3.0.0", "version": "3.0.0",
@@ -2878,9 +2891,9 @@
"integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g=="
}, },
"selenium-webdriver": { "selenium-webdriver": {
"version": "4.1.1", "version": "4.2.0",
"resolved": "https://registry.npmjs.org/selenium-webdriver/-/selenium-webdriver-4.1.1.tgz", "resolved": "https://registry.npmjs.org/selenium-webdriver/-/selenium-webdriver-4.2.0.tgz",
"integrity": "sha512-Fr9e9LC6zvD6/j7NO8M1M/NVxFX67abHcxDJoP5w2KN/Xb1SyYLjMVPGgD14U2TOiKe4XKHf42OmFw9g2JgCBQ==", "integrity": "sha512-gPPXYSz4jJBM2kANRQ9cZW6KFBzR/ptxqGLtyC75eXtdgOsWWRRRyZz5F2pqdnwNmAjrCSFMMXfisJaZeWVejg==",
"requires": { "requires": {
"jszip": "^3.6.0", "jszip": "^3.6.0",
"tmp": "^0.2.1", "tmp": "^0.2.1",
@@ -2888,9 +2901,9 @@
} }
}, },
"semver": { "semver": {
"version": "7.3.5", "version": "7.3.7",
"resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz", "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.7.tgz",
"integrity": "sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==", "integrity": "sha512-QlYTucUYOews+WeEujDoEGziz4K6c47V/Bd+LjSSYcA94p+DmINdf7ncaUinThfvZyu13lN9OY1XDxt8C0Tw0g==",
"requires": { "requires": {
"lru-cache": "^6.0.0" "lru-cache": "^6.0.0"
} }
@@ -2937,21 +2950,21 @@
"integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==" "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig=="
}, },
"superagent": { "superagent": {
"version": "7.1.1", "version": "7.1.6",
"resolved": "https://registry.npmjs.org/superagent/-/superagent-7.1.1.tgz", "resolved": "https://registry.npmjs.org/superagent/-/superagent-7.1.6.tgz",
"integrity": "sha512-CQ2weSS6M+doIwwYFoMatklhRbx6sVNdB99OEJ5czcP3cng76Ljqus694knFWgOj3RkrtxZqIgpe6vhe0J7QWQ==", "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",
"debug": "^4.3.3", "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": "^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.1", "qs": "^6.10.3",
"readable-stream": "^3.6.0", "readable-stream": "^3.6.0",
"semver": "^7.3.5" "semver": "^7.3.7"
}, },
"dependencies": { "dependencies": {
"readable-stream": { "readable-stream": {
@@ -3014,18 +3027,10 @@
"resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz",
"integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=" "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8="
}, },
"which": {
"version": "2.0.2",
"resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz",
"integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==",
"requires": {
"isexe": "^2.0.0"
}
},
"workerpool": { "workerpool": {
"version": "6.2.0", "version": "6.2.1",
"resolved": "https://registry.npmjs.org/workerpool/-/workerpool-6.2.0.tgz", "resolved": "https://registry.npmjs.org/workerpool/-/workerpool-6.2.1.tgz",
"integrity": "sha512-Rsk5qQHJ9eowMH28Jwhe8HEbmdYDX4lwoMWshiCXugjtHqMD9ZbiqSDLxcsfdqsETPzVUtX5s1Z5kStiIM6l4A==" "integrity": "sha512-ILEIE97kDZvF9Wb9f6h5aXK4swSlKGUcOEGiIYb2OOu/IrDU9iwj0fD//SsA6E5ibwJxpEvhullJY4Sl4GcpAw=="
}, },
"wrap-ansi": { "wrap-ansi": {
"version": "7.0.0", "version": "7.0.0",

View File

@@ -9,10 +9,11 @@
"author": "", "author": "",
"license": "ISC", "license": "ISC",
"dependencies": { "dependencies": {
"chromedriver": "^99.0.0", "chromedriver": "^102.0.0",
"delay": "^5.0.0",
"expect.js": "^0.3.1", "expect.js": "^0.3.1",
"mocha": "^9.2.1", "mocha": "^10.0.0",
"selenium-webdriver": "^4.1.1", "selenium-webdriver": "^4.2.0",
"superagent": "^7.1.1" "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' };
@@ -54,12 +55,13 @@ describe('Application life cycle test', function () {
await browser.findElement(By.id('accessKey')).sendKeys(accessKey); await browser.findElement(By.id('accessKey')).sendKeys(accessKey);
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('//h4[contains(text(), "Buckets")]')); await waitForElement(By.xpath('//span[contains(text(), "Buckets")]'));
await delay(5000);
} }
async function logout() { async function logout() {
await browser.get(`https://${app.fqdn}/`); await browser.get(`https://${app.fqdn}/`);
await waitForElement(By.xpath('//h4[contains(text(), "Buckets")]')); await waitForElement(By.xpath('//span[contains(text(), "Buckets")]'));
await browser.findElement(By.xpath('//div/span[contains(text(), "Logout")]')).click(); await browser.findElement(By.xpath('//div/span[contains(text(), "Logout")]')).click();
await waitForElement(By.id('accessKey')); await waitForElement(By.id('accessKey'));
} }
@@ -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);