From 84d3e8f52fcec483ae2f2cc337dcd5c15c7ac0bb Mon Sep 17 00:00:00 2001 From: Juergen Kunz Date: Tue, 28 Apr 2026 08:54:29 +0000 Subject: [PATCH] fix(test): use dynamic Cloudly test port --- package.json | 3 +- pnpm-lock.yaml | 237 +++++++++++---------------------- test/helpers/cloudlyfactory.ts | 24 +++- 3 files changed, 101 insertions(+), 163 deletions(-) diff --git a/package.json b/package.json index 12b6264..1479393 100644 --- a/package.json +++ b/package.json @@ -27,6 +27,7 @@ "@git.zone/tspublish": "^1.10.3", "@git.zone/tstest": "^2.3.8", "@git.zone/tswatch": "^2.2.1", + "@push.rocks/smartnetwork": "^4.4.0", "@types/node": "^22.0.0" }, "dependencies": { @@ -57,7 +58,7 @@ "@push.rocks/smartfile": "^11.2.7", "@push.rocks/smartguard": "^3.1.0", "@push.rocks/smartjson": "^5.2.0", - "@push.rocks/smartjwt": "^2.2.1", + "@push.rocks/smartjwt": "^2.2.2", "@push.rocks/smartlog": "^3.1.9", "@push.rocks/smartlog-destination-clickhouse": "^1.0.13", "@push.rocks/smartlog-interfaces": "^3.0.2", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 05fc35c..4a06eba 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -90,8 +90,8 @@ importers: specifier: ^5.2.0 version: 5.2.0 '@push.rocks/smartjwt': - specifier: ^2.2.1 - version: 2.2.1 + specifier: ^2.2.2 + version: 2.2.2 '@push.rocks/smartlog': specifier: ^3.1.9 version: 3.1.9 @@ -162,6 +162,9 @@ importers: '@git.zone/tswatch': specifier: ^2.2.1 version: 2.2.1 + '@push.rocks/smartnetwork': + specifier: ^4.4.0 + version: 4.4.0 '@types/node': specifier: ^22.0.0 version: 22.17.2 @@ -1474,6 +1477,9 @@ packages: '@push.rocks/smartenv@5.0.13': resolution: {integrity: sha512-ACXmUcHZHl2CF2jnVuRw9saRRrZvJblCRs2d+K5aLR1DfkYFX3eA21kcMlKeLisI3aGNbIj9vz/rowN5qkRkfA==} + '@push.rocks/smartenv@6.0.0': + resolution: {integrity: sha512-ktW5MqOFs0492sB4vrvl4lgRFQ/sQ4AyREgB+sCIzGqszHWGVvGXR95Y2a3z66jkLPYML2CUWHzmMlfv8fkG+A==} + '@push.rocks/smarterror@2.0.1': resolution: {integrity: sha512-iCcH1D8tlDJgMFsaJ6lhdOTKhbU0KoprNv9MRP9o7691QOx4JEDXiHtr/lNtxVo8BUtdb9CF6kazaknO9KuORA==} @@ -1522,8 +1528,11 @@ packages: '@push.rocks/smartjson@5.2.0': resolution: {integrity: sha512-710e8UwovRfPgUtaBHcd6unaODUjV5fjxtGcGCqtaTcmvOV6VpasdVfT66xMDzQmWH2E9ZfHDJeso9HdDQzNQA==} - '@push.rocks/smartjwt@2.2.1': - resolution: {integrity: sha512-Xwau9o8u7kLfSGi5v+kiyGB/hiDPclZjVEuj69J0LszO9nOh4OexYizKIOgOzKQMqnYQ03Dy35KqP9pdEjccbQ==} + '@push.rocks/smartjson@6.0.0': + resolution: {integrity: sha512-FYfJnmukt66WePn6xrVZ3BLmRQl9W82LcsICK3VU9sGW7kasig090jKXPm+yX8ibQcZAO/KyR/Q8tMIYZNxGew==} + + '@push.rocks/smartjwt@2.2.2': + resolution: {integrity: sha512-Ieb7bgC6VxiEOux7FFMvapQScKFzcilhMsS30FJSHG//FJ6ySqALBGcg4OQiDts2jGJlLFrG+rD7yfDtjSJ4+w==} '@push.rocks/smartlog-destination-clickhouse@1.0.13': resolution: {integrity: sha512-jeMJD3k2EyX3EiwjXp3JkYmUviPB9wR0ZS5yTvlD0r1iuP72Wg2iVpWoih7SAcyL9PF6PNapGLjWSwTpay5lfg==} @@ -1558,9 +1567,6 @@ packages: '@push.rocks/smartmongo@2.0.12': resolution: {integrity: sha512-NglYiO14BikxnlvW6JF18FtopBtaWQEGAtPxHmmSCbyhU8Mi0aEFO7VgCasE9Kguba/wcR597qhcDEdcpBg1eQ==} - '@push.rocks/smartnetwork@4.1.2': - resolution: {integrity: sha512-TjucG72ooHgzAUpNu2LAv4iFoettmZq2aEWhhzIa7AKcOvt4yxsk3Vl73guhKRohTfhdRauPcH5OHISLUHJbYA==} - '@push.rocks/smartnetwork@4.4.0': resolution: {integrity: sha512-OvFtz41cvQ7lcXwaIOhghNUUlNoMxvwKDctbDvMyuZyEH08SpLjhyv2FuKbKL/mgwA/WxakTbohoC8SW7t+kiw==} @@ -2494,6 +2500,9 @@ packages: '@tsclass/tsclass@9.2.0': resolution: {integrity: sha512-A6ULEkQfYgOnCKQVQRt26O7PRzFo4PE2EoD25RAtnuFuVrNwGynYC20Vee2c8KAOyI7nQ/LaREki9KAX4AHOHQ==} + '@tsclass/tsclass@9.5.0': + resolution: {integrity: sha512-HwMVwkrBnEFMjwOsMkGwWN/q+XEczSpf4a/PBAXgkDdV6sXdxAMFXUH1tW8Y5ecuvXFYMvFry4X57MCCT7Dm8A==} + '@tybys/wasm-util@0.10.0': resolution: {integrity: sha512-VyyPYFlOMNylG45GoAe0xDoLwWuowvf92F9kySqzYh8vmYm7D2u4iUJKa1tOUpS70Ku13ASrOkS4ScXFsTaCNQ==} @@ -2521,9 +2530,6 @@ packages: '@types/debug@4.1.12': resolution: {integrity: sha512-vIChWdVG3LG1SMxEvI/AK+FWJthlrqlTu7fbrlywTkkaONwk/UAGaULXRlf8vkzFBLVm0zkMdCquhL5aOjhXPQ==} - '@types/default-gateway@7.2.2': - resolution: {integrity: sha512-35C93fYQlnLKLASkMPoxRvok4fENwB3By9clRLd2I/08n/XRl0pCdf7EB17K5oMMwZu8NBYA8i66jH5r/LYBKA==} - '@types/diff@8.0.0': resolution: {integrity: sha512-o7jqJM04gfaYrdCecCVMbZhNdG6T1MHg/oQoRFdERLV+4d+V7FijhiEAbFu0Usww84Yijk9yH58U4Jk4HbtzZw==} deprecated: This is a stub types definition. diff provides its own type definitions, so you do not need this installed. @@ -2580,8 +2586,8 @@ packages: '@types/jsonfile@6.1.4': resolution: {integrity: sha512-D5qGUYwjvnNNextdU59/+fI+spnwtTFmyQP0h+PfIOSkNfpU6AOICUOkm4i0OnSk+NyjdPJrxCDro0sJsWlRpQ==} - '@types/jsonwebtoken@9.0.7': - resolution: {integrity: sha512-ugo316mmTYBl2g81zDFnZ7cfxlut3o+/EQdaP7J8QN2kY6lJ22hmQYCK5EHcJHbrW+dkCGSCPgbG8JtYj6qSrg==} + '@types/jsonwebtoken@9.0.10': + resolution: {integrity: sha512-asx5hIG9Qmf/1oStypjanR7iKTv0gXQ1Ov/jfrX6kS/EO0OFni8orbmGCn0672NHR3kXHwpAwR+B368ZGN/2rA==} '@types/linkify-it@5.0.0': resolution: {integrity: sha512-sVDA58zAw4eWAffKOaQH5/5j3XeayukzDk+ewSsnv3p4yJEZHCCzMDiZM8e0OUrRvmpGZ85jf4yDHkHsgBNr9Q==} @@ -2912,7 +2918,7 @@ packages: resolution: {integrity: sha1-DTM+PwDqxQqhRUq9MO+MKl2ackI=} buffer-equal-constant-time@1.0.1: - resolution: {integrity: sha1-+OcRMvf/5uAaXJaXpMbz5I1cyBk=} + resolution: {integrity: sha512-zRpUiDwd/xk6ADqPMATG8vc9VPrkck7T07OIx0gnjmJAnHnTVXNQG3vfvWNuiZIkwu9KrKdA1iJKfsfTVxE6NA==} buffer-json@2.0.0: resolution: {integrity: sha512-+jjPFVqyfF1esi9fvfUs3NqM0pH1ziZ36VP4hmA/y/Ssfo/5w5xHKfTw9BwQjoJ1w/oVtpLomqwUHKdefGyuHw==} @@ -3017,10 +3023,6 @@ packages: resolution: {integrity: sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==} engines: {node: '>=12'} - clone-regexp@3.0.0: - resolution: {integrity: sha512-ujdnoq2Kxb8s3ItNBtnYeXdm07FcU0u8ARAT1lQ2YdMwQC+cdiXX8KoqMVuglztILivceTtp4ivqGSmEmhBUJw==} - engines: {node: '>=12'} - cloudflare@4.5.0: resolution: {integrity: sha512-fPcbPKx4zF45jBvQ0z7PCdgejVAPBBCZxwqk1k7krQNfpM07Cfj97/Q6wBzvYqlWXx/zt1S9+m8vnfCe06umbQ==} @@ -3089,10 +3091,6 @@ packages: resolution: {integrity: sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA==} engines: {node: '>= 0.6'} - convert-hrtime@5.0.0: - resolution: {integrity: sha512-lOETlkIeYSJWcbbcvjRKGxVMXJR+8+OQb/mTPbA4ObPMytYIsUbuOE0Jzy60hjARYszq1id0j8KgVhC+WGZVTg==} - engines: {node: '>=12'} - cookie-signature@1.2.2: resolution: {integrity: sha512-D76uU73ulSXrD1UXF4KE2TMxVVwhsnCgfAyTg9k8P6KGZjlXKrOLe4dJQKI3Bxi5wjesZoFXJWElNWBjPZMbhg==} engines: {node: '>=6.6.0'} @@ -3279,10 +3277,6 @@ packages: resolution: {integrity: sha512-l4gcSouhcgIKRvyy99RNVOgxXiicE+2jZoNmaNmZ6JXiGajBOJAesk1OBlJuM5k2c+eudGdLxDqXuPCKIj6kpw==} engines: {node: '>=6'} - dns-socket@4.2.2: - resolution: {integrity: sha512-BDeBd8najI4/lS00HSKpdFia+OvUMytaVjfzR9n5Lq8MlZRSvtbI+uLtx1+XmQFls5wFU9dssccTmQQ6nfpjdg==} - engines: {node: '>=6'} - dunder-proto@1.0.1: resolution: {integrity: sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A==} engines: {node: '>= 0.4'} @@ -3628,10 +3622,6 @@ packages: function-bind@1.1.2: resolution: {integrity: sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==} - function-timeout@0.1.1: - resolution: {integrity: sha512-0NVVC0TaP7dSTvn1yMiy6d6Q8gifzbvQafO46RtLG/kHJUBNd+pVRGOBoK44wNBvtSPUJRfdVvkFdD3p0xvyZg==} - engines: {node: '>=14.16'} - get-caller-file@2.0.5: resolution: {integrity: sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==} engines: {node: 6.* || 8.* || >= 10.*} @@ -3693,10 +3683,6 @@ packages: resolution: {integrity: sha512-mThBblvlAF1d4O5oqyvN+ZxLAYwIJK7bpMxgYqPD9okW0C3qm5FFn7k811QrcuEBwaogR3ngOFoCfs6mRv7teQ==} engines: {node: '>=14.16'} - got@13.0.0: - resolution: {integrity: sha512-XfBk1CxOOScDcMr9O1yKkNaQyy865NbYs+F7dr4H0LZMVgCj2Le59k6PqbNHoL5ToeaEQUYh6c6yMfVcc6SJxA==} - engines: {node: '>=16'} - gpt-tokenizer@3.0.1: resolution: {integrity: sha512-5jdaspBq/w4sWw322SvQj1Fku+CN4OAfYZeeEg8U7CWtxBz+zkxZ3h0YOHD43ee+nZYZ5Ud70HRN0ANcdIj4qg==} @@ -3851,10 +3837,6 @@ packages: resolution: {integrity: sha512-zHtQzGojZXTwZTHQqra+ETKd4Sn3vgi7uBmlPoXVWZqYvuKmtI0l/VZTjqGmJY9x88GGOaZ9+G9ES8hC4T4X8g==} engines: {node: '>= 12'} - ip-regex@5.0.0: - resolution: {integrity: sha512-fOCG6lhoKKakwv+C6KdsOnGvgXnmgfmp0myi3bcNwj3qfwPAxRKWEuFhvEFF7ceYIz6+1jRZ+yguLFAmUNPEfw==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} - ipaddr.js@1.9.1: resolution: {integrity: sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==} engines: {node: '>= 0.10'} @@ -3882,10 +3864,6 @@ packages: resolution: {integrity: sha512-nPUB5km40q9e8UfN/Zc24eLlzdSf9OfKByBw9CIdw4H1giPMeA0OIJvbchsCu4npfI2QcMVBsGEBHKZ7wLTWmQ==} engines: {node: '>= 0.4'} - is-ip@5.0.1: - resolution: {integrity: sha512-FCsGHdlrOnZQcp0+XT5a+pYowf33itBalCl+7ovNXC/7o5BhIpG14M3OrpPPdBSIQJCm+0M5+9mO7S9VVTTCFw==} - engines: {node: '>=14.16'} - is-nan@1.3.2: resolution: {integrity: sha512-E+zBKpQ2t6MEo1VsonYmluk9NxGrbzpeeLC2xIViuO2EjU2xsXsBPwTr3Ykv9l08UYEVEdWeRZNouaZqF6RN0w==} engines: {node: '>= 0.4'} @@ -3909,10 +3887,6 @@ packages: resolution: {integrity: sha512-MjYsKHO5O7mCsmRGxWcLWheFqN9DJ/2TmngvjKXihe6efViPqc274+Fx/4fYj/r03+ESvBdTXK0V6tA3rgez1g==} engines: {node: '>= 0.4'} - is-regexp@3.1.0: - resolution: {integrity: sha512-rbku49cWloU5bSMI+zaRaXdQHXnthP6DZ/vLnfdSKyL4zUzuWnomtOEiZZOd+ioQ+avFo/qau3KPTc7Fjy1uPA==} - engines: {node: '>=12'} - is-stream@2.0.1: resolution: {integrity: sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==} engines: {node: '>=8'} @@ -4004,15 +3978,15 @@ packages: jsonfile@6.2.0: resolution: {integrity: sha512-FGuPw30AdOIUTRMC2OMRtQV+jkVj2cfPqSeWXv1NEAJ1qZ5zb1X6z1mFhbfOB/iy3ssJCD+3KuZ8r8C3uVFlAg==} - jsonwebtoken@9.0.2: - resolution: {integrity: sha512-PRp66vJ865SSqOlgqS8hujT5U4AOgMfhrwYIuIhfKaoSCZcirrmASQr8CX7cUg+RMih+hgznrjp99o+W4pJLHQ==} + jsonwebtoken@9.0.3: + resolution: {integrity: sha512-MT/xP0CrubFRNLNKvxJ2BYfy53Zkm++5bX9dtuPbqAeQpTVe0MQTFhao8+Cp//EmJp244xt6Drw/GVEGCUj40g==} engines: {node: '>=12', npm: '>=6'} - jwa@1.4.1: - resolution: {integrity: sha512-qiLX/xhEEFKUAJ6FiBMbes3w9ATzyk5W7Hvzpa/SLYdxNtng+gcurvrI7TbACjIXlsJyr05/S1oUhZrc63evQA==} + jwa@2.0.1: + resolution: {integrity: sha512-hRF04fqJIP8Abbkq5NKGN0Bbr3JxlQ+qhZufXVr0DvujKy93ZCbXZMHDL4EOtodSbCWxOqR8MS1tXA5hwqCXDg==} - jws@3.2.2: - resolution: {integrity: sha512-YHlZCB6lMTllWDtSPHz/ZXTsi8S00usEV6v1tjq8tOUZzw7DpSDWVXjXDre6ed1w/pd495ODpHZYSdkRTsa0HA==} + jws@4.0.1: + resolution: {integrity: sha512-EKI/M/yqPncGUUh44xz0PxSidXFr/+r0pA70+gIYhjv+et7yxM+s29Y+VGDkovRofQem0fs7Uvf4+YmAdyRduA==} keygrip@1.1.0: resolution: {integrity: sha512-iYSchDJ+liQ8iwbSI2QqsQOvqv58eJCEanyJPJi+Khyu8smkcKSFUCbPwzFcL7YVtZ6eONjqRX/38caJ7QjRAQ==} @@ -4104,7 +4078,7 @@ packages: resolution: {integrity: sha1-4j8/nE+Pvd6HJSnBBxhXoIblzO8=} lodash.includes@4.3.0: - resolution: {integrity: sha1-YLuYqHy5I8aMoeUTJUgzFISfVT8=} + resolution: {integrity: sha512-W3Bx6mdkRTGtlJISOvVD/lbqjTlPPUDTMnlXZFnVwi9NKJ6tiAk6LVdlhZMm17VZisqhKcgzpO5Wz91PCt5b0w==} lodash.isarguments@3.1.0: resolution: {integrity: sha1-L1c9hcaiQon/AGY7SRwdM4/zRYo=} @@ -4113,25 +4087,25 @@ packages: resolution: {integrity: sha1-eeTriMNqgSKvhvhEqpvNhRtfu1U=} lodash.isboolean@3.0.3: - resolution: {integrity: sha1-bC4XHbKiV82WgC/UOwGyDV9YcPY=} + resolution: {integrity: sha512-Bz5mupy2SVbPHURB98VAcw+aHh4vRV5IPNhILUCsOzRmsTmSQ17jIuqopAentWoehktxGd9e/hbIXq980/1QJg==} lodash.isinteger@4.0.4: - resolution: {integrity: sha1-YZwK89A/iwTDH1iChAt3sRzWg0M=} + resolution: {integrity: sha512-DBwtEWN2caHQ9/imiNeEA5ys1JoRtRfY3d7V9wkqtbycnAmTvRRmbHKDV4a0EYc678/dia0jrte4tjYwVBaZUA==} lodash.isnumber@3.0.3: - resolution: {integrity: sha1-POdoEMWSjQM1IwGsKHMX8RwLH/w=} + resolution: {integrity: sha512-QYqzpfwO3/CWf3XP+Z+tkQsfaLL/EnUlXWVkIk5FUPc4sBdTehEqZONuyRt2P67PXAk+NXmTBcc97zw9t1FQrw==} lodash.isplainobject@4.0.6: - resolution: {integrity: sha1-fFJqUtibRcRcxpC4gWO+BJf1UMs=} + resolution: {integrity: sha512-oSXzaWypCMHkPC3NvBEaPHf0KsA5mvPrOPgQWDsbg8n7orZ290M0BmC/jgRZ4vcJ6DTAhjrsSYgdsW/F+MFOBA==} lodash.isstring@4.0.1: - resolution: {integrity: sha1-1SfftUVuynzJu5XV2ur4i6VKVFE=} + resolution: {integrity: sha512-0wJxfxH1wgO3GrbuP+dTTk7op+6L41QCXbGINEmD+ny/G/eCqGzxyCsh7159S+mgDDcoarnBw6PC1PS5+wUGgw==} lodash.keys@3.1.2: resolution: {integrity: sha1-TbwEcrFWvlCgsoaFXRvQsMZWCYo=} lodash.once@4.1.1: - resolution: {integrity: sha1-DdOXEhPHxW34gJd9UEyI+0cal6w=} + resolution: {integrity: sha512-Sb487aTOCr9drQVL8pIxOzVhafOjZN9UU54hiN8PU3uAiSV7lx1yYNpbNmex2PK6dSJoNTSJUUswT651yww3Mg==} lodash.restparam@3.6.1: resolution: {integrity: sha1-k2pOMJ7zMKdkXtQUWYbIWuWyCAU=} @@ -4886,10 +4860,6 @@ packages: proxy-from-env@1.1.0: resolution: {integrity: sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==} - public-ip@7.0.1: - resolution: {integrity: sha512-DdNcqcIbI0wEeCBcqX+bmZpUCvrDMJHXE553zgyG1MZ8S1a/iCCxmK9iTjjql+SpHSv4cZkmRv5/zGYW93AlCw==} - engines: {node: '>=18'} - pump@3.0.3: resolution: {integrity: sha512-todwxLMY7/heScKmntwQG8CXVkWUOdYxIvY2s0VWAAMh/nd8SoYiRaKjlr7+iCs984f2P8zvrfWcDDYVb73NfA==} @@ -5299,10 +5269,6 @@ packages: resolution: {integrity: sha512-ERPW+XkvX9W2A+ov07iy+ZFJpVdik04GhDA4eVogiG9hpC97Kem2iucyzhFxbFRvQ5o2UckFtKZdp1hkGvnrEw==} engines: {node: '>=16'} - super-regex@0.2.0: - resolution: {integrity: sha512-WZzIx3rC1CvbMDloLsVw0lkZVKJWbrkJ0k1ghKFmcnPrW1+jWbgTkTEWVtD9lMdmI4jZEz40+naBxl1dCUhXXw==} - engines: {node: '>=14.16'} - supports-color@5.5.0: resolution: {integrity: sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==} engines: {node: '>=4'} @@ -5313,18 +5279,16 @@ packages: symbol-tree@3.2.4: resolution: {integrity: sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw==} - systeminformation@5.27.7: - resolution: {integrity: sha512-saaqOoVEEFaux4v0K8Q7caiauRwjXC4XbD2eH60dxHXbpKxQ8kH9Rf7Jh+nryKpOUSEFxtCdBlSUx0/lO6rwRg==} - engines: {node: '>=8.0.0'} - os: [darwin, linux, win32, freebsd, openbsd, netbsd, sunos, android] - hasBin: true - systeminformation@5.27.8: resolution: {integrity: sha512-d3Z0gaQO1MlUxzDUKsmXz5y4TOBCMZ8IyijzaYOykV3AcNOTQ7mT+tpndUOXYNSxzLK3la8G32xiUFvZ0/s6PA==} engines: {node: '>=8.0.0'} os: [darwin, linux, win32, freebsd, openbsd, netbsd, sunos, android] hasBin: true + tagged-tag@1.0.0: + resolution: {integrity: sha512-yEFYrVhod+hdNyx7g5Bnkkb0G6si8HJurOoOEgC8B/O0uXLHlaey/65KRv6cuWBNhBgHKAROVpc7QyYqE5gFng==} + engines: {node: '>=20'} + tar-fs@3.1.0: resolution: {integrity: sha512-5Mty5y/sOF1YWj1J6GiBodjlDc05CUR8PKXrsnFAiSG0xA+GHeWLovaZPYUDXkH/1iKRf2+M5+OrRgzC7O9b7w==} @@ -5346,10 +5310,6 @@ packages: through@2.3.8: resolution: {integrity: sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU=} - time-span@5.1.0: - resolution: {integrity: sha512-75voc/9G4rDIJleOo4jPvN4/YC4GRZrY8yy1uU4lwrB3XEQbWve8zXoO5No4eFrGcTAMYyoY67p8jRQdtA1HbA==} - engines: {node: '>=12'} - tiny-worker@2.3.0: resolution: {integrity: sha512-pJ70wq5EAqTAEl9IkGzA+fN0836rycEuz2Cn6yeZ6FRzlVS5IDOkFHpIoEsksPRQV34GDqXm65+OlnZqUSyK2g==} @@ -5449,6 +5409,10 @@ packages: resolution: {integrity: sha512-TeTSQ6H5YHvpqVwBRcnLDCBnDOHWYu7IvGbHT6N8AOymcr9PJGjc1GTtiWZTYg0NCgYwvnYWEkVChQAr9bjfwA==} engines: {node: '>=16'} + type-fest@5.6.0: + resolution: {integrity: sha512-8ZiHFm91orbSAe2PSAiSVBVko18pbhbiB3U9GglSzF/zCGkR+rxpHx6sEMCUm4kxY4LjDIUGgCfUMtwfZfjfUA==} + engines: {node: '>=20'} + type-is@1.6.18: resolution: {integrity: sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==} engines: {node: '>= 0.6'} @@ -5844,7 +5808,7 @@ snapshots: '@push.rocks/smartfile': 11.2.7 '@push.rocks/smartjson': 5.2.0 '@push.rocks/smartlog': 3.1.9 - '@push.rocks/smartnetwork': 4.1.2 + '@push.rocks/smartnetwork': 4.4.0 '@push.rocks/smartpath': 6.0.0 '@push.rocks/smartpromise': 4.2.3 '@push.rocks/smartrequest': 4.3.1 @@ -7186,8 +7150,10 @@ snapshots: transitivePeerDependencies: - '@nuxt/kit' - '@swc/helpers' + - bufferutil - react - supports-color + - utf-8-validate - vue '@happy-dom/global-registrator@15.11.7': @@ -7971,7 +7937,7 @@ snapshots: '@push.rocks/smartdns': 6.2.2 '@push.rocks/smartfile': 11.2.7 '@push.rocks/smartlog': 3.1.9 - '@push.rocks/smartnetwork': 4.1.2 + '@push.rocks/smartnetwork': 4.4.0 '@push.rocks/smartpromise': 4.2.3 '@push.rocks/smartrequest': 2.1.0 '@push.rocks/smartstring': 4.1.0 @@ -8176,7 +8142,7 @@ snapshots: '@push.rocks/smartenv': 5.0.13 '@push.rocks/smartpromise': 4.2.3 '@push.rocks/smartrequest': 2.1.0 - '@tsclass/tsclass': 9.2.0 + '@tsclass/tsclass': 9.5.0 '@types/dns-packet': 5.6.5 '@types/elliptic': 6.4.18 acme-client: 5.4.0 @@ -8194,6 +8160,10 @@ snapshots: dependencies: '@push.rocks/smartpromise': 4.2.3 + '@push.rocks/smartenv@6.0.0': + dependencies: + '@push.rocks/smartpromise': 4.2.3 + '@push.rocks/smarterror@2.0.1': dependencies: clean-stack: 1.3.0 @@ -8330,14 +8300,21 @@ snapshots: fast-json-stable-stringify: 2.1.0 lodash.clonedeep: 4.5.0 - '@push.rocks/smartjwt@2.2.1': + '@push.rocks/smartjson@6.0.0': + dependencies: + '@push.rocks/smartenv': 6.0.0 + '@push.rocks/smartstring': 4.1.0 + fast-json-stable-stringify: 2.1.0 + lodash.clonedeep: 4.5.0 + + '@push.rocks/smartjwt@2.2.2': dependencies: '@push.rocks/smartcrypto': 2.0.4 '@push.rocks/smartguard': 3.1.0 - '@push.rocks/smartjson': 5.2.0 - '@tsclass/tsclass': 4.4.4 - '@types/jsonwebtoken': 9.0.7 - jsonwebtoken: 9.0.2 + '@push.rocks/smartjson': 6.0.0 + '@tsclass/tsclass': 9.5.0 + '@types/jsonwebtoken': 9.0.10 + jsonwebtoken: 9.0.3 '@push.rocks/smartlog-destination-clickhouse@1.0.13': dependencies: @@ -8425,16 +8402,6 @@ snapshots: - supports-color - vue - '@push.rocks/smartnetwork@4.1.2': - dependencies: - '@push.rocks/smartping': 1.0.8 - '@push.rocks/smartpromise': 4.2.3 - '@push.rocks/smartstring': 4.1.0 - '@types/default-gateway': 7.2.2 - isopen: 1.3.0 - public-ip: 7.0.1 - systeminformation: 5.27.7 - '@push.rocks/smartnetwork@4.4.0': dependencies: '@push.rocks/smartdns': 7.6.1 @@ -8518,7 +8485,7 @@ snapshots: '@push.rocks/smartdelay': 3.0.5 '@push.rocks/smartfile': 11.2.7 '@push.rocks/smartjimp': 1.2.0 - '@push.rocks/smartnetwork': 4.1.2 + '@push.rocks/smartnetwork': 4.4.0 '@push.rocks/smartpath': 6.0.0 '@push.rocks/smartpromise': 4.2.3 '@push.rocks/smartpuppeteer': 2.0.5(typescript@5.9.2) @@ -9893,6 +9860,10 @@ snapshots: dependencies: type-fest: 4.41.0 + '@tsclass/tsclass@9.5.0': + dependencies: + type-fest: 5.6.0 + '@tybys/wasm-util@0.10.0': dependencies: tslib: 2.8.1 @@ -9928,8 +9899,6 @@ snapshots: dependencies: '@types/ms': 2.1.0 - '@types/default-gateway@7.2.2': {} - '@types/diff@8.0.0': dependencies: diff: 8.0.2 @@ -10004,8 +9973,9 @@ snapshots: dependencies: '@types/node': 22.17.2 - '@types/jsonwebtoken@9.0.7': + '@types/jsonwebtoken@9.0.10': dependencies: + '@types/ms': 2.1.0 '@types/node': 22.17.2 '@types/linkify-it@5.0.0': {} @@ -10444,10 +10414,6 @@ snapshots: strip-ansi: 6.0.1 wrap-ansi: 7.0.0 - clone-regexp@3.0.0: - dependencies: - is-regexp: 3.1.0 - cloudflare@4.5.0: dependencies: '@types/node': 18.19.123 @@ -10523,8 +10489,6 @@ snapshots: content-type@1.0.5: {} - convert-hrtime@5.0.0: {} - cookie-signature@1.2.2: {} cookie@0.4.2: {} @@ -10664,10 +10628,6 @@ snapshots: dependencies: '@leichtgewicht/ip-codec': 2.0.5 - dns-socket@4.2.2: - dependencies: - dns-packet: 5.6.1 - dunder-proto@1.0.1: dependencies: call-bind-apply-helpers: 1.0.2 @@ -11093,8 +11053,6 @@ snapshots: function-bind@1.1.2: {} - function-timeout@0.1.1: {} - get-caller-file@2.0.5: {} get-intrinsic@1.2.4: @@ -11198,20 +11156,6 @@ snapshots: p-cancelable: 3.0.0 responselike: 3.0.0 - got@13.0.0: - dependencies: - '@sindresorhus/is': 5.6.0 - '@szmarczak/http-timer': 5.0.1 - cacheable-lookup: 7.0.0 - cacheable-request: 10.2.14 - decompress-response: 6.0.0 - form-data-encoder: 2.1.4 - get-stream: 6.0.1 - http2-wrapper: 2.2.1 - lowercase-keys: 3.0.0 - p-cancelable: 3.0.0 - responselike: 3.0.0 - gpt-tokenizer@3.0.1: {} graceful-fs@4.2.10: {} @@ -11397,8 +11341,6 @@ snapshots: jsbn: 1.1.0 sprintf-js: 1.1.3 - ip-regex@5.0.0: {} - ipaddr.js@1.9.1: {} is-arrayish@0.2.1: {} @@ -11418,11 +11360,6 @@ snapshots: has-tostringtag: 1.0.2 safe-regex-test: 1.1.0 - is-ip@5.0.1: - dependencies: - ip-regex: 5.0.0 - super-regex: 0.2.0 - is-nan@1.3.2: dependencies: call-bind: 1.0.7 @@ -11443,8 +11380,6 @@ snapshots: has-tostringtag: 1.0.2 hasown: 2.0.2 - is-regexp@3.1.0: {} - is-stream@2.0.1: {} is-stream@4.0.1: {} @@ -11563,9 +11498,9 @@ snapshots: optionalDependencies: graceful-fs: 4.2.11 - jsonwebtoken@9.0.2: + jsonwebtoken@9.0.3: dependencies: - jws: 3.2.2 + jws: 4.0.1 lodash.includes: 4.3.0 lodash.isboolean: 3.0.3 lodash.isinteger: 4.0.4 @@ -11574,17 +11509,17 @@ snapshots: lodash.isstring: 4.0.1 lodash.once: 4.1.1 ms: 2.1.3 - semver: 7.6.3 + semver: 7.7.2 - jwa@1.4.1: + jwa@2.0.1: dependencies: buffer-equal-constant-time: 1.0.1 ecdsa-sig-formatter: 1.0.11 safe-buffer: 5.2.1 - jws@3.2.2: + jws@4.0.1: dependencies: - jwa: 1.4.1 + jwa: 2.0.1 safe-buffer: 5.2.1 keygrip@1.1.0: @@ -12621,12 +12556,6 @@ snapshots: proxy-from-env@1.1.0: {} - public-ip@7.0.1: - dependencies: - dns-socket: 4.2.2 - got: 13.0.0 - is-ip: 5.0.1 - pump@3.0.3: dependencies: end-of-stream: 1.4.5 @@ -13199,12 +13128,6 @@ snapshots: '@tokenizer/token': 0.3.0 peek-readable: 5.3.1 - super-regex@0.2.0: - dependencies: - clone-regexp: 3.0.0 - function-timeout: 0.1.1 - time-span: 5.1.0 - supports-color@5.5.0: dependencies: has-flag: 3.0.0 @@ -13213,10 +13136,10 @@ snapshots: symbol-tree@3.2.4: {} - systeminformation@5.27.7: {} - systeminformation@5.27.8: {} + tagged-tag@1.0.0: {} + tar-fs@3.1.0: dependencies: pump: 3.0.3 @@ -13256,10 +13179,6 @@ snapshots: through@2.3.8: {} - time-span@5.1.0: - dependencies: - convert-hrtime: 5.0.0 - tiny-worker@2.3.0: dependencies: esm: 3.2.25 @@ -13345,6 +13264,10 @@ snapshots: type-fest@4.41.0: {} + type-fest@5.6.0: + dependencies: + tagged-tag: 1.0.0 + type-is@1.6.18: dependencies: media-typer: 0.3.0 diff --git a/test/helpers/cloudlyfactory.ts b/test/helpers/cloudlyfactory.ts index 9bb541f..bf1f704 100644 --- a/test/helpers/cloudlyfactory.ts +++ b/test/helpers/cloudlyfactory.ts @@ -1,16 +1,30 @@ import { Qenv } from '@push.rocks/qenv'; +import { SmartNetwork } from '@push.rocks/smartnetwork'; +import { tapNodeTools } from '@git.zone/tstest/tapbundle_node'; + const testQenv = new Qenv('./', './.nogit/'); import * as cloudly from '../../ts/index.js'; const stopFunctions: Array<() => Promise> = []; -const tapToolsNodeMod = await import('@git.zone/tstest/tapbundle_node'); -const smartmongo = await tapToolsNodeMod.tapNodeTools.createSmartmongo(); +const getPublicPort = async () => { + if (process.env.SERVEZONE_TEST_PORT) { + return process.env.SERVEZONE_TEST_PORT; + } + const smartnetwork = new SmartNetwork(); + const publicPort = await smartnetwork.findFreePort(30000, 40000, { randomize: true }); + if (!publicPort) { + throw new Error('Could not find a free Cloudly test port in range 30000-40000'); + } + return String(publicPort); +}; + +const smartmongo = await tapNodeTools.createSmartmongo(); stopFunctions.push(async () => { await smartmongo.stopAndDumpToDir('./.nogit/mongodump'); }); -const smarts3 = await tapToolsNodeMod.tapNodeTools.createSmarts3(); +const smarts3 = await tapNodeTools.createSmarts3(); await smarts3.createBucket('cloudly_test_bucket'); stopFunctions.push(async () => { await smarts3.stop(); @@ -21,7 +35,7 @@ export const testCloudlyConfig: cloudly.ICloudlyConfig = { environment: 'integration', letsEncryptEmail: 'test@serve.zone', publicUrl: '127.0.0.1', - publicPort: '8080', + publicPort: await getPublicPort(), mongoDescriptor: await smartmongo.getMongoDescriptor(), s3Descriptor: await smarts3.getS3Descriptor({ bucketName: 'cloudly_test_bucket' @@ -36,7 +50,7 @@ export const testCloudlyConfig: cloudly.ICloudlyConfig = { })(), }; -await tapToolsNodeMod.tapNodeTools.testFileProvider.getDockerAlpineImageAsLocalTarball(); +await tapNodeTools.testFileProvider.getDockerAlpineImageAsLocalTarball(); export const createCloudly = async () => { const cloudlyInstance = new cloudly.Cloudly(testCloudlyConfig);